主キー
主キーは、テーブル内のデータベース レコードを一意に識別する値です。通常は数値で、データベースが新しいレコードを作成するたびに連番で生成されることがよくありますが、一意であることが保証されていれば、テキストの文字列を主キーとして使用することもできます。リレーショナルデータベースは、主キーを使って別々のテーブルにあるレコード間のリンクを作成します。
テーブルを作成するときは、主キーを割り当てる方法をいくつか選べます。まず、顧客の電話番号や社会保障番号など、レコード内にすでに存在する情報から主キーを選ぶ方法があります。この種類の主キーは「自然キー」と呼ばれます。一方、「代理キー」は、主キーとして使用するためだけに生成される値です。DBMSは、新しいレコードを追加するときに代理キーを連番で生成したり、代わりに乱数やUUIDを生成したりできます。DMBSがレコードを削除する必要がある場合、通常はそのレコードの主キーを保持し、再利用することはありません。
リレーショナルデータベースは、テーブル内の各レコードが一意であることを保証し、テーブル間のレコード同士のリンクを作成するために主キーを使用します。たとえば、顧客データベースには、名前とメールアドレスを含むCustomer Identificationテーブルと、住所を含む別のShipping Addressテーブルを用意できます。Customer Identificationテーブルでは、Customer IDフィールドの生成済みUUIDを主キーとして使用できます。これにより、顧客は名前を変更しても、DBMSがそのレコードを参照する方法を変更せずに済みます。一方、Shipping Addressテーブルでは、システム内の配送先住所をそれぞれ別のレコードとして保存し、新しい住所が追加されるたびに増加する連番のID番号を割り当てます。これにより、Customer Identificationテーブル内のレコードは、住所テーブルの主キーを顧客レコード内の外部キーとして使用して、各顧客レコードを1つ以上の住所に関連付けることができます。
知識をテストする