目次
候補キーとは?主キーとの違いをわかりやすく解説【データベース基礎】
候補キー(Candidate Key)とは、リレーショナルデータベースにおいて、テーブル内の各行(レコード)を一意に識別できる属性、または属性の組み合わせのことです。データベース設計の基本概念であり、正規化や主キー設計において重要な役割を果たします。
候補キーの定義
候補キーは、次の2つの条件を満たす必要があります。
- 一意性:同じ値を持つレコードが存在しない
- 最小性:不要な属性を含まない
つまり、「その属性(または組み合わせ)があれば、その行を特定できる」かつ「それ以上削れない」ものが候補キーです。
具体例で理解する候補キー
例えば、社員テーブルが以下の属性を持つとします。
社員ID / メールアドレス / マイナンバー / 氏名
この場合、以下は候補キーになり得ます。
- 社員ID
- メールアドレス(重複がない場合)
- マイナンバー
いずれもレコードを一意に識別できます。一方、「氏名」は同姓同名が存在する可能性があるため候補キーにはなりません。
主キーとの違い
候補キーの中から、実際にテーブルの代表キーとして選ばれたものを主キー(Primary Key)と呼びます。
- 候補キー:一意に識別できる属性の候補(複数存在可)
- 主キー:候補キーの中から選ばれた1つ
つまり、主キーは候補キーの一つという関係になります。
複合キーとの関係
複数の属性を組み合わせて一意になる場合、それを複合候補キーといいます。例えば「注文ID+商品ID」のような組み合わせです。
まとめ
候補キーは、テーブル内のレコードを一意に識別できる最小限の属性集合です。データベース設計では、候補キーを正しく見極めた上で主キーを決定することが重要です。正規化や整合性維持の基礎となる概念として、しっかり理解しておきましょう。
コメント