関係モデル(主キー・外部キー)とは?主キーと外部キーの違い

公開: 更新: カテゴリ: テクノロジ系

30秒で結論

関係モデルとは(全体像)

関係モデルとは、データを「表(行と列)」の形で表す、データベースのモデルのことだ。関係データベース(RDB)の土台になっている。

表は、次の3つで成り立つ。

ここでカギになるのが、キーだ。

クラスの名簿でたとえると分かりやすい。主キーは「出席番号」(一人ひとりを重複なく見分ける)。外部キーは、別の表から「この出席番号の生徒」を指すための参照だ。

ここで一番のポイント。主キーは、各行を一意に見分け、空(NULL)にできない。「主キーは空でもよい」と思い込むと誤りになる。


詳しく:主キーと外部キーの違い

ここが心臓部。キーを表で押さえよう。

関係モデルのキー

キーやさしい意味
主キー各行を一意に見分ける列(NULL不可・1表に1つ)
外部キー他の表の主キーを参照して、表どうしをつなぐ
複合キー複数の列を組み合わせて1つの主キーにする

主キーと外部キーは、役割が違う。ここで一番のポイント。外部キーは、他の表の主キーを参照するものだ。主キーが「自分の表で各行を見分ける」のに対し、外部キーは「他の表とつなぐ」役目。「外部キーと主キーは同じもの」と思い込むと誤りになる。なお、複数の列を組み合わせて1つの主キーにする複合キーもある。

わかりやすく言い換えると

身近なたとえで整理しよう。

関係モデルは、「データを表(行と列)の形で表すモデル」のイメージ。表の集まりでデータを管理する。

主キーは、「出席番号のように、各行を重複なく見分ける列(空にできない)」こと。要するに、行を一意に特定する。

外部キーは、「別の表から、その行を指すための参照。表どうしをつなぐ」こと。つまり、主キーが自分の表用、外部キーが表をつなぐ用、と役割が違う。


試験のツボ

🔴 一番出る:主キー

①各行を一意に見分けるための列

②空(NULL)にできない、1つの表に1つ

🔴 次に出る:外部キー

①他の表の主キーを参照する列

②表どうしをつなぐ役目(主キーとは役割が違う)

🟡 押さえると安定:構成と複合キー

①表(テーブル)・行(レコード)・列(カラム)で構成

②複数の列を組み合わせる複合キーもある


よくある間違い

「主キーは、空(NULL)にしてもよい」→ ✗  主キーは各行を一意に見分けるため、空(NULL)にできない。

「外部キーと主キーは、同じものだ」→ ✗  主キーは自分の表で各行を見分ける列、外部キーは他の表の主キーを参照してつなぐ列。役割が違う。

「関係モデルは、データを表ではなく、文章で表すモデルだ」→ ✗  関係モデルは、データを表(行と列)の形で表すモデル。


試験での出題パターン

実際の問題でたしかめてみよう。

オリジナル問題1(関係モデルの正体)

📝 オリジナル問題 1 関係モデルの正体

関係モデルに関する次の記述のうち、最も適切なものはどれか。

  1. 社員の出退勤を記録して、毎月の給与を計算するためのしくみだ
  2. データを、表(行と列)の形で整理して表すモデルのことである
  3. 取引先へ毎月の請求書を郵送する、決まった事務作業のことを指す
  4. 完成したシステムを宣伝して、より多く売るための広告活動である
エーアイコアラ
エーアイコアラ 解答・解説

解答は 2 です。

関係モデルは、データを、表(行と列)の形で表すモデルなのです。関係データベース(RDB)の土台なります。

選択肢1は給与計算、選択肢3は請求書の事務、選択肢4は広告で、どれも違うのです。

選択肢判定理由
1給与計算のしくみではない
2データを表の形で表すモデルで正しい
3請求書の事務の話
4広告活動ではない

オリジナル問題2(主キー)

📝 オリジナル問題 2 主キー

主キーに関する次の記述のうち、最も適切なものはどれか。

  1. 社員の給与を計算するときだけ、使われるものだとされている
  2. 取引先へ請求書を郵送するときだけ、使われるものだとされる
  3. 主キーは、空(NULL)にしてもよいものだとされているのである
  4. 各行を一意に見分ける列で、空(NULL)にできず1表に1つだ
エーアイコアラ
エーアイコアラ 解答・解説

解答は 4 です。

主キーは、各行を一意に見分ける列で、空(NULL)にできず1表に1つなのです。出席番号のように、重複なく見分けるなります。

選択肢1の給与、選択肢2の請求書、選択肢3の「空にしてもよい」は、いずれも違うのです。

選択肢判定理由
1給与計算のときだけではない
2請求書のときだけではない
3主キーは空(NULL)にできない
4一意に見分け・NULL不可・1表に1つで正しい

オリジナル問題3(外部キー)

📝 オリジナル問題 3 外部キー

外部キーに関する次の記述のうち、最も適切なものはどれか。

  1. 他の表の主キーを参照して、表どうしをつなぐための列である
  2. 社員の給与を計算するときだけ、使われるものだとされている
  3. 取引先へ請求書を郵送するときだけ、使われるものだとされる
  4. 外部キーと主キーは、まったく同じものだとされているのである
エーアイコアラ
エーアイコアラ 解答・解説

解答は 1 です。

外部キーは、他の表の主キーを参照して、表どうしをつなぐ列なのです。主キーとは役割が違うなります。

選択肢2の給与、選択肢3の請求書、選択肢4の「主キーと同じ」は、いずれも違うのです。

選択肢判定理由
1他表の主キーを参照してつなぐで正しい
2給与計算のときだけではない
3請求書のときだけではない
4外部キーと主キーは役割が違う

まとめ

押さえどころ

次に学ぶ


執筆: SikakuQuest編集部

勉強は、クエストになった。

資格の勉強を、冒険に変えるRPG学習アプリ

App Storeで見る