複合主キー
テーブル制約において、複数の行をまとめてPRIMARY KEYとして定義することによって、それらを一意な組として表現できる。 code:sql
-- person テーブル(人の基本情報)
CREATE TABLE person (
id INTEGER PRIMARY KEY AUTOINCREMENT,
sex_type TEXT NOT NULL,
person_name TEXT NOT NULL
);
-- marries テーブル(結婚情報)
CREATE TABLE marries (
spause_1 INTEGER NOT NULL,
spause_2 INTEGER NOT NULL,
married_datetime TEXT NOT NULL,
PRIMARY KEY (spause_1, spause_2),
FOREIGN KEY (spause_1) REFERENCES person(id),
FOREIGN KEY (spause_2) REFERENCES person(id)
);