FUNDAMENTAL INFORMATION TECHNOLOGY ENGINEER
基本情報技術者の問題解説:関係データベースにおいて、表の列に設定する制約のうち、値の重…
問題
関係データベースにおいて、表の列に設定する制約のうち、値の重複を許さないものはどれか。
- ア UNIQUE制約(正解)
- イ NOT NULL制約
- ウ CHECK制約
- エ DEFAULT制約
出典:オリジナル問題|参考範囲:試験要綱Ver.5.5 / FEシラバスVer.9.2 科目A範囲
正解と解説
正解:UNIQUE制約
論点:UNIQUE制約は、指定した列または列の組に同じ値が重複して入ることを禁止する制約です。例えば社員番号やメールアドレスのように、同じ値が複数行に現れてはいけない項目に使います。
整理:NOT NULL制約は空値を禁止し、CHECK制約は「年齢は0以上」など条件を満たす値だけを許可し、DEFAULT制約は値が省略されたときの初期値を設定します。主キーは通常、重複不可とNULL不可の両方を満たす点も押さえておきましょう。
主キーとの違い:UNIQUE制約も主キー(PRIMARY KEY)も値の重複を禁止しますが、NULLの扱いが異なります。主キーはNULLを許しませんが、UNIQUE制約はNULLを格納でき、標準SQLでは複数のNULL値を重複とみなさず許容します。また主キーは1つの表に1つだけですが、UNIQUE制約は複数の列に設定できます。
他の選択肢はなぜ違う?
- イNOT NULLは空値を禁止する制約。重複は止めない。
- ウCHECKは『0以上』のような条件を課す制約。
- エDEFAULTは省略時の初期値を決めるだけ。
この問題について
IPAが公開するシラバス・試験範囲・公開問題の出題形式を参考にした独自作成問題。公式問題・過去問題の転載ではありません。
公式試験問題、過去問題、公式サンプル問題、市販教材の問題文を転載したものではありません。