Bio: Nach DELETE kein Eintrag mit ID 1

Beitrag lesen

Sup!

Eherne Prinzipien der Datenbank-Konzeption und -Programmierung besagen, daß ein Primärschlüssel NIEMALS neu vergeben werden darf.
Es könnte ja sonst evtl. zu Inkonsistenzen kommen, wenn nicht alle Referenzen bei jeder Transaktion auf Gültigkeit geprüft werden, daß heisst, wenn nicht die Struktur der Datenbank absolut perfekt und die referentielle Integrität durch Fremdschlüssel-Beziehungen und jede Menge Checks und Constraints 100%ig garantiert ist.
Z.B. könnte ja ein externes Programm per Primärschlüssel auf Datensätze zugreifen. Ein Datensatz wird gelöscht, ein neuer geschrieben - und hat die gleiche ID wie der alte. Das externe Programm weiss davon nichts - beim nächsten Start wird das externe Programm nach irgendetwas gefragt. Es guckt in der Datenbank nach dem Datensatz, der die Informationen enthält. Und es gibt den Datensatz mit der gesuchten ID - das Programm liest die Daten aus und antwortet auf die Anfrage. Aber natürlich gibt es totalen Unsinn aus, weil der Datensatz, der jetzt die gesuchte ID hat, überhaupt nichts mit dem alten Datensatz zu tun hat.
Vielleicht verwaltet das externe Programm alle Artikel eines Shops, die reduziert sind - plötzlich ist also angeblich ein ganz anderer Artikel reduziert, der wirklich reduzierte Artikel war ausverkauft und darum aus der Datenbank genommen worden, daß externe Programm hätte unter der ID dieses Artikels nichts finden dürfen.

Ich hoffe, daß hat geholfen zu verstehen, warum IDs wirklich besser nur einmal verwendet werden sollten.

Gruesse,

Bio