Tom: Mehere DB-Felder oder ein Array

Beitrag lesen

Hello,

ich will für unser CMS die navigation über eine mySQL Datenbank verwalten. Jeder Link kann diverse Eigenschaften haben.
Nu könnte ich für jede Eigenschaft ein DB-Feld erstellen ?!
Das erscheint mir aber nicht sinnvoll, oder ?

Da hast Du Recht.
Besser ist es, für jede Eigenschaft einen datensatz in einer zusätzlichen Tabelle zu erstellen.
Da MySQL in der Lage ist, eine Normalisierungsstufe selbsttätig aufzulösen (Type Text, VarChar, ENUM, SET, usw.) kannst Du eine Tabelle mit Klassifizierungsschlüssel aufbauen

T_LINK

ID_LINK
 -------

T_PROPERTY

ID_PROPERTY
 ID_LINK
 ID_POPERTY_TYPE
 PROPERTY_VALUE

Und richtig wäre es sicher, in einer dritten Tabelle die PROTERTY_TYPEs zu deklarieren, ihre CheckFunktionen zu definierern, Ihre Darstellungsfunktion, etc.

Harzliche Grüße aus http://www.annerschbarrich.de

Tom

--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau