hotti: MySQL 5.0 - Tabellenlayout

Beitrag lesen

hi,

Irgendwie habe ich das "Gefühl", dass meine Tabellenstruktur eher "suboptimal" ist, komme aber auch nach intensivem Studium diverser Artikel (darunter u.a. die beiden Fachartikel von Rouven und Vinzenz zu JOINS und dem Wikipedia Artikel über Normalisierung) nicht wirklich weiter.

Bei einer solchen Tabelle gibt es auch nicht viel zu normalisieren. Eine URL ist eindeutig, die kannst Du durchaus als Primärschlüssel festlegen, da kann die Spalte id (autoincrement) schonmal entfallen. Und mit den Feldern wie

Last_Modified
 Author
 Title
 Description
 Folder
 Status

bekommst Du schon eine Tabelle URLs, die der Normalform entspricht, so dass Du auf weitere Subtables, die einen Join erfordern würden verzichten kannst. Möglich ists jedoch, über die Spalte "Folder" eine Normalisierung vorzunehmen, denn hier gäbe es Redundanzen, sofern Deinen Folder's weitere Eigenschaften (title, descr, author, lastmod usw.) zugeordnet sind. Diese wären dann in einer Subtable besser aufgehoben wobei diese Tabelle dann bspw. per Folder_ID in der Tabelle URLs referenziert ist, das sähe dann so aus:

Tab URLs
Foreign Key: Folder_ID

Tab Folders
Primary Key: ID

Das kannst Du dann soweit treiben, je nach Engine, dass beim Löschen eines Folders auch alle URLs dazu gelöscht werden.

Viele Grüße vom Baumarkt,
Horst Haselhuhn

--