Gunther: MySQL 5.0 - Tabellenlayout

Beitrag lesen

Hallo Selfgemeinde!

Ich hätte gerne mal euren Rat bezüglich eines möglichst optimalem Tabellenlayouts.

Es geht um eine Tabelle, die URLs (Seitennamen/ -titel) von Seiten meiner Website enthalten soll, zum Look-Up bei jedem Request und die eine entsprechende Resource-ID zurückliefern soll.

Ferner soll zusätzlich noch der Fall Berücksichtigung finden, dass sich der Titel/ die URL einer Seite ändert (Status 301), bzw. eine Seite nicht weiter vorhanden ist (Status 410).

Dazu habe ich nach meiner ersten Idee und Überlegung folgende Tabelle erstellt:

Feld          Typ                        Null   Standard        Kommentare
---------------------------------------------------------------------------------------------
url_id        mediumint(8)               Nein                   auto_increment
res_url       varchar(255)               Nein                   unique
id            mediumint(8)               Nein                   Resource-ID
status        enum('301', '307', '410')  Ja     NULL            mögliche Statuscodes
status_add    mediumint(8)               Ja     NULL            bei 301 bspw. aktuelle url_id

Wichtig ist u.a. auch die Unique Eigenschaft der Spalte res_url, da jede URL/ jeder Seitenname ja nur einmal existieren darf.

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.

Über ein paar Tipps/ Denkanstöße würde ich mich freuen - danke!

Gruß Gunther