Внешний ключ к не первичному ключу
У меня есть таблица, которая содержит данные, и одна из этих строк должна существовать в другой таблице. Итак, я хочу, чтобы внешний ключ поддерживал ссылочную целостность.
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. Есть ли способ создать этот внешний ключ или, возможно, лучший способ сохранить эту ссылочную целостность?