主キーと代理キーの違いは何ですか? 質問する

主キーと代理キーの違いは何ですか? 質問する

グーグルでいろいろ検索しましたが、例を挙げた正確な答えは見つかりませんでした。

これに関する例があればもっと役立つでしょう。

ベストアンサー1

主キーは、テーブル内のレコードを一意に識別するのに最適な、テーブル内の一意のキーです。レコードを更新または削除する必要がある場合、レコードを一意に識別する方法を知る必要があるため、すべてのテーブルに主キーが必要です。

代理キーは、人工的に生成されたキーです。代理キーは、レコードに本質的に自然キーがない場合に便利です (テーブルなどではPerson、同じ日に生まれた 2 人の人物が同じ名前を持つ可能性があり、ログ内のレコードでは、2 つのイベントが発生して同じタイムスタンプを持つ可能性があるため)。ほとんどの場合、代理キーは、自動的に増分されるフィールドの整数として、またはレコードごとに自動的に生成される GUID として実装されます。ID 番号は、ほとんどの場合代理キーです。

ただし、主キーとは異なり、すべてのテーブルに代理キーが必要なわけではありません。アメリカの州をリストするテーブルがある場合、それらの州の ID 番号は実際には必要ではありません。州の略語を主キー コードとして使用できます。

代理キーの主な利点は、一意であることが簡単に保証されることです。主な欠点は、意味がないことです。たとえば、「28」がウィスコンシン州であることには何の意味もありませんが、住所テーブルの州列に「WI」が表示されている場合は、州テーブルでどの州がどの州であるかを調べなくても、どの州について話しているかがわかります。

おすすめ記事