📖 もうちょい詳しく
何が新しいの?
主キーは、表の形でデータをためるデータベースで、1行を1つに特定するための列です。
たくさんの行を表に並べていくと、「どれが目的の1件なのか」を確実に言い当てたい場面が出てきます。名前だけでは同姓同名の人が混ざってしまうこともあります。そこで、行ごとに必ず違う値を持たせて目印にしよう、というのが主キーの考え方です。新しい技術というより、データを正しく扱うために昔からある基本のしくみです。
どうやって動いてるの?
主キーには、行ごとに必ず違う値が入り、空っぽ(なし)にはできない、というルールがあります。
たとえば「会員番号」を主キーにすると、同じ番号は2つと存在せず、番号のない会員も作れません。そのためデータベースは、その番号さえ分かれば「この行だ」と1件に絞り込めます。多くのデータベースでは、主キーに自動で索引(インデックス)が付き、探す処理も速くなることが多いです。
何ができるの?
「この1件」を正確に指し示したり、別の表とつなげたりできます。
注文の表から「会員番号123の人」を1人だけ取り出す、といった操作が確実にできます。また、会員の表と注文の表を「会員番号」でつなぐ、といった連携にも使われます。私たちが見る会員情報や購入履歴の正しさは、こうした目印が裏で効いていることが多いのです。
🌱 身近なたとえ
学校の出席番号で例えると分かりやすいです。
クラスに同じ名前の人がいても、出席番号が同じ人は2人といません。「番号5番の人」と言えば、誰のことか1人にしぼれます。主キーもこれと同じで、表のなかの行に重ならない番号を割りふっておくことで、「この行」を迷わず特定できるようにする目印なのです。
✅ まず覚えるポイント
- 主キーは、表の1行を1つに特定するための列
- 行ごとに必ず違う値が入る(重複しない)
- 空っぽ(なし)にはできない
- 多くの場合、自動で索引が付いて検索が速くなる
- 別の表とつなぐときの目印にもなる
🧭 よくある勘違い
主キーには「会員番号」みたいな番号しか使えないの?
そうとは限りません。
重ならず、空にならない列であれば、文字列でも主キーにできます。ただ、後から変わりにくく管理しやすいので、専用の連番や自動でふられる番号を使うことが多いです。
主キーは1つの列だけで作るものなの?
1つとは限りません。
1つの列だけでは行を区別しきれないとき、複数の列を組み合わせて1つの主キーにすることもあります。たとえば「クラス番号」と「出席番号」をセットにして、はじめて1人に特定できる、といった形です。
🧩 関連して覚えると楽な言葉
- SQL: データベースに指示を出す言葉。主キーで「この1件」を指定できる
- インデックス: 検索を速くする索引。主キーには自動で付くことが多い
- クエリ: データベースへの「問い合わせ」。主キーを目印に1件を探せる
🏁 ひとことでまとめ
主キーは、表のなかの1行を迷わず言い当てるための、重ならない目印の列です。
クラスの出席番号と同じで、同じ値が2つとないからこそ、目的の1件を確実に取り出したり、別の表とつないだりできるのです。
関連用語
TERM SEARCH
ほかの用語を調べる
検索ボックスを準備中…