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.
Antworten
Zu viele Anzeigen?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.
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.
- See previous answers
- Weitere Antworten anzeigen
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.
3 Stimmen
Nullen sind ein Artefakt der Impedanz zwischen RDBMS und der Realität. Sie sind ein massiver systemischer Hack zur Überwindung dieser Impedanz. Die Lösung besteht nicht darin, Nullen abzuschaffen, das ist im Kontext von RDBMS nicht praktikabel. Die Lösung sind neue Arten von Datenbanken.
0 Stimmen
Die Impedanz besteht in der Tat zwischen dem Caos (der Realität) und dem menschlichen Drang zur Semantik. Entitäten, Strukturen, Typen oder was auch immer, sie alle sind Gegenstand von Veränderungen. Gehen Sie mit der polymorphen Natur eines jeden Typs um - gehen Sie mit Nullen um.