CREATE TABLEステートメントのWITHオプションを使って外部キーを作成する
SQL Serverで外部キーを作成する方法
SQL Serverで外部キーを作成するには、以下の方法があります。
T-SQL を使用して外部キーを作成する
-- 子テーブルを作成
CREATE TABLE 子テーブル (
子テーブルID INT PRIMARY KEY,
親テーブルID INT,
FOREIGN KEY (親テーブルID) REFERENCES 親テーブル (親テーブルID)
);
-- 親テーブルを作成
CREATE TABLE 親テーブル (
親テーブルID INT PRIMARY KEY,
親テーブル名 VARCHAR(50)
);
- SQL Server Management Studio (SSMS) を起動し、データベースに接続します。
- オブジェクト エクスプローラー で、子テーブルを選択します。
- デザイナー タブをクリックします。
- 関係 ペインで、新しい関係 を選択します。
- 主キーと外部キーの選択 ダイアログボックスで、親テーブル と 子テーブル を選択します。
- 主キー と 外部キー の列を選択します。
- OK をクリックします。
外部キー制約 を作成すると、以下のメリットがあります。
- データの整合性を保つことができます。
- 親テーブル と 子テーブル の列のデータ型が一致する必要があります。
- 親テーブル の列に NULL 値が許可されていない場合は、子テーブル の列にも NULL 値を許可できません。
- 親テーブル の列が UNIQUE 制約を持つ場合は、子テーブル の列にも UNIQUE 制約を持つ必要があります。
-- 子テーブルを作成
CREATE TABLE 子テーブル (
子テーブルID INT PRIMARY KEY,
親テーブルID INT,
FOREIGN KEY (親テーブルID) REFERENCES 親テーブル (親テーブルID)
);
-- 親テーブルを作成
CREATE TABLE 親テーブル (
親テーブルID INT PRIMARY KEY,
親テーブル名 VARCHAR(50)
);
SQL Serverで外部キーを作成する他の方法
ALTER TABLE ステートメントを使用する
ALTER TABLE 子テーブル
ADD FOREIGN KEY (親テーブルID)
REFERENCES 親テーブル (親テーブルID);
この方法は、既存のテーブルに外部キーを追加する場合に便利です。
CREATE TABLE ステートメントの WITH オプションを使用する
CREATE TABLE 子テーブル (
子テーブルID INT PRIMARY KEY,
親テーブルID INT,
CONSTRAINT FK_子テーブル_親テーブル FOREIGN KEY (親テーブルID) REFERENCES 親テーブル (親テーブルID)
);
GUI ツールを使用する
SQL Server Management Studio (SSMS) 以外にも、さまざまな GUI ツールを使用して外部キーを作成することができます。これらのツールは、初心者にとって使いやすいというメリットがあります。
sql sql-server t-sql