Kesalahan memberi tahu Anda masalahnya:Anda tidak memiliki batasan unik pada date_dimension yang cocok dengan batasan kunci asing Anda.
Namun, ini mengarah pada masalah desain yang lebih besar:Hubungan kunci asing Anda tidak masuk akal.
Anda mungkin dapat memecahkan "masalah" Anda dengan:
CREATE UNIQUE INDEX date_dimension(id,id);
Tapi itu bodoh, karena id selalu sama. Itu juga bisa dinyatakan sebagai:
FOREIGN KEY (evaluation_date) REFERENCES date_dimension(id);
Kemudian singkirkan effective_date kolom, yang akan selalu identik dengan evaluation_date dalam contoh Anda.
Atau... Anda mungkin sangat ingin dua hubungan FK:
FOREIGN KEY (evaluation_date) REFERENCES date_dimension(id);
FOREIGN KEY (effective_date) REFERENCES date_dimension(id);