Skip to content

DBの基本(候補キーとスーパーキーとは)

関係型データベースにおいて、重要な項目にキーがあります。一番主要なキーはやはり主キーでしょう。

1.主キーとは

英語ではprimary key といい、略号でPKと書かれることも多いかと思います。 レコード(組、行)を識別するために一番よいとされる項目(属性、列)のことを主キーと呼びます。

主キーは候補キーの中からただ一つ選ばれます。 絶対に必要なものではありませんが、実務上は重要視されて設定されていることがほとんどです。

2.主キーの制約

主キーにはいくつかの制約があります。

  • 複数が主キーになることはありません。
  • 主キーにはNULLは許されません。(NULLがある属性を主キーに選ぶことはできません。)

3.主キーの選び方

主キーは候補キーの中から選びます。候補キーの中で以下の観点で選ぶことが実務上望ましいと考えられます。

  • データ量が小さいもの   検索時のキーとして利用されたり、他の関係(テーブル、表)とも紐づけなどを実施する際に利用するときに小さいデータ量のほうが高速に処理できます。
  • なるべく変化がないもの   主キーは他との関係の中で連携されることが多いため、変化があると他の関係側でも変更が必要となり、煩雑さが増してしまう。このため、不変であることが望ましい。

4.自然キーと人工キー

主キーには一意性が重要とされるため、その成り立ちによって、2つの種類がある。

 a.自然キー (natural key)

主キーを作るうえで、一意性があり、主キーにふさわしい属性があれば、そのまま主キーとして利用することができる。

 b.人工キー (artificial key)

候補キーが存在しない場合は、人工的にキーを作成する必要があり、これが人工キーになります。 また、人工キーは一般には知られないキー(数字やアルファベットの羅列)になることが多い。