FE SUBJECT A
基本情報技術者 科目Aの問題解説:関係データベースでUNIQUE制約の役割はどれか。
問題
関係データベースでUNIQUE制約の役割はどれか。
- ア デフォルト値を設定する
- イ NULL値を許さない
- ウ 値の範囲条件を定める
- エ 指定した列の値の重複を許さない(正解)
出典:オリジナル問題|参考範囲:試験要綱Ver.5.5 / FEシラバスVer.9.2 科目A範囲
正解と解説
正解:指定した列の値の重複を許さない
論点:UNIQUE制約は、指定した列に同じ値が重複して登録されないようにする制約です。例えば、会員番号やメールアドレスのように、同じ値が複数の利用者に割り当てられてはいけない項目に使います。
他の制約との違い:NULLを禁止するのはNOT NULL制約、値の範囲や条件を決めるのはCHECK制約、省略時の値を決めるのはDEFAULT制約です。軽い類題として、「主キーに必要な性質」を聞かれたら、重複しないこととNULLでないことを考えると迷いません。
つまずきポイント:UNIQUE制約は重複を禁じますが、NULLは「値が未定」とみなされるため登録自体は許されます。これが主キーとの違いで、主キーは重複もNULLも許しません(UNIQUE+NOT NULLに相当)。なお、複数のNULLを許すかはDBMSにより扱いが異なります。
他の選択肢はなぜ違う?
- アデフォルト値の設定はDEFAULT制約。
- イNULLを許さないのはNOT NULL制約。
- ウ値の範囲条件を定めるのはCHECK制約。
この問題について
IPAが公開するシラバス・試験範囲・公開問題の出題形式を参考にした独自作成問題。公式問題・過去問題の転載ではありません。
公式試験問題、過去問題、公式サンプル問題、市販教材の問題文を転載したものではありません。