446 Stimmen

Kann ein Fremdschlüssel NULL und/oder ein Duplikat sein?

Bitte klären Sie zwei Dinge für mich:

  1. Kann ein Fremdschlüssel NULL sein?
  2. Kann ein Fremdschlüssel dupliziert werden?

So fair wie ich weiß, NULL sollte nicht in Fremdschlüsseln verwendet werden, aber in einer Anwendung von mir kann ich Folgendes eingeben NULL sowohl in Oracle als auch in SQL Server, und ich weiß nicht, warum.

-6voto

SQLDev Punkte 1

Die Idee eines Fremdschlüssels basiert auf dem Konzept des Verweises auf einen Wert, der bereits in der Haupttabelle vorhanden ist. Aus diesem Grund wird er in der anderen Tabelle als Fremdschlüssel bezeichnet. Dieses Konzept wird als referentielle Integrität bezeichnet. Wenn ein Fremdschlüssel als Nullfeld deklariert wird, verstößt er gegen die Logik der referentiellen Integrität. Worauf wird er sich beziehen? Er kann sich nur auf etwas beziehen, das in der Haupttabelle vorhanden ist. Daher halte ich es für falsch, ein Fremdschlüsselfeld als Null zu deklarieren.

-9voto

user4532553 Punkte 1

Ich denke, Fremdschlüssel einer Tabelle auch Primärschlüssel zu einigen anderen table.So wird es nicht erlaubt nulls.So gibt es keine Frage der mit null Wert in Fremdschlüssel.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X