Mahlzeit Ilja,
gut, aber genau das ist gegenstand dieser diskussion, nämlich ob man die aussage "hat keine e-mail adresse" auch als NULL wert in der datenbank speichern kann.
IMHO nein. Und zwar sowohl bgzl. der Aussage, dass dies Gegenstand der Diskussion ist (denn das muss in meinen Augen nicht diskutiert werden), als auch ob ich es so machen würde. Die Aussage "Kunde hat keine Email-Adresse" beinhaltet nämlich die Information, dass ich beim Kunden bereits nachgefragt habe und ist eine gänzlich andere als die Aussage "Es ist nicht bekannt, ob der Kunde eine Email-Adresse hat".
"Es ist nicht bekannt" = NULL
"Kunde hat keine" oder "Kunde will sie uns nicht mitteilen" = ""
"Kunde hat eine" = "john.doe@example.com"
willtst du also meine meinung hier unterstreichen, sieht ja so aus, als wenn wir dies bezüglich einer meinung wären ?
Das bezweifle ich noch - da Deine Definitionen bzw. Ausdrucksweisen mir manchmal etwas missverständlich vorkommen. Insofern möchte ich Dir erst dann zustimmen, wenn ich auch der Meinung bin, dass wir das Gleiche meinen ...
»» Ich würde von einem vernünftigen Datenbanksystem erwarten, dass es bei einem VARCHAR2-Feld zwischen NULL, '', ' ' und 'foobar' unterscheidet.
nun, oracle ist das erste kommerzielle rdbms und wohl auch das erfolgreichste (sicherlich ansichtssache).
Das hat erst einmal nichts zu heißen. Microsoft ist auch der weltgrößte Betr[ie|ü]bssystemhersteller (und einer der größten Hersteller von Anwendungssoftware) für PCs - und über die Qualität ihrer Produkte sage ich jetzt mal nichts.
das schützt sie nicht von fehlern, aber ob das einer ist, das ist eine neue diskussion.....
In meinen Augen ist das in keinster Weise eine neue Diskussion. Es ist definitiv ein Unterschied, ob ich in einem Feld "nichts" (= NULL) oder ein leeres bzw. neutrales bzw. wertfreies Datum (numerisch = 0, String = "") speichere. Insbesondere haben derart unterschiedliche Werte höchst unterschiedliche Aussagekraft. Wenn ein DBMS das nicht zu unterscheiden vermag bzw. die Unterschiede dazwischen verwischt, ist es IMHO fehlerhaft und (in diesem Punkt) schlecht ... egal, wie toll oder bekannt der Hersteller ist.
MfG,
EKKi
sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|