Zeer goede vraag. Er is geen fundamentele reden waarom een referentiële beperking niet zou verwijzen naar iets anders dan een kandidaatsleutel. Er is zelfs een naam voor dergelijke beperkingen:Inclusion Dependencies. Een externe sleutel is slechts een soort inclusie-afhankelijkheid waarbij het doel van de beperking toevallig een kandidaatsleutel is.
Helaas biedt SQL geen goede ondersteuning voor inclusie-afhankelijkheden of zelfs voor referentiële beperkingen in het algemeen. SQL beperkt zijn zogenaamde FOREIGN KEY-beperkingen tot het verwijzen naar de kolommen van een UNIEKE of PRIMARY KEY-beperking (niet noodzakelijkerwijs een kandidaat-sleutel).
Dus waar je tegenaan bent gelopen, is echt een dubieuze beperking van SQL. Het betekent niet dat je iets heel erg verkeerd doet.