主キーとユニークキーの違いとは?分かりやすく解説!

この記事には、アフィリエイト広告を利用しています。

スポンサーリンク


主キーとユニークキーの主な違いは、その機能がテーブル内の各レコードを識別することであるとして、テーブル内の唯一の主キーが存在することができ、それは任意のNULL値を持つことはできません一方、その機能があるように、テーブル内の複数のユニークキーが存在することができます唯一の列が重複したデータが存在しないようにユニークな値を持つことを保証することであることです

RDBMSとは、リレーショナル・データベース・マネージメント・システムのことです。

データベースを作成・管理するためのソフトウェアです。

データベースは、互いに関連するテーブルの集合体です。

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

行は1つの実体を表し、列は属性を表す。

RDBMSでデータを管理するための言語がSQL(Structured Query Language)です。

SQLには、テーブルに格納されるデータの種類を制限するための様々な制約があります。

これらの制約は、テーブル内のデータの整合性を維持するのに役立ちます。

主キーと一意キーは、そのような制約の2つです。

スポンサーリンク

主キーとは

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

主キーはNULL値を許しません。

キャプション – SQL

社員データベースでは、社員テーブルには、id、名前、住所、給料などのカラムを持つことができます。

各従業員は一意のIDを持っているので、最も適したカラムはidです。

これは、テーブル内のすべてのエンティティを識別するのに役立ちます。

 主キーを作成する例は、以下のとおりです。

create table employee (

id int not null,

名前 varchar (50),

住所 varchar (50),

salary decimal (10,2),

主キー(id)

);

また、2つ以上のカラムを組み合わせて主キーを作ることも可能です

以下のSQL文は、idとnameを組み合わせて主キーを作成しています。

この組み合わせの主キーをコンポジットキーとも呼びます。

create table employee (

id int not null,

名前 varchar (50),

住所 varchar (50)。

salary decimal (10,2),

主キー (id、name)

);

以下のSQLコマンドは、テーブルからプライマリーキーを削除します。

alter table employee drop primary key;

ユニークキーとは

ユニークキーは、カラムがユニークな値のみを持つことを保証します。

したがって、そのカラムには重複したデータは存在しない。

次のSQL文は、名前をユニークに設定する。

そのため、同じ名前のレコードが2つ存在することはありません。

create table employee (

id int not null,

名前 varchar (50) unique,

住所 varchar (50),

給与 10進数 (10,2)。

主キー(id)

);

同様に、Uniqueキーは、特定のカラムの値がすべて異なることを保証します。

主キーとユニークキーの違い

定義

主キーは、データベーステーブルの各行やレコードを一意に識別できるSQL制約であるのに対し、ユニークキーは、データベーステーブルの離れた2行に同じ値を割り当てることを許さないSQL制約です。

使用方法

主キーは、テーブルの各行やレコードを一意に識別するのに役立ち、ユニークキーは、カラムに同じ値を持つ2つのレコードを回避することができます。

NULL

主キーはNULL値を許さないが、ユニークキーはNULL値を1つだけ許す。

1テーブルあたりのキー数

1つのテーブルが持つ主キーは1つだけです。

しかし、1つのテーブルには複数のユニークキーを持つことができる。

結論

SQLの制約は、データベース内のデータの正確さと整合性を維持するのに役立ちます。

プライマリキーとユニークキーは、そのような2つの制約です。

主キーとユニークキーの基本的な違いは、1つのテーブルに複数のユニークキーが存在できるのに対し、主キーは1つしか存在できないことです。

主キーは自動的に一意制約を持ちます。

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