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

FOREIGN KEY制約(フォーリンキー制約)

pointこの用語のポイント

pointデータベースの項目に付ける制約だよ

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

スポンサーリンク

簡単に書くよ

FOREIGN KEY制約(フォーリンキー制約)(読:フォーリンキーセイヤク 英:foreign key constraint)とは

「外部キー制約」のこと。
用語の中身としては

データベースの項目に付ける制限(制約)のひとつ
であり

「この項目には好き勝手な値を入れちゃダメだよ。こっちから選んで入れなさいね」な制約のこと
です。


image piyo

詳しく書くよ

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

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


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

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

FOREIGN KEY制約

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

FOREIGN KEY制約2

とりあえず

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

と覚えてください。

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

FOREIGN KEY制約3

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

FOREIGN KEY制約4

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

FOREIGN KEY制約5

以上を踏まえて

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

が「FOREIGN KEY制約」です。
外部キー制約」と表現されることも あります。

FOREIGN KEY制約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日なし


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

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


と大激怒です。

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

FOREIGN KEY制約は、ちょっと小難しい言い方をすると

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

ときに用意します。

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


image piyo2

一言でまとめるよ

まぁ「FOREIGN KEY制約」って単語が出てきたら「『ここに入れる値は、こっちから選んで入れなさい』な制約なんだな~」と お考えください。

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

おまけ

■訳してみるよ

「foreign(フォーリン)」の意味は「外国の」とか「外国人の」とかです。
「key(キー)」の意味は「鍵」とか「重要な」とかです。
「制約」は日本語ですね。
何となく くっつけると

「外国の鍵」制約

となります。


■検索してみる?




書籍画像
わわわ説明術コラム
宣伝だよ
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本【Audible】
「定年力」の鍛え方 老後の毎日を最高にする方法
体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 脆弱性が生まれる原理と対策の実践