Einzelnen Beitrag anzeigen

Iwo Asnet

Registriert seit: 11. Jun 2011
313 Beiträge
 
#3

AW: FB: Foreign Key mit Null

  Alt 22. Dez 2011, 08:59
Nun ja. Eigentlich ist es schon ungewohnt.

Aber es wird implizit (oder eigentlich fast explizit) durch die Definition "INTEGER" statt "INTEGER NOT NULL" so angegeben. Man muss nur wissen, wie man das lesen soll.

Ich persönlich vermeide das allerdings, weil ich für die Abfrage der FK-Beziehung ein LEFT JOIN nehmen müsste, was i.a. langsamer ist. Ich erzeuge mir in der Fremdtabelle dann einen leeren Datensatz, idealerweise mit der PK-ID=0. Natürlich nur, falls es notwendig ist und Sinn ergibt.

Bei Dir ist es ja so, das Rechnungspositionen ohne Rechnungen absolut katastrophal wären. Insofern sollte der FK schon als NOT NULL deklariert sein.

Bei hierarchischen Beziehungen dagegen ist es imho die einzige Möglichkeit, einen Eintrag ohne übergeordneten Vorgänger (z.B. Wurzelknoten eines Baumes) zu definieren: Hier ist der Vorgänger dann NULL. Alles andere wären Tricks (die Wurzel hat sich selbst als Vorgänger, oder ganz auf FK verzichten), die nur Probleme bereiten.
  Mit Zitat antworten Zitat