QA Dojo
ハンズオン
進捗 0/47

外部キー(FK)とテーブルの関係

スライド 2 of 4

外部キー(Foreign Key、略 FK)は、別のテーブルの主キーを参照するカラムです。 テーブル同士をつなぐ「リンク」の役割を果たします。

例:orders(注文)テーブルの user_idusers.id を参照する FK:

orders
iduser_id (FK)total
1012980
10251,650
users
id (PK)name
鈴木 花子
佐藤 次郎

FK には 「参照先に存在しない値は入れられない」というルールが付きます。 注文テーブルに user_id=999(存在しないユーザー)を入れようとすると エラーになり、データの矛盾を未然に防ぎます。

📌 JOIN は本コースのスコープ外。SQL で「注文した人の名前を一緒に取りたい」場合、JOIN という構文でテーブルをつなぎますが、本コースでは扱いません。 代わりに「user_id を取って、別途 users から id 指定で取る」スタイルで進めます(第3章)。

📌 QA 視点:「孤児レコード」(参照先が消えたデータ)の発生を FK が防いでくれる。 ただし、FK 制約を外している運用では「ユーザー削除後も残った注文」のような事象が起きるので、設計時にどこに FK が貼られているかを把握しておきましょう。

外部キー(FK)の役割として最も正確なのは?