Tom: Benutzerabfrage in PHP+MySQL

Beitrag lesen

Hello,

Die ID könntest Du auch als Autoincrement-Spalte anlegen. Die hätte dann besser keine 0 für gültige IDs.
Begründung?

Der ID eines Datensatzes kommt keine semantische Bedeutung zu. Sie dient ausschließlich - oh Wunder ;-) - der Identifikation.
OK, das widerlegt deine Forderung nicht. Ich behaupte aber, es ist egal, ob man mit 0, mit 1 oder mit 42 beginnt.

Nein. Die 0 ist klar erkennbar als "ungültige ID" benutzbar. Selbstverständlich kann man, wenn man eine Datenbank nicht in der Praxis, sondern im Laborbetrieb betreiben will, auch jede andere ID als eindutig ungültige erklären. Im Laborbetrieb kann man vielleicht sogar daauf verzichten, da man dort ja für einfache Dinge locker irre aufwändige Sachen treiben kann. In der Praxis hat es sich allerdings  seit gut 90 Jahren automatsicher Datanverarbeitung bewährt, die 0 dafür zu benutzen.

Viele Anfrageoberationen ergeben bei Ungültigkeit automatisch die 0. Es ist einfach, diesen Wert zu erkennen. Außerdem ist es bei Datenbanken üblich, dass der Index 0 außerhalb des gültigen Bereiches liegt. Warim sollte man also bei einer ID eine Ausnahme von dieser bequemen Regel machen?

Vielleicht gitb es sogar in der Datanbanktheorie eine Begründung dafür, dass man die 0 als ungültigen Index, ungültige ID benutzen sollte, die kenne ich aber nicht und will auch, glaube ich, gar nicht danach forschen. :-)

Liebe Grüße aus dem schönen Oberharz

Tom vom Berg

--
Nur selber lernen macht schlau
http://bergpost.annerschbarrich.de