データベース設計

【SQL入門】PRIMARY KEY(主キー)制約とは?

SQLのPRIMARY KEY (主キー)について学んでいきます。

PRIMARY KEYの使いかたを覚えると、高速にテーブルデータの検索が実行できたり、整合性の取れたデータを作成することが可能です。

この記事では、

  • PRIMARY KEY(主キー)とは?
  • PRIMARY KEY(主キー)の役割について理解しよう
  • PRIMARY KEY(主キー)の作成方法
  • PRIMARY KEY(主キー)を後から追加してみよう
  • PRIMARY KEY(主キー)を削除してみよう
  • 複数の列にPRIMARY KEY(主キー)を追加する方法

などの基礎的な使い方から応用的な使い方関しても解説していきます。

こちらの記事も併せて読んでいただけると、データベースに関する基礎知識が理解できます。

PRIMARY KEY(主キー)とは?

PRIMARY KEYは(主キー)とは、テーブルに登録するレコード(データ行)の全体のうち、ひとつのデータに特定することをデータベースが保証する列のことです。

例えば、従業員テーブルに「従業員ID、部署ID、姓、名」の項目があるとして、PRIMARY KEYである「従業員ID」で一人の従業員の姓名を特定するような場合です。
例)従業員IDが10002 とわかれば、山田次郎と特定することができる。

従業員ID部署ID
10001A001山田太郎
10002A001山田次郎
10003B001山田知三郎
従業員テーブル

PRIMARY KEY(主キー)の役割について理解しましょう

PRIMARY KEYは、世の中にあるデータベースのテーブルのほとんどはPRIMARY KEYが設定されているといっていいほど、重要な役割があります。

そんなPRIMARY KEYの役割は、以下の通りです。

  • テーブル検索のスピードを格段に早くする
  • テーブルデータの整合性を保証する

PRIMARY KEYを設定すると「どこに何が登録されているか?」を探すためのインデックスと呼ばれる情報が自動的に作成されます。
また、PRIMARY KEYを設定した列は同じデータは登録できないためエラーとなり、NULL値も登録できません。

PRIMARY KEYの重要性について理解いただけたところで、次はPRIMARY KEYの作成方法について解説していきます。

PRIMARY KEY(主キー)の作成方法

PRIMARY KEYを作成するには、一般的にテーブル作成と同時に設定します。

テーブル作成と同時にPRIMARY KEYを設定するには、CREATE TABLE文の中に、PRIMARY KEY (列名) を追加します。

「従業員番号、部署番号、性、名」を持つテーブルを作成すると同時に「従業員番号」にPRIMARY KEYを設定するサンプルコードを確認してみましょう。

CREATE TABLE sample1_employees (
 number int NOT NULL, -- 従業員番号
 department_no int, -- 部署番号
 last_name varchar(255), -- 名
 first_name varchar(255), -- 姓
 PRIMARY KEY (number)
);

従業員番号(number) にPRIMARY Key が設定されます。

PRIMARY KEY(主キー)を後から追加する

作成したテーブルに、PRIMARY KEYを付け忘れた。。。という場合に、後から追加するには、次のコマンドで作成できます。

ALTER TABLE テーブル名 ADD PRIMARY KEY(列名);

テーブル定義の状態を確認するには、mysql> desc (テーブル名)

PRIMARY KEY(主キー)を削除する

PRIMARY KEYを削除するには、

ALTER TABLE テーブル名 DROP PRIMARY KEY;

で実行できます。

複数の列にPRIMARY KEY(主キー)を追加する方法

PRIMARY KEYは2つ以上の列に追加することもできます。

例えば、部署ごとに従業員番号を設定したい時は「従業員番号+部署番号」で一意になります。

このように、複数のPRIMARY KEYを作成するためには、以下のようにカンマ区切りで複数を設定します。

PRIMARY KEY (列名,列名...)

まとめ

いかかでしたか?

今回はSQLのPRIMARY KEY(主キー)について解説しました。

PRIMARY KEYは、テーブル検索のスピードを格段に早くしたり、テーブルデータの整合性を保証するため作成します。

PRIMARY KEYは、データベースのテーブル設計をする上で必須のスキルになります。
PRIMARY KEYの使い方を忘れてしまったらこの記事を確認していただけると幸いです。

学習書の紹介

データベースは沢山のデータを管理するためのソフトで、データの登録/変更/削除を確実にし、多数のユーザーからの操作を受け付ける仕組みが備わっています。

このデータベースを操作するための言語がSQLです。
本書は「そもそもデータベース(リレーショナルデータベース)とは
どういうものであるか」から解説を始めます。基礎知識を身につけ、
データの操作を実際に試して学ぶことができる一冊です。

SQLを基礎からわかりやすく解説した図解本です。
エンジニア1年生、IT業界などへの転職・就職を目指す人が、仕事に必要なSQLの用語を一通り学ぶことのできる内容を目指します。
本書では、SQLの基本的な構文とその働きをフルカラーの図解でわかりやすく学ぶことができます。
左ページ文章、右ページ図の見開き2 ページで 1 つの用語や構文を解説しており、動作を試しながら読むのではなく、図を見るだけでSQLの基本を身に付けることができます。

-データベース設計

error: Content is protected !!