「主キーと外部キーって何?」
応用情報技術者試験のデータベース分野で超頻出ですが、
- どっちもID?
- 何が違う?
- テーブル同士をどうつなぐ?
で混乱する人がかなり多いテーマです。
この記事では、
- 主キーとは?
- 外部キーとは?
- テーブルの関連付け
- 試験での頻出ポイント
を5分で理解できるように解説します!
まず結論
主キー
「レコードを一意に識別する値」
外部キー
「他テーブルを参照する値」
これが最大の違い!
超簡単にいうと
| 用語 | 役割 |
|---|---|
| 主キー | 自分の表のID |
| 外部キー | 他の表へのリンク |
学校で理解しよう
かなり分かりやすい👇
学生表
| 学生ID | 名前 |
|---|---|
| 1 | 田中 |
| 2 | 鈴木 |
学生IDは?
主キー
理由👇
- 重複しない
- 1人を特定できる
主キーの特徴
超重要!
条件
- 重複不可
- NULL不可
なぜ?
レコード識別できなくなるから。
外部キーとは?
別テーブルを見よう👇
成績表
| 学生ID | 科目 | 点数 |
|---|---|---|
| 1 | DB | 80 |
| 2 | NW | 90 |
ここでの学生ID
外部キー
なぜ?
学生表の:
学生IDを参照
しているから!
イメージ
成績表 → 学生表
リンクしている。
外部キーの役割
テーブル同士を関連付け
する!
リレーションとは?
表同士のつながり
応用情報で超頻出。
なぜ外部キー必要?
例えば:
成績表だけだと👇
| 学生ID | 科目 |
|---|---|
| 1 | DB |
「1って誰?」
分からない。
外部キーで参照!
学生表を見れば:
1 → 田中
と分かる。
主キーと外部キーの関係
| 学生表 | 成績表 |
|---|---|
| 主キー | 外部キー |
図で理解
学生表
学生ID(PK)
↓
成績表
学生ID(FK)
PK/FKとは?
| 略 | 意味 |
|---|---|
| PK | Primary Key(主キー) |
| FK | Foreign Key(外部キー) |
参照整合性
超頻出!
例
成績表に:
学生ID = 999
があったら?
学生表に存在しない!
つまり:
不整合
DBMSは?
存在しない外部キーを防ぐ
これが:
参照整合性制約
応用情報で超頻出
かなり狙われる👇
- 主キー
- 外部キー
- リレーション
- 参照整合性
- PK/FK
よくあるひっかけ
「外部キーは必ず重複不可」
→ 違う!
同じ学生が複数科目を履修できる。
つまり:
外部キーは重複可能
1分で復習!
主キー
レコード識別
外部キー
他表参照
主キー条件
- 重複不可
- NULL不可
外部キー
テーブル接続用
練習問題
問題
外部キーの説明として最も適切なものはどれか。
ア
表内のレコードを一意に識別する値
イ
データ型を定義する値
ウ
他の表の主キーを参照する値
エ
索引を管理する値
解答
正解:ウ
解説
外部キーは他テーブルの主キーを参照し、テーブル同士を関連付けるために使用されます。
まとめ
主キーとは
「レコード識別ID」
外部キーとは
「他表へのリンク」
超重要
- PK/FK
- リレーション
- 参照整合性
まずは、
「主キー=自分のID」
「外部キー=他表への参照」
このイメージで覚えるとかなり理解しやすくなります!
知識に自信ができた方は、今度は自身のキャリアアップに向けて準備してみませんか?

未経験から、ITエンジニアへ。
「IT業界に興味はあるけれど、自分にできるか不安」「何から始めればいいのか分からない」そんな方のために、Tech GO は未経験からのIT転職を専門的にサポートします。求人を紹介するだけではなく、あなたの強みを整理し、応募準備から入社後の成…
まずは無料でキャリア相談

コメント