令和6年度 秋期 データベーススペシャリスト試験 午前II 問 1
テクノロジデータベース
この問題は2024(R6)秋 データベーススペシャリスト 午前IIに出題されたものです。出題時点の法令・制度に基づく内容のため、現行の内容と一致しない場合があります。
本ページの問題文・選択肢は、原本の体裁を Web 表示用に正規化しています(改行・記号・数式・図表参照の調整)。設問の趣旨および正解に影響する変更は加えていません。
SQL のシーケンスに関する説明のうち,適切なものはどれか。
解答・解説を読む
正解: 選択肢エ
SQLの シーケンス(SEQUENCE) は、連続した数値を自動的に生成するデータベースのオブジェクトです。主に主キーなどの自動採番に利用されます。
シーケンスから値を取得して現在基底値が変更される処理は、通常のトランザクション制御からは独立しています。そのため、値を変更したトランザクションが ロールバック(取消し) されても、シーケンスの値は元に戻りません。これは、複数のトランザクションが並行してシーケンスを利用する際に、値の重複を防ぐための仕様です。
各選択肢の解説
- ア:誤り。
CYCLEオプションを指定することで、最大値(または最小値)に達した後に再び最小値(または最大値)から周期的に繰り返すシーケンスを定義することが 可能 です。 - イ:誤り。
ALTER SEQUENCE文などを利用して、シーケンスの現在基底値を最小値と最大値の間の任意の整数値に変更することが 可能 です。 - ウ:誤り。
INCREMENT BYに負の整数値を指定することで、値が減少していく降順のシーケンスを作成することが 可能 です。 - エ:正しい。トランザクション開始後のシーケンスの値取得に伴う現在基底値の変更は、トランザクションを ロールバック しても取り消すことは できません。