Dario Linsky
Erfahrenes Mitglied
beim datenbankdesign ist in erster linie das ziel, die daten möglichst kompakt zu speichern, ohne dass irgendwo redundanzen auftreten. redundanzen sind grob gesagt wiederholungen, die sich durch bestimmte techniken vermeiden lassen und dadurch kann speicherplatz gespart werden.
wenn man beispielsweise eine tabelle hat, bei der ein feld als varchar(255) definiert ist, dann macht es wenig sinn, in jedem datensatz erneut den kompletten string in die tabelle zu schreiben. das ist nicht platzsparend und erhöht die fehleranfälligkeit (falls man sich bei einem datensatz vertippt).
um dieses problem zu lösen, kann man eine zweite tabelle anlegen, in der man ein einziges mal diesen string speichert. aus der haupttabelle erstellt man dann eine verknüpfung auf die sog. lookup-tabelle und holt sich von da die daten. dadurch werden eventuelle tippfehler schonmal ausgeschlossen, und das problem der redundanz ist auch beseitigt.
erzeugt lieber eine tabelle mehr und benutzt beziehungen zwischen den tabellen, dann seid ihr nachher auf der sicheren seite.
wenn man beispielsweise eine tabelle hat, bei der ein feld als varchar(255) definiert ist, dann macht es wenig sinn, in jedem datensatz erneut den kompletten string in die tabelle zu schreiben. das ist nicht platzsparend und erhöht die fehleranfälligkeit (falls man sich bei einem datensatz vertippt).
um dieses problem zu lösen, kann man eine zweite tabelle anlegen, in der man ein einziges mal diesen string speichert. aus der haupttabelle erstellt man dann eine verknüpfung auf die sog. lookup-tabelle und holt sich von da die daten. dadurch werden eventuelle tippfehler schonmal ausgeschlossen, und das problem der redundanz ist auch beseitigt.
erzeugt lieber eine tabelle mehr und benutzt beziehungen zwischen den tabellen, dann seid ihr nachher auf der sicheren seite.