Clave externa a clave no primaria
Tengo una tabla que contiene datos y una de esas filas debe existir en otra tabla. Por lo tanto, quiero una clave externa para mantener la integridad referencial.
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)
)
Sin embargo, como puede ver, la clave foránea de la tabla I, la columna no es la PK. ¿Hay una manera de crear esta clave externa, o tal vez una mejor manera de mantener esta integridad referencial?