2024年(令和6年) 秋期 データベーススペシャリスト 午前 問1

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

 ア  現在基底値が0→1→2→0→1→2→0→…のように、周期的に繰り返すシーケンスを定義することはできない。
 イ  シーケンスの現在基底値を、最小値と最大値との間の任意の整数値に変更することはできない。
 ウ  シーケンスの増分を、負の整数値にすることはできない。
 エ  トランザクション開始後のシーケンスの値の取得による現在基底値の変更は、トランザクションのロールバックでその変更を取り消すことができない。


答え エ


解説

 ア  現在基底値が0→1→2→0→1→2→0→…のように、周期的に繰り返すシーケンスを定義することができます。(×)
 イ  シーケンスの現在基底値を、最小値と最大値との間の任意の整数値に変更することはできます。(×)
 ウ  シーケンスの増分を、負の整数値にすることもできます。(×)
 エ  トランザクション開始後のシーケンスの値の取得による現在基底値の変更は、トランザクションのロールバックでその変更を取り消すことができません。(〇)


キーワード
・現在基底値

キーワードの解説
  • 現在基底値(current base value)
    シーケンス生成子機能でデータベース中でデータを呼び出すごとに返ってくる一連の整数値です。
    シーケンス生成子を使用すると、ロールバックが発生しても現在基底値は変更されないため、トランザクションの状態とは無関係に、データを一意に識別したり、処理の順序性を確認したりするなどでき、シーケンス生成子には外部シーケンス生成子と内部シーケンス生成子の2種類があります。

もっと、「現在基底値」について調べてみよう。

戻る 一覧へ 次へ