De fout vertelt je het probleem:je hebt geen unieke beperking op date_dimension
die overeenkomt met uw externe sleutelbeperking.
Dit leidt echter tot het grotere ontwerpprobleem:uw relatie met buitenlandse sleutels slaat nergens op.
U kunt uw "probleem" mogelijk oplossen met:
CREATE UNIQUE INDEX date_dimension(id,id);
Maar dat is dom, want id
is altijd hetzelfde. Het kan ook worden uitgedrukt als:
FOREIGN KEY (evaluation_date) REFERENCES date_dimension(id);
Verwijder vervolgens de effective_date
kolom, die altijd identiek zou zijn aan evaluation_date
in jouw voorbeeld.
Of... je waarschijnlijk echt wil twee FK-relaties:
FOREIGN KEY (evaluation_date) REFERENCES date_dimension(id);
FOREIGN KEY (effective_date) REFERENCES date_dimension(id);