主キーと外部キーの違いh2キー
主キーと外部キーの違い
主キーと外部キーの両方は、リレーショナルデータベース管理システム(RDBMS)で使用されます。 主キーは、データベース システム内のテーブルを関連付けるための参照として使用できる、一意に識別されるフィールドです。 一方、外部キーは一意に識別されるフィールドではなく、同じデータベース内の他のテーブルの主キーと接続するために使用されます。 主キーとは異なり、外部キーフィールドにはNULL値を格納することができます。
Head to Head Comparison between Primary Key vs Foreign Key (Infographics)
以下に、主キーと外部キーの違いのトップ6を示します。
無料のソフトウェア開発コースを開始する
Web開発、プログラミング言語。 ソフトウェアテスト & その他
主キーと外部キーの主な違い
主キーと外部キーの主な違いについて説明します。
- 主キーはテーブル内のレコードを一意に識別しますが、外部キーはテーブルをリンクするために使用されます。e.,
- テーブルの主キー カラムは Null 値を持つことができず、常に一意の値を持つ必要があります。
- テーブルの主キーは 1 つしか持つことができませんが、テーブルの外部キーは複数持つことができます。
- インデックスは主キーに対して自動的に作成されますが、外部キーに対してはインデックスは自動的に作成されません。
- 外部キー制約は主キーを参照しているので、削除するのは簡単です。 しかし、主キー制約を削除すると、親レコードを持たない子レコードを持つレコードが作成される可能性があります。
主キーと外部キーの比較表
以下の表は、主キーと外部キーの比較をまとめたものです。
主キー | 外キー |
RDBMSのテーブルの主キーは単一のカラムであるか、または複数のカラムで構成されることがあります。 これは、テーブルの各行を一意に識別するために使用されます。 主キーが複数のカラムで構成されている場合には、各カラムのデータを使って行の一意性を決定します。 | 外部キーは単一のカラムであるか、または他のテーブルの主キーを参照するために使用されるテーブルの複数のカラムで構成されることができます。 外部キーは、RDBMSのテーブルをリンクするために使用することができます。 |
あるカラムがテーブルの主キーになるためには、いくつかの条件があります。 その一つは、主キーが各レコードに対して一意の値を持つことです。 | RDBMSのテーブルの主キーとは異なり、外部キーは重複した値を含むことができます。 |
主キーになるためのもう一つの条件は、Null値を含んではいけないということです。 | |
主キーはテーブルを定義するときに指定され、主キーを定義することは必須です。 | |
子テーブルの外部キーが参照されている状態で、親テーブルの主キー制約を削除することはできません。 | しかし、テーブルの外部キー制約を削除する必要がある場合、それが親テーブルの主キーを参照していても、子テーブルから削除することができます。 |
主キーは自動的にインデックス化されます。つまり、主キーはテーブルのインデックスに格納され、このインデックスは一意性の要件を管理するのに役立ちます。 | 外部キーのケースでは、インデックスは自動的に作成されず、通常、データベース管理者が定義します。 |
結論
主キーと外部キーは、異なるタイプの整合性を実装するだけでなく、テーブル間の関係を作成します。 また、プライマリ キーとフォーリン キーは、リレーションシップのカラムに一致する値が含まれていなければならず、テーブル内でユニークなレコードが維持されることを保証します。
主キー制約は、データの重複した行の挿入や更新を防ぐため、データの整合性を自動的に適用するのに役立ちます。 主キー制約を使用すると、主キーテーブルの行を親テーブルから削除することができないため、親レコードがない子レコードが作成されることがありません。 また、主キーを参照している行が親テーブルで削除または更新されても、外部キーによって参照整合性が維持されます。
おすすめ記事
ここでは、主キーと外部キーについて説明します。 ここでは、主キーと外部キーの主な違いについて、インフォグラフィックと比較表を用いて説明します。
- WebLogic vs WebSphere
- ROLAP vs MOLAP vs HOLAP
- SQL Key
- Travis vs Jenkins