SkillStack
テクノロジ系1 / 25問

データベーススペシャリスト試験 令和6年度 秋期 午前II 問1

SQLのシーケンスに関する説明のうち、適切なものはどれか。

選択肢を押すと答え合わせができます。

正解と解説を見る

【正解】エ

シーケンスは、連番などを生成するためにデータベースが管理するオブジェクトです。シーケンスから次の値を取得すると現在基底値が進みますが、この操作は通常の表の更新とは異なり、トランザクションの成否とは独立して扱われます。例えば、あるトランザクションが値101を取得した後にロールバックしても、シーケンスは101を取得する前の状態には戻りません。そのため、次に取得される値が102となり、欠番が生じることがあります。したがって、エが適切です。

アの「周期的に繰り返すシーケンスを定義できない」は誤りです。これは循環を指定するCYCLEの説明に反します。最小値と最大値を定め、最大値に達した後に最小値へ戻すことで、0、1、2のような値を繰り返せます。

イの「現在基底値を任意の整数値に変更できない」は誤りです。シーケンスの再開始値を指定する機能を使えば、定義された最小値と最大値の範囲内で基底値を変更できます。

ウの「増分を負の整数値にできない」は誤りです。増分には負の値も指定でき、値を順次小さくする降順シーケンスを定義できます。ただし、増分に0は指定できません。

【ポイント】 シーケンスによる採番では、一意な値を効率よく得られますが、番号の連続性までは保証されません。 ロールバック、キャッシュ、同時実行などによって欠番が生じることを押さえてください。 CYCLE、最小値、最大値、増分、再開始値の各指定も併せて整理すると効果的です。

出典:令和6年度 秋期 データベーススペシャリスト試験 午前II 問1
※ 解説は SkillStack 編集部が作成したものです。Web 表示のため、図表の配置や表記を一部改めています。

この回の25問を、アプリで通しで解く

  • 本番と同じ問題数・制限時間で通し演習(模試モード)
  • 間違えた問題は自動で「復習すべき問題」に回る
  • 解説で分からない点はAIに質問できる
SkillStackで無料で始める