- 外部キー制約の定義: 外部キー制約を使用するには、まず関連するテーブルを作成する必要があります。例えば、テーブルAとテーブルBがあり、テーブルBの複数の列をテーブルAの外部キーとして使用したい場合を考えます。
まず、テーブルAを作成します:
CREATE TABLE TableA (
id INT PRIMARY KEY,
column1 VARCHAR(50),
column2 VARCHAR(50),
...
);
次に、テーブルBを作成し、複数の列を外部キーとして定義します:
CREATE TABLE TableB (
id INT PRIMARY KEY,
column3 VARCHAR(50),
column4 VARCHAR(50),
...
FOREIGN KEY (column3, column4) REFERENCES TableA (column1, column2)
);
- データの挿入と更新: 外部キー制約を持つテーブルにデータを挿入する際、関連するテーブルのデータと整合性が取れていることを確認する必要があります。例えば、テーブルBにデータを挿入する場合、そのデータの外部キーの値がテーブルAの対応する列の値と一致していることを確認します。
データの挿入例:
INSERT INTO TableA (id, column1, column2) VALUES (1, 'Value1', 'Value2');
INSERT INTO TableB (id, column3, column4) VALUES (1, 'Value1', 'Value2');
- データの削除: 外部キー制約を持つテーブルからデータを削除する場合、関連するテーブルのデータとの整合性を保つために注意が必要です。例えば、テーブルAからデータを削除する場合、そのデータに関連するテーブルBのデータも同時に削除する必要があります。
データの削除例:
DELETE FROM TableA WHERE id = 1;
このように、多列の外部キー制約を使用することで、関連するテーブル間のデータ整合性を維持することができます。また、外部キー制約はデータベースのパフォーマンスやデータの一貫性を向上させる効果もあります。