データベース 複合キー、主キー、および外部キーの違いは何ですか?

複合キー、主キー、および外部キーの違いは何ですか?

Anonim

Q:

複合キー、主キー、および外部キーの違いは何ですか?

A:

主キーは、データベーステーブル内の各行を一意に識別するキーまたはデータベース列として定義されます。 複合キーは、一緒になって各レコードを一意に識別する複数のキーのセットです。

一方、外部キーは、あるテーブルのキーであり、別のテーブルの行を一意に識別します。つまり、別のテーブルの主キーを追跡するキーです。

例は、不動産市場の家のリストです。 適切に順序付けられたデータベースでは、各レコードを一意に識別する主キーが必要です。 これがどのように機能するかは、データベースの高度化と関係があるかもしれません。

場合によっては、住宅は住宅ローン番号によってのみ一意に識別される場合があります。他のすべてのデータ(町、通り、家番号)は各レコードに固有ではありません。 住宅ローン番号が主キーになります。 ただし、MLS不動産業者のリスティングテクノロジーが、テーブル内のレコードに独自の一意の番号を割り当てるとします。 次に、開発者が「候補キー」として識別するかもしれない2つのキーがあります:住宅ローン番号とMLS番号。 そのうちの1つは、prim意的な方法で「プライマリキー」として認定されます。

したがって、複合キーは2つのキーの組み合わせになります。たとえば、市場リストがローカルである場合、家番号と通りの組み合わせは複合キーとして適格となる場合があります。 その場合、誰かが家番号と通りの両方を使用して検索する場合、1つのレコードのみが返されます。

一方、たとえば、主キーを参照するバイヤーのテーブルなど、リンクされたテーブルにキーがある場合、それは外部キーになります。

複合キー、主キー、および外部キーの違いは何ですか?