Null dient einem sehr gültigen Zweck, einen Mangel an Wert darzustellen.
Ich werde sagen, dass ich die lautstärkste Person bin, die ich über die Missbräuche von Null und all die Kopfschmerzen und Leiden, die sie verursachen können, weiß, besonders wenn sie großzügig eingesetzt werden.
Mein persönlicher Standpunkt ist, dass Menschen Nullen nur verwenden dürfen , wenn sie begründen können, dass dies notwendig und angemessen ist.
Beispiel zur Begründung von Nullen:
Das Sterbedatum ist in der Regel ein nullwertfähiges Feld. Es gibt drei mögliche Situationen mit Todesdatum. Entweder ist die Person gestorben und das Datum ist bekannt, die Person ist gestorben und das Datum ist unbekannt, oder die Person ist nicht tot und daher gibt es kein Todesdatum.
Das Todesdatum ist auch ein DateTime-Feld und hat keinen "unbekannten" oder "leeren" Wert. Es hat zwar das Standarddatum, das angezeigt wird, wenn Sie eine neue Datumszeit erstellen, die je nach verwendeter Sprache variiert. Technisch gesehen besteht jedoch die Möglichkeit, dass die Person zu diesem Zeitpunkt tatsächlich gestorben ist und als Ihr "leerer Wert" gekennzeichnet wird, wenn Sie dies tun würden Verwenden Sie das Standarddatum.
Die Daten müssten die Situation richtig darstellen.
Person ist verstorben Sterbedatum bekannt (09.03.1984)
Einfach, '3/9/1984'
Person ist Todestag ist unbekannt
Also, was ist am besten? Null , '0/0/0000' oder '01 / 01/1869 '(oder was auch immer Ihr Standardwert ist?)
Person ist nicht tot Sterbedatum ist nicht anwendbar
Also, was ist am besten? Null , '0/0/0000' oder '01 / 01/1869 '(oder was auch immer Ihr Standardwert ist?)
Denken wir also über jeden Wert nach ...
- Null , es hat Konsequenzen und Bedenken, vor denen Sie vorsichtig sein müssen, wenn Sie versehentlich versuchen, es zu manipulieren, ohne zu bestätigen, dass es nicht null ist. Dies würde zum Beispiel eine Ausnahme auslösen, aber es repräsentiert auch die tatsächliche Situation am besten ... Wenn die Person nicht tot ist das Todesdatum existiert nicht ... es ist nichts ... es ist null ...
- 0/0/0000 , Dies könnte in einigen Sprachen in Ordnung sein und sogar eine angemessene Darstellung ohne Datum sein. Leider wird dies in einigen Sprachen und bei der Validierung als ungültige Datums- und Uhrzeitangabe abgelehnt, was in vielen Fällen zu einem Fehlschlag führt.
- 01.01.1869 (oder was auch immer Ihr voreingestellter Datums- / Uhrzeitwert ist) , das Problem hier ist, dass es schwierig wird, damit umzugehen . Sie könnten das als Wertmangel verwenden, außer was passiert, wenn ich alle meine Aufzeichnungen herausfiltern möchte, für die ich kein Sterbedatum habe? Ich könnte leicht Leute herausfiltern, die an diesem Datum tatsächlich gestorben sind, was zu Problemen mit der Datenintegrität führen könnte.
Die Tatsache , manchmal Sie Sie brauchen nichts zu vertreten und sicher manchmal ein Variablentyp eignet sich gut für das, aber oft Variablentypen müssen in der Lage sein , nichts zu vertreten.
Wenn ich keine Äpfel habe, habe ich 0 Äpfel, aber was ist, wenn ich nicht weiß, wie viele Äpfel ich habe?
Auf jeden Fall ist null missbraucht und möglicherweise gefährlich, aber es ist manchmal notwendig. In vielen Fällen ist dies nur die Standardeinstellung, denn bis ich einen Wert gebe, fehlt ein Wert und etwas muss ihn darstellen. (Null)