Mehere DB-Felder oder ein Array
berdn
- datenbank
Hallo Forum,
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 ?
Meine Idee wäre ein DB-Feld z.b. Navigation in der ich einen Array z.B.
$myNavigation = array(
'myLink1' => array('Name'=>'Name in der Navigation','URL' =>'url','Title' =>'Rollover','Target' =>'_self','CSS' =>'class');
'myLink2' => array('Name'=>'Name in der Navigation','URL' =>'url','Title' =>'Rollover','Target' =>'_self','CSS' =>'class');
);
Für eine Entscheidungshlfe dankbar,
Bernd
hi,
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 ?
wieso nicht?
Meine Idee wäre ein DB-Feld z.b. Navigation in der ich einen Array z.B.
$myNavigation = array(
'myLink1' => array('Name'=>'Name in der Navigation','URL' =>'url','Title' =>'Rollover','Target' =>'_self','CSS' =>'class');
name, URL, title und target sind individuelle eigenschaften eines links - wieso sollten die _nicht_ in jeweils einer spalte abgelegt werden?
gruß,
wahsaga
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
ID_LINK
-------
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