SQLでプライマリキーと外部キーを設定する方法

この記事では、SQLにおいてプライマリキーと外部キーを設定する具体的な方法について深く解説します。データベース設計の基礎であるこれらのキー設定は、データの整合性を保つ上で非常に重要です。専門用語もわかりやすく説明し、具体的な例を用いて理解を深めていきます。

目次

プライマリキーとは

プライマリキー(Primary Key)とは、データベーステーブルにおいて各レコードを一意に識別するためのキーです。このキーは、同一テーブル内で重複することが許されていません。

プライマリキーの特性

プライマリキーには以下のような特性があります。

  • 一意性:各レコードに重複しない値が設定される。
  • NOT NULL制約:NULL値が許されない。
  • 不変性:一度設定したら変更できない。

プライマリキーの設定方法

プライマリキーを設定する基本的なSQLコマンドは以下です。

CREATE TABLE テーブル名 (
  カラム名1 データ型 PRIMARY KEY,
  カラム名2 データ型,
  ...
);

具体的な例

例として、「学生」テーブルを作成します。このテーブルでは「学生ID」がプライマリキーです。

CREATE TABLE 学生 (
  学生ID INT PRIMARY KEY,
  名前 VARCHAR(50),
  年齢 INT
);

外部キーとは

外部キー(Foreign Key)とは、あるテーブルのカラムが他のテーブルのプライマリキーに依存する形で設定されるキーです。これにより、データの整合性が保たれます。

外部キーの特性

外部キーにも特定の特性があります。

  • 参照制約:プライマリキーが存在しない値は設定できない。
  • カスケード:プライマリキーの値が変更されたとき、それに応じて外部キーの値も自動で変更される場合がある。
  • NULL許容:基本的にはNULL値が許されるが、制約により変更可能。

外部キーの設定方法

外部キーを設定するSQLコマンドの一例は以下の通りです。

CREATE TABLE テーブル名 (
  カラム名1 データ型,
  カラム名2 データ型,
  FOREIGN KEY (カラム名1) REFERENCES 参照テーブル(プライマリキー)
);

具体的な例

例として、「成績」テーブルを作成します。このテーブルでは「学生ID」が外部キーとして設定されています。

CREATE TABLE 成績 (
  成績ID INT PRIMARY KEY,
  学生ID INT,
  科目 VARCHAR(50),
  点数 INT,
  FOREIGN KEY (学生ID) REFERENCES 学生(学生ID)
);

プライマリキーと外部キーの関連性

プライマリキーと外部キーは、それぞれ独立しているように見えますが、実際には密接に関連しています。以下のテーブルで説明します。

キーの種類主な役割依存関係
プライマリキーレコードの一意識別独立
外部キーデータ整合性保持プライマリキーに依存
プライマリキーと外部キーの関連性

まとめ

この記事では、SQLにおけるプライマリキーと外部キーの設定方法を具体的な例とともに解説しました。これらのキーはデータの整合性を保つ上で非常に重要であり、しっかりと理解しておくことが求められます。

コメント

コメントする

目次