Fremdschlüssel zum Nicht-Primärschlüssel
Ich habe eine Tabelle, die Daten enthält, und eine dieser Zeilen muss in einer anderen Tabelle vorhanden sein. Ich möchte also, dass ein Fremdschlüssel die referenzielle Integrität beibehält.
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)
)
Wie Sie jedoch sehen können, ist die Spalte, für die ich einen Fremdschlüssel verwende, nicht die PK. Gibt es eine Möglichkeit, diesen Fremdschlüssel zu erstellen, oder eine bessere Möglichkeit, diese referenzielle Integrität beizubehalten?