平成29年度 秋期 午前 問27
データベース
SQL 文において FOREIGN KEY と REFERENCES を用いて指定する制約はどれか。
- アキー制約
- イ検査制約
- ウ参照制約
- エ表明
答えと解説を見る
✓ これが正解ウ参照制約
解説
外部キーが指す先の実在を守るので、参照制約にあたります。
外部キーは、別の表のキーを指すための列に付ける決めごとです。指した先が実在することを、データベースの側が守ってくれました。存在しない値を入れようとすれば、そこで拒まれます。消すときも、指されている行は残すよう働きました。だから参照制約を挙げた肢が当たり、二つの表を結びます。キー制約を挙げた肢は、重なりを許さない決めごとでした。主キーや候補キーに付けて、行が一つに定まるようにします。検査制約のほうは、値の取れる範囲を縛る決めごとです。年齢が負にならない、といった条件をそこに書きました。表明のほうは、表をまたいだ条件を書くための仕組みです。三つとも、別の表を指す関わりを守る決めごとではありません。一つに定めるのか、範囲を縛るのか、指す先を守るのかで分かれます。外部キーと指されるキーの組が、この制約の芯でした。
ほかの選択肢はなぜ違うのか
- アキー制約:キー制約を挙げています。重なりを許さず、行が一つに定まるようにする決めごとでした。主キーや候補キーに付けて使います。ところが別の表を指してはいません。一つの表の中の話でした。及ぶ範囲が違います。一つの表の中で閉じます。
- イ検査制約:検査制約を挙げています。値の取れる範囲を縛るための決めごとでした。負の年齢を弾く、といった使い方をします。けれども指す先の実在は見ていません。値そのものの話でした。見る相手が違います。値そのものを縛りました。
- エ表明:表明を挙げています。表をまたいで成り立つべき条件を書く仕組みでした。広い範囲を縛れるので、確かに強い決めごとです。ところが指定に使う語が違いました。別の構文で書きます。書き方が別です。書き方が別にあります。
出典:平成29年度 秋期 基本情報技術者試験 午前 問27
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)