カテゴリ: 基本情報技術者試験 更新日: 2025/10/01

主キーとは?データベースの基本を初心者向けにやさしく解説

主キー
主キー

先生と生徒の会話形式で理解しよう

生徒

「先生、データベースでよく出てくる主キーって何ですか?」

先生

「いい質問ですね。主キーは、テーブルの中で各行を一意に識別するための特別なキーのことです。」

生徒

「一意っていうのは、他と同じじゃないってことですか?」

先生

「その通りです。例えば、学生名簿に『学籍番号』があれば、同じ番号は存在しないので一人一人を区別できます。これが主キーの役割なんです。」

生徒

「なるほど!じゃあ名前を主キーにしてもいいんですか?」

先生

「名前は同じ人がいる可能性がありますよね。だから主キーには向きません。必ず重複しない値を選ぶ必要があるんです。」

1. 主キー(シュキー)とは?

1. 主キー(シュキー)とは?
1. 主キー(シュキー)とは?

主キー(シュキー)は、データベースのテーブルで行を一意に識別するために使われる列のことです。英語では「Primary Key(プライマリーキー)」と呼びます。テーブルには必ず一つだけ主キーを設定することができ、これによってデータの重複や曖昧さを防ぎます。

例えば、社員テーブルに「社員番号」を主キーとして設定すると、同じ番号を持つ社員は存在しないため、確実に特定できます。主キーはデータベースの基礎であり、正しく理解することが重要です。

2. 主キーの特徴

2. 主キーの特徴
2. 主キーの特徴
  • 一意性:主キーの値はすべての行で異なる必要があります。
  • 非NULL:主キーの値は必ず存在し、空(NULL)にできません。
  • テーブルごとに一つだけ設定できる。

このルールがあることで、データの整合性が守られます。例えば、同じ社員番号が二人に割り当てられると、誰が誰なのか分からなくなってしまいます。だからこそ、主キーには厳格な制約が必要なのです。

3. 主キーの具体例

3. 主キーの具体例
3. 主キーの具体例

主キーとしてよく使われるのは、以下のような列です。

  • 学籍番号(学生を一意に識別)
  • 社員番号(社員を一意に識別)
  • 商品コード(商品を一意に識別)

例えば、商品テーブルに「商品コード」が設定されていれば、同じ商品名でも別のコードで区別できるため、誤ったデータ処理を防ぐことができます。

4. 複合主キー(フクゴウシュキー)

4. 複合主キー(フクゴウシュキー)
4. 複合主キー(フクゴウシュキー)

主キーは通常1つの列ですが、複数の列を組み合わせて主キーとすることもできます。これを「複合主キー(フクゴウシュキー)」と呼びます。

例えば、成績テーブルでは「学籍番号」と「科目コード」を組み合わせて主キーにすることで、一人の学生が複数の科目を履修しても、データを正しく管理できます。

5. 主キーと候補キー(コウホキー)の違い

5. 主キーと候補キー(コウホキー)の違い
5. 主キーと候補キー(コウホキー)の違い

テーブルには主キーの候補となる列が複数存在する場合があります。これを「候補キー(コウホキー)」といいます。その中から一つを選んで主キーに指定します。

例えば、社員テーブルに「社員番号」と「メールアドレス」があれば、どちらも一意なので候補キーになります。その中から実際に使いやすい「社員番号」を主キーに選ぶといった形です。

6. 主キーと外部キー(ガイブキー)の関係

6. 主キーと外部キー(ガイブキー)の関係
6. 主キーと外部キー(ガイブキー)の関係

主キーは他のテーブルと結びつくときにも大切な役割を果たします。他のテーブルで参照されると「外部キー(ガイブキー)」になります。外部キーは、参照先の主キーと一致することで、テーブル同士をつなげることができます。

例えば、受注テーブルに「商品コード」を外部キーとして設定すれば、商品テーブルの主キーと結びつき、どの注文がどの商品かを正確に管理できます。

7. 主キーの歴史や雑学

7. 主キーの歴史や雑学
7. 主キーの歴史や雑学

主キーの概念は、リレーショナルデータベース(RDB:アールディービー)の誕生とともに導入されました。1970年代にエドガー・F・コッドという人物が提唱したリレーショナルモデルが基礎となっています。それ以来、世界中のデータベースで共通して使われる考え方となり、今日のシステム開発でも欠かせない存在となっています。

8. 主キーの選び方のポイント

8. 主キーの選び方のポイント
8. 主キーの選び方のポイント

主キーを決めるときは以下のポイントに注意します。

  • 重複しない値を持つ列を選ぶこと
  • 変更されにくい列を選ぶこと
  • できるだけ短くシンプルな列を選ぶこと

例えば、住所や電話番号は変更される可能性があるので主キーには不向きです。一方で社員番号や学籍番号のように、基本的に変わらない値は主キーに適しています。

カテゴリの一覧へ
新着記事
New1
基本情報技術者試験
クライアントサーバシステムとは?初心者でもわかるネットワークの基本構成をやさしく解説
New2
基本情報技術者試験
分散処理とは?初心者でもわかるコンピュータの処理方式をやさしく解説
New3
情報セキュリティマネジメント試験
ブラックリストとは何かをやさしく解説!初心者でもわかる仕組みと活用例
New4
基本情報技術者試験
集中処理とは?初心者でもわかるコンピュータ処理方式の基本用語をやさしく解説
人気記事
No.1
Java&Spring記事人気No1
基本情報技術者試験
FTP
220
FTPとは?初心者でもわかるファイル転送プロトコルの基本と仕組みを徹底解説!
No.2
Java&Spring記事人気No2
基本情報技術者試験
NIC
212
NICとは何か?初心者にもわかるネットワークインターフェースカードの基本
No.3
Java&Spring記事人気No3
基本情報技術者試験
16進数とは?初心者にもわかる意味・読み方・変換方法をやさしく解説!
No.4
Java&Spring記事人気No4
基本情報技術者試験
URL
187
URLとは?初心者でもわかるWebリンクの仕組みと役割をやさしく解説!
No.5
Java&Spring記事人気No5
基本情報技術者試験
イーサネット(Ethernet)とは?初心者にもわかるLANの基本技術をやさしく解説
No.6
Java&Spring記事人気No6
基本情報技術者試験
セグメントとは?ネットワークの基本単位を初心者向けにやさしく解説
No.7
Java&Spring記事人気No7
基本情報技術者試験
スキーマ(Schema)とは?データベースの基本構造を初心者向けに解説
No.8
Java&Spring記事人気No8
基本情報技術者試験
ハブとは?初心者でもわかるネットワーク接続装置の基本と仕組み