外部キー
Foreign Key/がいぶきー
ひとことで言うと
ある表の列を、別の表の主キーにひもづけて関連づけるための列のことです。
📖 もうちょい詳しく
何が新しいの?
外部キー(がいぶきー)は、新しい技術というより、表(テーブル)でデータを管理するときの「つなぎ役」です。1つの表だけでは持ちきれない情報を、複数の表に分けて持たせ、それらをきちんと結びつけるために使います。
どうやって動いてるの?
外部キーは、ある表の列に「別の表のこの行を指していますよ」という目印をつけるしくみです。指し示す先は、相手の表で1行を一意に決める列、つまり主キー(しゅキー)であることが多いです。データベースは、外部キーに入れた値が相手の表に本当に存在するかをチェックし、ない値が入るのを止めてくれます。
何ができるの?
たとえば「注文」の表に、お客さんを表す番号を外部キーとして持たせれば、「この注文は誰のものか」をたどれます。注文ごとにお客さんの名前や住所をくり返し書かなくてよくなり、情報がばらばらに食いちがう事故も防げます。
🌱 身近なたとえ
図書館の貸出カードで例えると、外部キーは「会員番号の欄」にあたります。貸出カードには本のタイトルと会員番号だけを書き、名前や連絡先は会員名簿のほうにまとめておきます。会員番号をたどれば名簿から本人の情報が引けますし、名簿にない番号は書けないようにしておけば、存在しない会員の貸出記録は生まれません。
✅ まず覚えるポイント
- 外部キーは、ある表の列を別の表にひもづける「つなぎ役」の列です。
- 指し示す先は、相手の表の主キー(1行を一意に決める列)であることが多いです。
- 相手の表に無い値は入れられないよう、データベースがチェックしてくれます。
- 同じ情報を何度も書かずに済み、表どうしの食いちがいを防げます。
- 1つの表が、複数の外部キーを持つこともあります。
🧭 よくある勘違い
外部キーは「外部のサービスにつなぐカギ」のこと?
いいえ、ここでの「外部」は、自分の表から見て「別の表」という意味です。インターネット上の外部サービスやAPIとは関係がありません。あくまで同じデータベースの中で、表と表を結びつけるための列を指します。
主キーと外部キーは同じもの?
役割がちがいます。主キー(しゅキー)は、その表の中で1行を一意に決めるための列です。外部キーは、別の表の主キーを指し示して関連づけるための列です。「指される側」が主キー、「指す側」が外部キーと考えると整理しやすいです。
外部キーを使えば自動でデータが結合される?
自動で1つの表に合体するわけではありません。外部キーは「つながりの目印」を保つもので、実際に複数の表をまとめて見たいときは、結合(JOIN)という操作でつなぎ合わせます。
🧩 関連して覚えると楽な言葉
- 主キー: 表の中で1行を一意に決める列。外部キーが指し示す先になります。
- RDB: 表どうしを関連づけて管理するデータベースの方式。外部キーが活躍する場所です。
- JOIN(結合): 外部キーでつないだ表どうしを、実際に1つの結果にまとめる操作です。
- 正規化: 重複を減らすため情報を複数の表に分ける設計手法。外部キーで分けた表を結びます。
🏁 ひとことでまとめ
外部キーは、自分の表の列を別の表の1行に正しく結びつけ、矛盾したデータが入らないよう見張ってくれる「つなぎ役」の列です。
TERM SEARCH
ほかの用語を調べる
検索ボックスを準備中…