代理キーと主キーの主な違いは、代理キーは各レコードを一意に識別するのに役立つ主キーの一種であり、主キーは各レコードを一意に識別するのに役立つ最小限のカラムの集合であることである。
RDBMSは関係データモデルを使用して設計されたDBMSです。
RDBMSは、関係データモデルを使用して設計されたDBMSであり、データベース内のデータの保存と管理を支援する。
通常、1つのデータベースには複数のテーブルが存在する。
そのため、キーはデータベース内のテーブル間の接続に役立ちます。
また、様々なテーブルのデータ間の関係を特定するのに役立つ。
主キーの種類には、ナチュラルキーとサロゲートキーがあります。
主な対象分野
- ナチュラルキーとは
-定義、機能性 - サロゲートキーとは
-定義、機能 - 主キーとは
-定義、機能 - サロゲートキーとプライマリーキーの違い
-キーの違いの比較
ナチュラルキーとは
ナチュラルキーとは、自然に定義できるキーのことである。
言い換えれば、カラムを追加する必要がないことです。
たとえば、ユーザー名と電子メールを保存するユーザーテーブルを想定してみましょう。
これらのカラムは、行を一意に識別するのに役立つので、これらは主キーとなります。
さらに、これらはすでにテーブルの中に存在していた。
したがって、これらは自然なキーとなります。
サロゲートキーとは
主キーとは異なり、代理キーは作り物の主キーです。
つまり、テーブルに追加されるカラムです。
自然な主キーとして定義できるカラムがない場合に、代理キーを使用することができる。
このようなキーは、他に自然な主キーがないときに作成するため、一意です。
従業員のレコードを格納する従業員テーブルがあるとする。
このテーブルには、姓と名があります。
複数の従業員が同じ名前を持つことができるので、姓や名を主キーとして定義することはできない。
そこで、プログラマーは開始時刻と終了時刻という2つの列を追加することができます。
これらの時刻は、各従業員のシフトを表します。
これらは新たに追加された列であり、一意に各レコードを識別するのに役立ちます。
したがって、それらはサロゲートキーです。
一般的に、それは自然なキーが存在しない場合、または主キーが複雑である場合に代理キーを使用することが可能です。
主キーとは
主キーとは、テーブル内のレコードを一意に識別するのに役立つ最小限のカラムの集合を指します。
主キーにはいくつかの特徴があります。
主に、2つの行が同じ主キーの値を持つことはできません。
さらに、各行は主キーの値を持つ必要があります。
また、主キーの値を NULL にすることはできません。
たとえば、student という名前のテーブルがあるとします。
これには、id、name、age の3つのカラムがあります。
同じ名前、同じ年齢の生徒が複数いる可能性があるため、名前や年齢を主キーにすることはできません。
しかし、idを主キーにするのは良い選択です。
これは、そのカラムだけを使用して各行を識別するのに役立ちます。
したがって、id がこのテーブルの主キーとなります。
サロゲートキーとプライマリーキーの違い
定義
代理キーは、テーブルの各行を一意に識別することを目的とした非自然的なキーです。
一方、主キーとは、テーブル内のタプル(行)を一意に識別するための、テーブル内の属性(列)の最小セットのことである。
タイプ
さらに、代用キーは主キーであり、主キーは候補キーです。
結論
RDBMS のキーは、データベースのさまざまなテーブルのデータ間の関連性を見つけるのに役立ちます。
キーにはサロゲートキーとプライマリーキーがあります。
サロゲートキーとプライマリーキーの主な違いは、サロゲートキーは各レコードを一意に識別するのに役立つプライマリーキーの一種であり、プライマリーキーは各レコードを一意に識別するのに役立つ最小限の列のセットであるということです。