Fejlen fortæller dig problemet:Du har ikke en unik begrænsning på date_dimension
der matcher din fremmednøglebegrænsning.
Dette fører dog til det større designproblem:Dit udenlandske nøgleforhold giver ingen mening.
Du kan muligvis løse dit "problem" med:
CREATE UNIQUE INDEX date_dimension(id,id);
Men det er dumt, fordi id
er altid det samme. Det kan også udtrykkes som:
FOREIGN KEY (evaluation_date) REFERENCES date_dimension(id);
Så slipper du for effective_date
kolonne, som altid vil være identisk med evaluation_date
i dit eksempel.
Eller... du sandsynligvis virkelig ønsker to FK-forhold:
FOREIGN KEY (evaluation_date) REFERENCES date_dimension(id);
FOREIGN KEY (effective_date) REFERENCES date_dimension(id);