主キーと外部キーの違いとは?分かりやすく解説!

スポンサーリンク
スポンサーリンク


主キーと外部キーの主な違いは、主キーがテーブル内のレコードを一意に識別するために使用されるのに対し、外部キーは2つのテーブルを一緒に接続するために使用されることです。

ほとんどのビジネス組織は、データを格納するためにデータベースを使用しています。

データベース管理システム(DBMS)は、データベース内のデータの作成と管理を支援するソフトウェアです。

DBMSの高度なタイプは、リレーショナルデータベース管理システム(RDBMS)と呼ばれています。

これはリレーショナルモデルに基づいています。

RDBMS はデータをテーブルに格納します。

各テーブルは行と列で構成されています。

行は項目を表し、列は属性を表します。

RDBMSのテーブルは、テーブル間の関連性を持っています。

キーはテーブル間の関係を識別し、テーブル内のデータ行を一意に識別するのに役立つ。

キーは単一の属性であることも、複数のキーの組み合わせであることもあります。

キーにはさまざまな種類があり、主キーと外部キーはそのうちのひとつです。

スポンサーリンク

プライマリーキーとは

テーブルの主キーのカラムは、テーブルの各行またはレコードを識別するのに役立ちます。

一意の値が含まれます。

主キーカラムはNull値を持つことができません。

1つのテーブルには1つの主キーを持つことができます。

Student テーブルでは、student_id が主キーになります。

Patient_Details テーブルでは、patient_id がプライマリ・キーになります。


主キーは1つのフィールドである必要はありません

複数のフィールドを組み合わせてもかまいません。

主キーが複数のフィールドで構成されている場合、複合キーと呼ばれます。

たとえば、Student テーブルの主キーは、student_id と name の両方の組み合わせにすることができます。

外部キーとは

外部キーは、他のテーブルを参照するために使用されます。

参照キーとも呼ばれる。


  別のテーブルの主キーと一致するカラムやカラムの組み合わせのことである

言い換えれば、あるテーブルの外部キーは、他のテーブルの主キーです。

例えば、Salesデータベースがあるとする。

顧客テーブルと商品テーブルがあります。

customerテーブルはcustomer_id, name, address, contact_noカラムを持っています。

customerテーブルの主キーはcustomer_idです。

productテーブルにはproduct_id、name、qualityカラムがあります。

productテーブルのプライマリキーはproduct_idです。

product_idをcustomerテーブルに配置すると、2つのテーブルの間にリンクが作成されます。

productテーブルのproduct_idは主キーですが、customer_tableでは外部キーになります。

同様に、外部キーを使用してデータベース内のテーブルを接続することが可能です

主キーと外部キーの違い

定義

データベースの関係モデルでは、主キーとは、あるテーブルのタプルまたは行を一意に特定する最小限の属性またはカラムの集合のうち、特定の選択肢のことである

外部キーは、あるテーブルのフィールドまたはフィールドの集合で、別のテーブルまたは同じテーブルの行を一意に識別する。

したがって、これが主キーと外部キーの基本的な違いです。

関連テーブルの数

プライマリキーは1つのテーブルと関係し、外部キーは2つのテーブルと関係する。

このように、プライマリキーと外部キーの違いも、基本的な考え方からきている。

Null値

さらに、主キーの値はNULLにできませんが、外部キーの値はNULLにすることができます。

重複する値

また、主キーと外部キーのもう一つの違いは、主キーは重複した値を持つことができないのに対し、外部キーは重複した値を持つことができる点です。

キー数

さらに、主キーと外部キーのもうひとつの重要な違いは、1つのテーブルに主キーは1つしか存在できないことです。

しかし、外部キーは1つのテーブルに複数個存在させることができる。

使用方法

主キーはテーブルのレコードを一意に識別するために使用され、外部キーは2つのテーブルを結びつけるために使用されます。

これが主キーと外部キーの主な違いです。

結論

RDBMSで使用されるキーには、主キーと外部キーがあります。

主キーと外部キーの違いは、主キーはテーブル内のレコードを一意に識別するために使用され、外部キーは2つのテーブルを結びつけるために使用されることである

タイトルとURLをコピーしました