Meget godt spørgsmål. Der er ingen grundlæggende grund til, at en referencebegrænsning ikke skal referere til noget andet end en kandidatnøgle. Der er endda et navn for sådanne begrænsninger:Inclusion Dependencies. En fremmednøgle er blot en type inklusionsafhængighed, hvor målet for begrænsningen tilfældigvis er en kandidatnøgle.
Desværre giver SQL ikke god støtte til inklusionsafhængigheder eller endda for referencemæssige begrænsninger generelt. SQL begrænser sine såkaldte FOREIGN KEY-begrænsninger til at henvise til kolonnerne i en UNIK eller PRIMÆR NØGLE-begrænsning (dog ikke nødvendigvis en kandidatnøgle).
Så det du er stødt på er virkelig en tvivlsom begrænsning af SQL. Det betyder ikke, at du gør noget meget forkert.