【しゅきー】
主キー とは?
最終更新:
💡 重複とNULLを許さず、行を一意に識別する
データベースのテーブルで、各行を一意に識別するために指定する列、または列の組み合わせ。主キーの値は重複できず、NULLも認められない。一つのテーブルに定義できる主キーは一つ。
📌 このページのポイント
主キーは、テーブルのID列のこと?
ID列が主キーの例としてよく使われるね。ただし列名で決まるのではなく、主キーとして指定することで、値の重複とNULLを禁止して行を一意に識別するんだ。
名前では識別できない?
同じ名前の人がいると、名前だけでは行を区別できないよ。主キーは各行を区別できる値にする。ほかの列の値が重複しても、主キーで区別できればよいんだ。
主キーは一つの列だけ?
複数の列を組み合わせる複合主キーもあるよ。学生IDと科目IDを組み合わせれば、同じ学生が同じ科目に重複登録されることを防げる。それぞれの列は別の組み合わせの行で同じ値を使えるんだ。
自動で番号が付く列なら、主キーになる?
もっと詳しく知りたい人へ
NULLを禁止するなら、空文字も禁止される?
NULLは、値がないことを表す特別な状態です。空文字を通常の文字列として扱うデータベースでは、主キーだけで空文字そのものを禁止するわけではありません。文字列を識別子にする場合は、必要に応じて形式や長さなどの制約も定義します。NULLと空文字の扱いは、使うデータベースで確認します。
まとめ:ざっくりこれだけ覚えればOK!
「主キー」って出てきたら「重複とNULLを許さず、テーブルの行を識別するキー」と思えばだいたいOK!
📖 おまけ:英語の意味
「Primary Key」 = 行を識別するために指定した主なキー
💬 Primaryは主要な、Keyは識別や参照に使う値を表す言葉だよ。同じ名前の人が複数いても、主キーの値によって別の行として識別できるんだ。