AI活用の教科書
データベース設計開発ふつう3分で読了

主キー

Primary Keyしゅきー

ひとことで言うと

表のなかの1行を、1つに特定するための「目印になる列」のことです。

📖 もうちょい詳しく

何が新しいの?

主キーは、表の形でデータをためるデータベースで、1行を1つに特定するための列です。
たくさんの行を表に並べていくと、「どれが目的の1件なのか」を確実に言い当てたい場面が出てきます。名前だけでは同姓同名の人が混ざってしまうこともあります。そこで、行ごとに必ず違う値を持たせて目印にしよう、というのが主キーの考え方です。新しい技術というより、データを正しく扱うために昔からある基本のしくみです。

どうやって動いてるの?

主キーには、行ごとに必ず違う値が入り、空っぽ(なし)にはできない、というルールがあります。
たとえば「会員番号」を主キーにすると、同じ番号は2つと存在せず、番号のない会員も作れません。そのためデータベースは、その番号さえ分かれば「この行だ」と1件に絞り込めます。多くのデータベースでは、主キーに自動で索引(インデックス)が付き、探す処理も速くなることが多いです。

何ができるの?

「この1件」を正確に指し示したり、別の表とつなげたりできます。
注文の表から「会員番号123の人」を1人だけ取り出す、といった操作が確実にできます。また、会員の表と注文の表を「会員番号」でつなぐ、といった連携にも使われます。私たちが見る会員情報や購入履歴の正しさは、こうした目印が裏で効いていることが多いのです。

🌱 身近なたとえ

学校の出席番号で例えると分かりやすいです。
クラスに同じ名前の人がいても、出席番号が同じ人は2人といません。「番号5番の人」と言えば、誰のことか1人にしぼれます。主キーもこれと同じで、表のなかの行に重ならない番号を割りふっておくことで、「この行」を迷わず特定できるようにする目印なのです。

✅ まず覚えるポイント

  • 主キーは、表の1行を1つに特定するための列
  • 行ごとに必ず違う値が入る(重複しない)
  • 空っぽ(なし)にはできない
  • 多くの場合、自動で索引が付いて検索が速くなる
  • 別の表とつなぐときの目印にもなる

🧭 よくある勘違い

主キーには「会員番号」みたいな番号しか使えないの?

そうとは限りません。
重ならず、空にならない列であれば、文字列でも主キーにできます。ただ、後から変わりにくく管理しやすいので、専用の連番や自動でふられる番号を使うことが多いです。

主キーは1つの列だけで作るものなの?

1つとは限りません。
1つの列だけでは行を区別しきれないとき、複数の列を組み合わせて1つの主キーにすることもあります。たとえば「クラス番号」と「出席番号」をセットにして、はじめて1人に特定できる、といった形です。

🧩 関連して覚えると楽な言葉

  • SQL: データベースに指示を出す言葉。主キーで「この1件」を指定できる
  • インデックス: 検索を速くする索引。主キーには自動で付くことが多い
  • クエリ: データベースへの「問い合わせ」。主キーを目印に1件を探せる

🏁 ひとことでまとめ

主キーは、表のなかの1行を迷わず言い当てるための、重ならない目印の列です。
クラスの出席番号と同じで、同じ値が2つとないからこそ、目的の1件を確実に取り出したり、別の表とつないだりできるのです。