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

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

主キー
主キー

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

生徒

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

先生

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

生徒

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

先生

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

生徒

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

先生

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

基本情報技術者試験をこれから学習する人や、 独学で確実に合格レベルまで到達したい人におすすめの定番対策書です。

いちばんやさしい 基本情報技術者を見る

※ Amazonアソシエイト広告リンク

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
基本情報技術者試験
基数とは?初心者向けにわかりやすく解説【2進数・10進数・16進数の違いも理解】
更新記事
New3
情報セキュリティマネジメント試験
平文とは?暗号化されていないデータの意味を初心者向けにやさしく解説
更新記事
New4
情報セキュリティマネジメント試験
復号とは?初心者向けにやさしく解説|暗号との違いや使い方・解読との違いも理解しよう
更新記事
人気記事
No.1
Java&Spring記事人気No1
基本情報技術者試験
イーサネット(Ethernet)とは?初心者にもわかるLANの基本技術をやさしく解説
No.2
Java&Spring記事人気No2
基本情報技術者試験
NIC
220
NICとは何か?初心者にもわかるネットワークインターフェースカードの基本
No.3
Java&Spring記事人気No3
基本情報技術者試験
セグメントとは?ネットワークの基本単位を初心者向けにやさしく解説
No.4
Java&Spring記事人気No4
基本情報技術者試験
パケットとは?初心者にもわかりやすくネットワークの仕組みをやさしく解説!
No.5
Java&Spring記事人気No5
基本情報技術者試験
CPU
112
CPUとは何かを完全解説!初心者でもわかるコンピュータの頭脳の仕組み
No.6
Java&Spring記事人気No6
基本情報技術者試験
IMAP
101
IMAPとは?初心者でもわかるメール受信プロトコルの仕組みと使い方
No.7
Java&Spring記事人気No7
基本情報技術者試験
IPv4とは?初心者でもわかるIPアドレスの基本と通信のルール
No.8
Java&Spring記事人気No8
基本情報技術者試験
Telnetとは?初心者にもわかる仕組みと使い方をやさしく解説!