Mailinglisten-Archive |
> irgendwie kann ich nicht glauben, was ich da lese. > Bevor ich mein DB-Design überdenke, solltest Du vielleicht mal ein gutes > Buch über selbiges lesen! > Zurück zu den Tatsachen. > Alle (in Worten: *alle*) Tabellen haben eine ID-Spalte, welche über eine > DB-abhängige Form von Autoincrement gefüttert wird. > Darüber ist jeder Record eindeutig identifizierbar und ich kann auf > kombinierte Schlüssel und solchen Mist gut verzichten. Als foreign key > kommt dann in allen anderen Tabellen grundsätzlich die ID-Spalte zum > Einsatz. Tatsachen? hmm stimmt habe schon viele so Tabellen gesehen: id autoincrement benutzername unique ... wenn ich in einer Tabelle eine Spalte habe die UNIQUE sein muss, dann ist es unnötig den Platz zu verschwenden und noch zusätzlich eine autoincrement Spalte anzulegen, das führt nur zu einer Verwässerung der Datenbankstruktur => unnötiger Platzverbrauch, Fehlerquelle. (ja, ich weiss dass es genau in diesem Fall da es um Benutzerdaten geht mal aus Sicherheitsgründen ratsam sein mag im Verlauf der Seiten nur noch eine kryptische ID und nicht mehr den Benutzernamen weiterzureichen, es geht mir hier aber nur darum dass es eben nicht die hohe Kunst der Datenbankerstellung ist _jede_ Tabelle mit einer Autoincrementspalte zu versehen sondern eben zu überlegen ob sie es wirklich braucht) Gruß Mike Beck mikebeck_(at)_users.sourceforge.net
php::bar PHP Wiki - Listenarchive