Frage

Gibt es einen Verdienst, eine Politik zu schaffen, die Entwickler Standardwerte für alle null-Spalten angeben erfordert?

War es hilfreich?

Lösung

Ja, Konsistenz
halten alle auf der gleichen Seite ist wichtig, und dies stellt sicher, Ihre Devs nicht unerwartete Werte in der Produktion erhalten.

Ich denke, es ist eine großartige Idee.

Andere Tipps

Wenn Sie einen Standardwert für alle NULL-Spalten benötigen, können Sie sie alle NOT NULL machen!

Nulls sind oft eine Quelle der Verwirrung aufgrund der drei logischen Wert sie beinhalten. Zum Beispiel kann die Abfrage ...

select * from employee where job != 'MANAGER'

... zu erwarten ist, alle Mitarbeiter zurück, die nicht-Manager sind. Aber natürlich, wenn JOB null sein kann, dann diese Abfrage wird nicht zurückkehren Mitarbeiter, deren Aufgabe es ist null.

Es könnte sein, dass dies die Gründe für die Standardwerte Politik.

Standardwerte zuweisen verschiebt das Problem nur, weil im Wesentlichen dieser Standardwert die gleiche „Bedeutung“ tragen, wie die NULL-Werte zu tun, so dass Sie konfrontiert sind dann eine Anforderung Spezialgehäuse im Code enthalten mit der „besonderen Bedeutung“ viel diese "Spezialwerte".

@TonyAndrews:

  

... zu erwarten ist, alle Mitarbeiter zurück, die nicht-Manager sind. Aber natürlich, wenn JOB null sein kann, dann diese Abfrage nicht Mitarbeiter zurückgeben deren Aufgabe es ist null. Es könnte sein, dass dies die Gründe für die Standardwerte Politik ist ....

NULL erfunden wurde fehlenden Wert zu handhaben, so dass für Ihre Anfrage rational seines vollständig nicht mit Nullwert in Job Feld zurückzukehren Reihen! Sie fragen DBMS Zeilen zurückgeben, die Aufgabe, nicht ‚Manager‘; es tut mir Mittel nicht zurück sind diejenigen, deren Arbeitsplätze nicht bekannt. wenn Sie auch fehlende Arbeitsplätze wollen, das ist andere Frage.

nur vorstellen können einige Manager sind es, die ihre Arbeit Felder NULL sind (fehlende, nicht eingegeben noch) nicht so, wenn Datenbank sie zurückkehren, Abfrage Ergebnis wäre absolut falsch sein!

komme zurück zur Haupt Frage, ich glaube, wenn ein Feld NULL ist zulässig sollte es NULL in dem Fall hat Wert fehlt, sonst, wenn das Feld nicht Wert fehlt (oder muss immer Wert default) einfach nicht mit Standard-NULL machen Wert. und dies beruht auf Geschäftslogiken in einem bestimmten Zustand.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top