Skip to the content.

DS検定トップ > 外部キー(Foreign Key)とは?テーブルの関係を理解【DS検定】

まず結論

外部キー(Foreign Key)とは、別のテーブルの主キーを参照することでテーブル同士の関係を表す列です。

DS検定では 「データの関係性」と「参照整合性」を理解できるかが問われます。

直感的な説明

データベースでは、多くのデータが互いに関係しています。

例えば、

顧客と注文のデータを考えてみます。

顧客テーブル

顧客ID 名前

1 田中 2 鈴木

注文テーブル

注文ID 顧客ID

100 1 101 2

ここで注文テーブルの「顧客ID」は

どの顧客の注文なのか

を示しています。

このように

別のテーブルのデータを参照する列

外部キー(Foreign Key)

と呼びます。

定義・仕組み

外部キーとは

他のテーブルの主キーを参照することで、テーブル間の関係を表す列

です。

基本構造は次のようになります。

顧客テーブル(主キー)

顧客ID(PK) 名前

注文テーブル(外部キー)

注文ID(PK) 顧客ID(FK)

ここで

顧客テーブルの 顧客ID → 主キー

注文テーブルの 顧客ID → 外部キー

という関係になります。

この仕組みにより

テーブル同士の関係(リレーション)

を管理できます。

参照整合性

外部キーには

参照整合性(Referential Integrity)

というルールがあります。

これは

外部キーの値は、参照先テーブルに存在する値でなければならない

というルールです。

例えば

顧客テーブル

顧客ID

1 2

このとき

注文テーブル

注文ID 顧客ID

200 99

のようなデータは

存在しない顧客の注文

になるため登録できません。

どんな場面で使う?

外部キーは

データ同士の関係を管理するために使います。

代表例

ECサイト

顧客テーブル

顧客ID

注文テーブル

注文ID 顧客ID

商品テーブル

商品ID

注文明細テーブル

注文ID 商品ID

このように

顧客

注文

商品

などのデータを

外部キーでつなぐことで

データの関係を表現します。

これは

リレーショナルデータベースの基本構造です。

よくある誤解・混同

外部キー = 主キーではない

DS検定ではここを混同させます。

用語 役割

主キー レコードを識別 外部キー 他テーブルを参照

つまり

主キー → 自分のテーブルを識別

外部キー → 他のテーブルとの関係

です。

外部キーは重複してよい

これも試験でよく出ます。

注文ID 顧客ID

100 1 101 1

1人の顧客が

複数回注文することは普通なので

外部キーは

重複しても問題ありません。

DS検定の典型的なひっかけ

選択肢で

❌ 「外部キーは重複できない」

と書かれていたら誤りです。

重複できないのは

主キーです。

まとめ(試験直前用)

外部キーは 他テーブルの主キーを参照する列

テーブル間の関係を表す

参照整合性によりデータの整合性を保つ

外部キーは 重複してよい

DS検定では

主キー = 識別

外部キー = 関係

と整理しておくと選択肢を切りやすくなります。

対応スキル項目(データエンジニアリング力シート)

データ管理

データベース

★ データベースの基本概念(テーブル、主キー、外部キーなど)を理解している ★ データの整合性や品質を保つ仕組みを理解している

🔗 関連記事


🏠 DS検定トップに戻る