logo

主キーと外部キーの違い

前提条件: リレーショナルデータベースモデル

キーは、テーブル間の関係を維持するためのリレーショナル データベースの最も重要な要素の 1 つであり、テーブルのデータを一意に識別するのにも役立ちます。主キーはデータベースのタプルを一意に識別するのに役立つキーです。一方、外部キーは、1 つのテーブルが主キーとして機能する 1 つのテーブルの主キーを通じてテーブル間の関係を識別するために使用されるキーです。別のテーブルへの外部キー。ここで、両方について詳しく説明しましょう。



htmlタグ

主キーとは何ですか?

主キーは、特定の列のデータが一意であることを保証するために使用されます。列に NULL 値を含めることはできません。これは、既存のテーブル列、または定義されたシーケンスに従ってデータベースによって特別に生成された列のいずれかです。

例: STUD_NO と STUD_PHONE は両方ともリレーション STUDENT の候補キーですが、STUD_NO を主キーとして選択できます (多くの候補キーのうち 1 つだけ)。

アンドロイドのイースターエッグとは何ですか

テーブル学生



STUD_NO STUD_NAME STUD_PHONE STUD_STATE STUD_COUNT STUD_AGE
1 ラム 9865278251 ハリヤナ州 インド 二十
2 ラム 9655470231 パンジャーブ インド 19
3 スジット 7514290359 ラジャスタン州 インド 18
4 スレシュ 8564103258 パンジャーブ インド 21

テーブル STUDENT_COURSE

STUD_NO コース_いいえ コース名
1 C1 DBMS
2 C2 コンピューターネットワーク
1 C2 コンピューターネットワーク

外部キーとは何ですか?

外部キーは、2 つのテーブル内のデータ間のリンクを提供する、リレーショナル データベース テーブル内の列または列のグループです。これは、別のテーブルの列 (ほとんどの場合は主キー) を参照する列です。

例: STUDENT_COURSE の STUD_NO は、STUDENT リレーションの STUD_NO への外部キーです。



主キーと外部キーの違い

主キー 外部キー
主キーは、特定の列のデータが一意であることを保証するために使用されます。 外部キーは、2 つのテーブル内のデータ間のリンクを提供する、リレーショナル データベース テーブル内の列または列のグループです。
これは、リレーショナル データベース テーブル内のレコードを一意に識別します。 別のテーブルの主キーであるテーブル内のフィールドを指します。
テーブル内で許可される主キーは 1 つだけです。 一方、テーブルでは複数の外部キーが許可されます。
これは、UNIQUE 制約と Not Null 制約の組み合わせです。 リレーショナル データベース内の重複した値とテーブルを含めることができます。
NULL 値は許可されません。 NULL 値を含めることもできます。
その値は親テーブルから削除できません。 その値は子テーブルから削除できます。
制約は一時テーブルに暗黙的に定義できます。 この制約は、ローカルまたはグローバル一時テーブルには定義できません。

結論

この記事では、主キーと外部キー、およびそれらの違いについて基本的に説明しました。主キーまたは外部キーのどちらのキーも、データベース管理システムにおいて重要な役割を果たします。主キーには一意の値が含まれますが、外部キーには主キーから参照する値が含まれます。主キーの主な特徴は、繰り返すことができず、一意であることです。主キーはテーブル内の行を決定し、外部キーはテーブル間の関係を決定するため、これらの関数にはいくつかの違いがあります。

文字列javaの部分文字列

よくある質問

1. リレーショナル データベース モデルには何種類のキーがありますか?

  • 候補キー
  • 主キー
  • スーパーキー
  • 代替キー
  • 外部キー
  • 複合キー

詳細については、以下を参照してください。 リレーショナル モデルのキーの種類。