「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

外部キー

pointこの用語のポイント

pointデータベースのキーだよ

point「この項目に入れる値は、こっちの項目から選んで入れてね」な制約のある項目だよ

スポンサーリンク

簡単に書くよ

外部キー(読:ガイブキー 英:foreign key)とは

データベースの「この項目には好き勝手な値を入れちゃダメだよ。こっちから選んで入れなさいね」な制約(が付いている項目)のこと
です。


image piyo

詳しく書くよ

順番に見ていきましょう。
まずは予備知識として

データベース
テーブル
キー


について簡単に説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。

データベースは「データを入れておく箱」です。

外部キー

ただし「データベース」という用語は、実際には もう少し複雑な概念です。
データを入れておく箱そのものは「テーブル」と言います。

外部キー2

とりあえず

データベースの話において、実際にデータを入れておく箱がテーブル

と覚えてください。

キーは「データベース(のテーブル)において何かのカギになりそうな項目」です。

外部キー3

データベース(のテーブル)は表形式のイメージで表現されるのが一般的です。

外部キー4

この表において、何か特別な意味を持たされた項目を「キー」や「キー項目」と呼びます。

外部キー5

以上を踏まえて

「この項目に入れる値は、こっちの項目から選んで入れてね」な制約(が付いている項目)

が「外部キー」です。

外部キー6

例えば、そうですね。

ピヨピヨ学校のピヨクラスのクラス名簿は以下のような内容です。

出席番号名前性別
男子1番ピヨ太
男子2番ピヨ次郎
男子3番ピヨ三郎
男子4番ピヨ四郎
男子5番ピヨ五郎


担任の先生は始業式の日に1年分の日直の担当を決めました。
きっちりした先生ですね。
その内容は以下の通りです。

日付日直の出席番号
4月1日男子1番
4月2日男子2番
4月3日男子3番
4月4日男子4番
4月5日男子5番


ここで ちょっと考えてみてください。
先生が「日直の出席番号」に書いた出席番号はクラス名簿の「出席番号」に載っている内容です。

当たり前ですよね。
他のクラスの人や部外者に日直をやらせるわけにはいきません。
「日直の出席番号」に書く内容はクラス名簿の「出席番号」から選んで入れることになります。

さて、日直も決まって、めでたしめでたし……と思っていたら生徒たちからブーイングが出ました。
「日直くらい自分たちで好きに決めさせろー!」と暴動が起こったのです。

仕方がありませんね。
先生は日直の予定を一旦、白紙にしました。

日付日直の出席番号
4月1日
4月2日
4月3日
4月4日
4月5日


そして、生徒たちに好きに決めさせました。
その結果が以下の内容です。

日付日直の出席番号
4月1日男装女子100番
4月2日せんせー
4月3日なし
4月4日クジで決める
4月5日なし


あらら、みなさん好き放題なことを書いていますね。
ここで先生がキレました。

このガキンチョども!
日直の出席番号はクラス名簿の出席番号から選んで書け!!


と大激怒です。

この話において先生が言った「日直の出席番号はクラス名簿の出席番号から選んで書け!!」に相当する制約(が付いている項目)が外部キーです。
「ここの値は、こっちから選んで入れろ」制約(が付いている項目)です。

外部キーは、ちょっと小難しい言い方をすると

依存関係にある2つの表を結びつける

ときに用意します。

別に「絶対に付けないとダメだよ!」な制約でもありませんけどね。
間違い防止と性能面でのうんちゃらがアレで付けることが多かったりします。


image piyo2

一言でまとめるよ

まぁ「外部キー」って単語が出てきたら「『ここに入れる値は、こっちから選んで入れなさい』な制約(が付いている項目)なんだな~」と お考えください。

一番上に戻るよ
スポンサーリンク
書籍画像078
書籍画像058

おまけ

■訳してみるよ

「外部」は日本語ですね。
「key(キー)」の意味は「鍵」とか「重要な」とかです。
何となく くっつけると

外部の鍵

となります。


■検索してみる?




書籍画像
わわわ説明術コラム
宣伝だよ
エンジニア育成現場の「失敗」集めてみた。 42の失敗事例で学ぶマネジメントのうまい進めかた
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本
体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 脆弱性が生まれる原理と対策の実践