El error le indica el problema:no tiene una restricción única en date_dimension
que coincida con su restricción de clave externa.
Sin embargo, esto conduce al problema de diseño más grande:la relación de la clave externa no tiene ningún sentido.
Posiblemente podrías resolver tu "problema" con:
CREATE UNIQUE INDEX date_dimension(id,id);
Pero eso es tonto, porque id
es siempre el mismo. También podría expresarse como:
FOREIGN KEY (evaluation_date) REFERENCES date_dimension(id);
Luego deshacerse de la effective_date
columna, que siempre sería idéntica a evaluation_date
en tu ejemplo.
O... probablemente realmente quiero dos relaciones FK:
FOREIGN KEY (evaluation_date) REFERENCES date_dimension(id);
FOREIGN KEY (effective_date) REFERENCES date_dimension(id);