【がいぶきー】
外部キー とは?
最終更新:
💡 テーブルをつなぐ「参照パスポート」
ある列や列の組が、参照先の主キーや一意な列の値に対応するようにする仕組み。外部キー制約を設定すると、存在しない参照先を指す値などをDBMSが拒否し、参照整合性を保つ。同じテーブル内を参照する場合もある。
📌 このページのポイント
外部キーって何のためにあるの?
それって単純に数字を入れるのとどう違うの?
空欄の注文も防げる?
ユーザーを削除したら注文はどうなるの?
じゃあCASCADEにすれば楽じゃない?
親と一緒に消えるべきデータなら便利だけれど、残す必要がある注文履歴まで消してよいとは限らないよ。データの意味と保存の要件に合わせて選ぼう。外部キー制約は参照整合性を守る仕組みで、どのデータを消すべきかまで決めてくれるわけではないんだ。
まとめ:ざっくりこれだけ覚えればOK!
「外部キー」って出てきたら「参照先の行と対応付け、存在しない参照を防ぐためのキー」と思えばだいたいOK!
📖 おまけ:英語の意味
「Foreign Key」 = 外部のキー
💬 Foreignは外部の、Keyはキー。典型的には別のテーブルのキーを参照するけれど、同じテーブル内の別の行を参照する外部キーもあるよ。