IT資格用語解説基本情報技術者試験・データベース言語
参照制約
更新日:
用語解説
参照制約(参照整合性制約、FOREIGN KEY制約)は、参照側表の外部キー値が、被参照側表の主キー又は一意な候補キーに存在することを保証する制約です。参照先のない孤児レコードを防ぎます。
■ 試験で押さえるポイント
外部キーは一列でも複数列でもよく、参照先は一意に行を識別できる列集合でなければなりません。参照側の値の重複は許されるため、1対多関係を表せます。
外部キー列はNOT NULLを別に指定しない限りNULLを許すことがあります。複合外部キーで一部だけNULLの場合の扱いはMATCH指定やDBMSに依存するため、全列必須ならNOT NULLも付けます。
参照先行の削除・キー更新時にはRESTRICT又はNO ACTIONで拒否、CASCADEで参照側へ連鎖、SET NULL又はSET DEFAULTで値を変更する動作を選べます。
外部キーを定義しても参照側列に索引が自動作成されるとは限りません。制約は正しさの保証、索引は主に検索性能の仕組みであり、概念を区別します。
■ 選択肢での判断ポイント
親表の候補キーに存在する値又は許可されたNULLだけを子表の外部キーに認めると判断します。親削除時のCASCADE、RESTRICT、SET NULLの結果を行単位で追います。
例: 社員.部門番号が部門.部門番号を参照する場合、部門表に10がなければ部門番号10の社員は登録できません。ON DELETE SET NULLなら部門10削除時に社員側をNULLへ変更します。