Rouven: PrimaryKeys - welchen nehme ich?

Beitrag lesen

Hallo,

das ist eine Prinzipienfrage. Prinzipiell kann man einen eindeutigen Wert natürlich als Schlüssel verwenden, man sollte sich allerdings der Konsequenzen bewusst sein. Wenn das zugrunde liegende Datenmodell wächst, dann werden früher oder später Beziehungen zu dieser Tabelle entstehen. Wenn du nicht mit einem künstlichen Schlüssel arbeitest, musst du die URL in den anderen Tabellen als Fremdschlüssel verwenden. Das ist speichertechnisch evtl. nicht sehr effizient.
Was in aller Regel schwerer wiegt ist die Frage "was passiert wenn sich eine URL ändert?" Im Normalfall (künstlicher Schlüssel), na ja Gott, da passt man halt die URL an, alle Schlüssel sind gewahrt. Wählst du allerdings einen sprechenden Schlüssel, dann zieht diese Änderung einen riesigen Rattenschwanz nach sich, weil du plötzlich überall die Fremdschlüssel anpassen muss. Das ist eine Situation, die man eigentlich gerne vermeiden möchte.

MfG
Rouven

--
-------------------
"I wish it need not have happened in my time" - "So do I, and so do all who live to see such times. But that is not for them to decide. All we have to decide is what to do with the time that is given us."  --  J.R.R. Tolkien: "The Lord Of The Rings: The Fellowship Of The Ring"