82 Stimmen

Sind Nullen in einer relationalen Datenbank in Ordnung?

Es gibt eine Denkschule, die besagt, dass Nullwerte in einer relationalen Datenbank nicht erlaubt sein sollten. Das heißt, das Attribut (die Spalte) einer Tabelle sollte keine Nullwerte zulassen. Da ich aus dem Bereich der Softwareentwicklung komme, verstehe ich das nicht. Es scheint so, als ob der Wert Null im Kontext des Attributs gültig ist und daher erlaubt sein sollte. Dies ist in Java sehr üblich, wo Objektreferenzen oft null sind. Da ich keine umfassende Erfahrung mit Datenbanken habe, frage ich mich, ob ich hier etwas übersehe.

0 Stimmen

Technisch gesehen ist null in der DBMS-Sprache kein Wert, sondern ein fehlender Wert, z. B. unbekannt

26 Stimmen

Es gibt eine Denkschule, die besagt, dass auch Schemata vollständig normalisiert werden sollten. Beide Schulen haben es nie in die reale Welt geschafft :)

0 Stimmen

Wenn wir NULL nicht verwenden sollten, warum sollten RDBMSs uns dann überhaupt die Verwendung von NULL erlauben? An NULL ist nichts auszusetzen, solange man weiß, wie man damit umzugehen hat. Separate Tabellen zu erstellen, um Spalten mit Nullwerten in jedem Szenario zu speichern, ist übermäßig irreführend.

-1voto

Zack Peterson Punkte 54531

Verwandte Frage: Wie erzwinge ich Datenintegritätsregeln in meiner Datenbank?

Ich habe zunächst mit vielen kleinen Tabellen mit fast keinen Nullfeldern begonnen. Dann erfuhr ich von der LINQ to SQL IsDiscriminator-Eigenschaft und dass LINQ to SQL nur die Vererbung einzelner Tabellen unterstützt. Daher habe ich es als eine einzige Tabelle mit vielen Nullalbe-Feldern umgestaltet.

-1voto

HAXEN Punkte 388

Es ist absolut in Ordnung mit Null.

-4voto

Als Analytiker/Programmierer mit 30 Jahren Erfahrung kann ich nur sagen, dass NULLs hinten rausgenommen und von ihrem Elend befreit werden sollten.

-1, 01/01/0001/12/31/9999 und ? reichen genauso gut aus, ohne dass der Code, der zur Bewältigung dieser unangenehmen NULLs erforderlich ist, den Verstand verzerrt.

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