Hi, ich nehme an Du meintest mich jetzt mit Deiner Antwort?
Gut, nehmen wir jetzt mal an, ein Admin soll irgendwann nicht mehr Admin sein - z.B., weil es dich nervt, von ihm immer in "sinnlose Meta-Diskussionen" verwickelt zu werden :-) - was machst du dann?
Also um es nochmal zu verdeutlichen: ich habe bereits eine Spalte "admin" (Ja/Nein). Mein ganz persönlicher Account hat die ID 101 und admin auf "Ja" gesetzt. Der Spezialaccount "anonymous" hat (jetzt) die ID 1 und wird genutzt, um damit Kommentare zu verknüpfen, die halt Anonym geschrieben wurden, mal so als Beispiel.
Wird dann der PK erneut verändert?
Dieser Fall wird nicht vorkommen. Hinter den Spezialaccounts stecken keine Menschen, das ist ja das spezielle an ihnen.
Die hat er ja sowieso, wenn ich die weiteren Ausführungen jetzt richtig verstanden habe - der "sprechende" PK soll also über diese Kategorie des Datensatzes nur "schnelleren" Überblick bieten.
Also meinst Du doch Ilja. Egal, richtig das soll er.
Darin sehe ich dann aber noch eine weitere Gefahrenstelle für die Datenkonsistenz bei Änderung.
Auch für Dich nochmal, habe ich gerade schon wo anders gepostet:
http://www.niallkennedy.com/blog/uploads/flickr_php.pdf
http://www.kottke.org/04/10/normalized-data
- Normalised data is for sissies
- Keep multiple copies of data around
- Makes searching faster
- Have to ensure consistency in the application logic
Beachte die erste Aussage und beachte bitte, von welcher Anwendung (Flickr) wir hier reden. Das meine ich mit Pragmatismus. Und ja, ich dokumentiere meinen Kram, der Nächste wird sich also zurecht finden.
Beste Grüße,
Markus