Kurze Antwort: Ja, es kann NULL oder ein Duplikat sein.
Ich möchte erklären, warum ein Fremdschlüssel möglicherweise null sein muss oder eindeutig oder nicht eindeutig sein muss. Denken Sie zunächst daran, dass ein Fremdschlüssel einfach voraussetzt, dass der Wert in diesem Feld zuerst in einer anderen Tabelle (der übergeordneten Tabelle) vorhanden sein muss. Das ist alles, was ein FK per Definition ist. Null ist per Definition kein Wert. Null bedeutet, dass wir noch nicht wissen, was der Wert ist.
Ich möchte Ihnen ein Beispiel aus dem wirklichen Leben geben. Nehmen wir an, Sie haben eine Datenbank, in der Verkaufsangebote gespeichert sind. Nehmen wir weiter an, dass jedem Angebot nur ein Vertriebsmitarbeiter und ein Kunde zugeordnet ist. Ihre Angebotstabelle hätte dann zwei Fremdschlüssel, einen mit der Kunden-ID und einen mit der ID des Verkäufers. Zum Zeitpunkt der Erstellung des Datensatzes ist jedoch nicht immer ein Vertriebsmitarbeiter zugewiesen (weil noch niemand daran arbeiten kann), so dass die Kunden-ID zwar ausgefüllt ist, die ID des Vertriebsmitarbeiters jedoch leer sein kann. Mit anderen Worten, in der Regel benötigen Sie die Möglichkeit, eine Null-FK zu haben, wenn Sie ihren Wert zum Zeitpunkt der Dateneingabe nicht kennen, aber andere Werte in der Tabelle, die eingegeben werden müssen, kennen. Um Nullen in einer FK zuzulassen, müssen Sie im Allgemeinen nur Nullen für das Feld zulassen, das die FK enthält. Der Nullwert ist von der Idee, dass es sich um eine FK handelt, unabhängig.
Ob sie eindeutig oder nicht eindeutig ist, hängt davon ab, ob die Tabelle eine Eins-zu-Eins- oder eine Eins-zu-Viel-Beziehung zur übergeordneten Tabelle hat. Wenn Sie nun eine Eins-zu-Eins-Beziehung haben, ist es möglich, dass Sie die Daten alle in einer Tabelle haben, aber wenn die Tabelle zu umfangreich wird oder wenn die Daten ein anderes Thema betreffen (z. B. das von @tbone genannte Beispiel der Arbeitnehmerversicherung), dann wollen Sie separate Tabellen mit einem FK. Diese FK sollte dann entweder auch die PK sein (die Eindeutigkeit garantiert) oder mit einer eindeutigen Einschränkung versehen werden.
Die meisten FKs sind für eine eins-zu-viele-Beziehung gedacht, und das ist es, was man von einer FK erhält, ohne eine weitere Einschränkung auf dem Feld hinzuzufügen. Sie haben zum Beispiel eine Auftragstabelle und eine Tabelle mit Auftragsdetails. Wenn der Kunde zehn Artikel auf einmal bestellt, hat er eine Bestellung und zehn Bestelldatensätze, die dieselbe orderID wie die FK enthalten.