Moin moin,
ich programmiere z.Zt. ein umfangreiches Content Management System und stehe nun vor einer großen Entscheidung hinsichtlich des MYSQL-Datenbankdesigns. Das CMS kann x-beliebig viele verschiedene Websitebereiche mit den unterschiedlichsten Ausprägungen verwalten.
Zwei Möglichkeiten habe ich:
1. Für jeden Bereich (und es können theor. sehr sehr viele werden) eine seperate table anlegen (ist sicher und in den Tabellen selbst übersichtlich) oder
2. Eine große multifunktionale Tabelle für alle Inhalte anlegen. Die Spaltenbelegung wäre dabei multifunktionell. D.h. in Spalte X kann für Bereich X die Headline untergebracht werden, für Bereich Y hingegen ein Link oder eine email oder was auch immer, für Bereich Z wieder was anderes ... usw., also keine feste Spaltenbelegung. Die Mehrfachbelegung der Spalten hat eine deutliche Reduzierung derselben zur Folge, ist also auch nicht sooo verkehrt, ansonsten klarer Vorteil: die Tabellenanzahl wird nie ausufern.
So, was ist hinsichtlich der Performance und des Nutzens von Vorteil und wie wird soetwas "üblicherweise" am ehesten realisiert?
Gruß
micha
ich programmiere z.Zt. ein umfangreiches Content Management System und stehe nun vor einer großen Entscheidung hinsichtlich des MYSQL-Datenbankdesigns. Das CMS kann x-beliebig viele verschiedene Websitebereiche mit den unterschiedlichsten Ausprägungen verwalten.
Zwei Möglichkeiten habe ich:
1. Für jeden Bereich (und es können theor. sehr sehr viele werden) eine seperate table anlegen (ist sicher und in den Tabellen selbst übersichtlich) oder
2. Eine große multifunktionale Tabelle für alle Inhalte anlegen. Die Spaltenbelegung wäre dabei multifunktionell. D.h. in Spalte X kann für Bereich X die Headline untergebracht werden, für Bereich Y hingegen ein Link oder eine email oder was auch immer, für Bereich Z wieder was anderes ... usw., also keine feste Spaltenbelegung. Die Mehrfachbelegung der Spalten hat eine deutliche Reduzierung derselben zur Folge, ist also auch nicht sooo verkehrt, ansonsten klarer Vorteil: die Tabellenanzahl wird nie ausufern.
So, was ist hinsichtlich der Performance und des Nutzens von Vorteil und wie wird soetwas "üblicherweise" am ehesten realisiert?
Gruß
micha
Kommentar