問題
外部キー制約が保証するものは何か。
選択肢
- 1参照整合性(参照先に存在する値のみ許可)
- 2主キーの一意性
- 3データ暗号化
- 4NULLの排除
正解
1. 参照整合性(参照先に存在する値のみ許可)
詳しい解説を見る解説を閉じる
解説
外部キー(FOREIGN KEY)制約は、ある表の列の値が、参照先の表の主キー(または一意キー)に存在する値しか取れないように制限する仕組みであり、表間の参照整合性を保証する。例えば注文表の顧客番号に外部キーを設定すれば、顧客表に存在しない顧客番号を持つ注文行の挿入や、注文から参照されている顧客行の削除が拒否される。「主キーの一意性」はPRIMARY KEY制約が保証するもので外部キーの役割ではない。「データ暗号化」は制約機能とは無関係である。「NULLの排除」はNOT NULL制約の役割である。基本情報技術者試験では、参照整合性に違反する操作を選ばせる問題や、参照先の行の削除時に連動して削除するON DELETE CASCADEなどの動作を問う問題が頻出である。
一問一答
科目A 180問+科目B 60問