Candidate KeyとComposite Keyの違いは何ですか?

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

スポンサーリンク


候補キーと複合キーの主な違いは、候補キーが冗長な属性を持たないスーパーキーであるのに対し、複合キーはテーブルの行を識別するための2つ以上の属性を持つキーである点です。

一般に、RDBMSのデータベースは、データを格納するためのテーブルを持つ。

キーはテーブル間の関係を作るのに役立つ。

したがって、キーはさまざまなテーブルに格納されたデータ間の関係を識別するのに役立つ。

キーは1つまたは複数の属性(カラム)で構成される。

  キーには、候補キーと複合キーの2種類があります。

スポンサーリンク

Candidate Keyとは

スーパーキーとは、テーブル内のレコードを一意に識別できる1つまたは複数の属性の集合のことです。

候補キーは、スーパーキーの集合から選ばれたキーです。

また、候補キーは冗長な属性を持ってはならない。

一般に、候補キーはヌル値を持たない。

また、1つ以上のカラムや属性から構成されることもあります。

さらに、1つのテーブルは1つ以上のキー候補を持つことができる。

例えば、studentというテーブルがあるとする。

このテーブルには、id、name、phone の3つのカラムがあります。

idとphoneのカラムを考えてみよう。

これらは冗長な属性を持っていない。

したがって、これらはstudentテーブルの候補キーです。

コンポジットキーとは

複合キーとは、テーブル内のレコードを一意に識別するのに役立つ2つ以上の属性を含むキーのことです。

言い換えれば、これらの属性が組み合わさって複合キーが形成されます。

したがって、この組み合わせを使用して、レコードを個別に識別する必要があります

個々の属性を使ってレコードを識別することはできない。

例えば、学生の点数を保存するテーブルがあるとする。

このテーブルには、student_id、subject_id、marks、exam_nameの4つの属性またはカラムがあります。

このテーブルでは、student_id と subject_id を主キーとしてレコードを一意に識別することができないため、student_id と subject_id のどちらかを主キーとすることはできません。

しかし、student_id と subject_id の組み合わせにより、各レコードを識別することができる。

従って、この組み合わせを主キーとする。

さらに、この組み合わせは複合キーでもあります。

Candidate Key と Composite Key の相違点

定義

候補キーは冗長な属性を持たないスーパーキーであり、複合キーはテーブル内の任意の行を一意に識別する2つ以上の属性から構成されるキーです。

したがって、ここが候補キーと複合キーの大きな違いです。

属性

また、候補鍵は1つの属性を持つことができるが、複合鍵は最低2つの属性を 持たなければならない。

これが候補キーと複合キーの重要な違いです。

id、name、phoneの属性を持つテーブルでは、idとphoneが候補キーとなる。

一方、student_id, subject_id, marks, exam_name の属性を持つテーブルでは、student_id と subject_id の組が複合キーとなる。

結論

簡単に説明すると、プログラマはデータベースのテーブルを接続するために、様々なキーを使用することができます。

キーには、候補キーと複合キーの2種類があります。

候補キーと複合キーの主な違いは、候補キーが冗長な属性を持たないスーパーキーであるのに対し、複合キーはテーブルの行を識別するために2つ以上の属性を持つキーであることです。

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