主キーとは、リレーショナルデータベースにおいて、テーブル内の各レコードを一意に識別するためのカラムのことです。主キーを選択する際には、すべての行に対して一意な値を含むカラムを選択する必要があります。すべての行が主キーのカラムに値を持ち、その値が変化してはいけません。すべてのルールに適合する自然な主キーが見つからない場合は、サロゲートキーを作成することができます。このWikiHowでは、データベースの主キーを選択する方法を説明します。
- 例えば、従業員のデータベースを構築していて、各従業員がユニークな従業員番号を持っている場合、従業員ID番号を含むカラムを主キーとして使用することができます。
- 複数のカラムを使用する主キーである複合キーの使用を検討するのもよいでしょう。複数のカラムをキーに結合することで (たとえば、DateofBirth、CountryofOrigin、EmployeeID を結合する)、重複入力の可能性を減らすことができます。
- 例えば、従業員IDの例では、従業員IDカラムを主キーとして使用するのは、その従業員に別の従業員IDが割り当てられる可能性がない場合に限られます。
- その他にも、人の名前、住所、電話番号、アドレスなどが変更される可能性があります。主キーを選択する際には、これらの情報は避けてください。
- 例えば、患者情報を含むデータベースを作成するとします。社会保障番号は一意であり、変更されることがないため、このようなカラムは秘密キーの良い候補のように思えるかもしれません。しかし、すべての患者に社会保障番号のエントリが必要です。もし患者が社会保障番号を提供していない場合、そのカラムをプライマリキーにすると、テーブルに追加することができません。
- サロゲートキーには、新しいレコードが入力されたときに生成される一意な値が含まれます。サロゲートキーを使うには、実際のデータを反映しない新しいカラムを作成する必要があります。例えば、顧客のリストがある場合、CustomerIDという新しいカラムを作成し、各顧客の一意なデータベース識別子としてのみ使用します。
- CustomerIDの例では、新しい顧客をデータベースに入力するたびに、その顧客の永続的な一意識別子となる新しいCustomerIDを割り当てます。番号ジェネレータを使用することもできますし、前の値に1を足してユニークな新しい顧客IDを作ることもできます。
コメント
最新を表示する
NG表示方式
NGID一覧