データを保持するテーブルがあり、それらの行の 1 つが別のテーブルに存在する必要があります。したがって、参照整合性を維持するために外部キーが必要です。
CREATE TABLE table1
(
ID INT NOT NULL IDENTITY(1,1) PRIMARY KEY,
AnotherID INT NOT NULL,
SomeData VARCHAR(100) NOT NULL
)
CREATE TABLE table2
(
ID INT NOT NULL IDENTITY(1,1) PRIMARY KEY,
AnotherID INT NOT NULL,
MoreData VARCHAR(30) NOT NULL,
CONSTRAINT fk_table2_table1 FOREIGN KEY (AnotherID) REFERENCES table1 (AnotherID)
)
ただし、ご覧のとおり、外部キーのテーブルである列は PK ではありません。この外部キーを作成する方法、またはこの参照整合性を維持するためのより良い方法はありますか?