Rouven: ID Verwaltung in DB

Beitrag lesen

Hello,

Ich habe mich gefragt, wie man geschickterweise IDs für einzelne Beiträge in einem Blog (oder dergleichen) erstellt, um später mittels der ID auf einzelne Beiträge zugreifen oder Kommentare zuordnen zu können.
Wie wird das in der Regel realisiert? Gibt es einen Königsweg?

wie die Bezeichnung "ID" nahe legt, geht es ausschließlich darum, eine eindeutige Kennzeichnung für den Datensatz zu erreichen. Eigentlich alle Datenbanksysteme bringen dafür vorgefertigte Mittel mit, sie heißen teilweise etwas unterschiedlich. Bei MySQL z.B. ist es eine Integer-Spalte vom Typ auto_increment, wobei letzteres angibt, dass beim Einfügen eines Datensatzes automatisch eine Nummer anhand einer dir unsichtbaren Zahlenliste vergeben wird. Wo die herkommt, ist nicht dein Problem. Etwas größer gibt es z.B. noch GUID, die aber auch eine Menge mehr Speicher verbrauchen.

Noch eine Frage: Wie kann man bei einem Eintrag in eine Tabelle (INSERT INTO) bestimmen, dass der Eintrag am Anfang oder Ende der Tabelle eingefügt werden soll?(Damit später der aktuellste Eintrag stets als erster ausgelesen wird usw..)

das ist ein grundlegend fehlerhaftes Verständnis einer Tabelle, das dir zugegebenermaßen von Microsoft Access oder auch MySQL suggeriert wird. Eine Tabelle hat keine Reihenfolge, es gibt kein "am Anfang" und kein "am Ende". Der SQL-Server von Microsoft ist ein Paradebeispiel dafür, dass Datensätze die Reihenfolge wechseln können. Wenn Datensätze eine vorhersehbare Reihenfolge haben sollen, dann musst du genau dafür sorgen. Gib ihnen irgendeinen Wert mit, nach dem man sortieren kann, z.B. eine Zeitstempel.

Eine Anmerkung am Schluss: Viele Leute glauben eine tolle Lösung gefunden zu haben, wenn sie beide Aspekte kombinieren: Auto-Increment und "ich will eine Reihenfolge". Die selben Leute tauchen mit einer gewissen Häufigkeit später hier im Forum auf und fragen, wie sie denn Lücken in ihren IDs loswerden oder Datensätze vertauschen können - daher: Mach gar nicht erst den Fehler. Wie eingangs gesagt, die ID dient ausschließlich der Identifikation, nicht der Reihenfolgenbildung.

MfG
Rouven

--
-------------------
Unser Problem ist, dass wir eine Demokratie entwickelt haben, was nicht immer der richtige Weg ist  --  Bernie Ecclestone zu den lästigen Diskussionen um Regeländerungen in der Formel 1