Viele kleine Tabellen vs. große multifunktionale Tabelle

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Viele kleine Tabellen vs. große multifunktionale Tabelle

    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
    http://www.designbetrieb.de
    webdesign suchmaschinenoptimierung printmedien grafikdesign corporate design logoerstellung fotografie

  • #2
    ich programmiere z.Zt. ein umfangreiches Content Management System
    Anscheinend ja nicht!

    Es ist die Sache, was für Bereiche du hast.

    Wenn es z.B. eine Linkliste ist, dann mach für die Linkliste auf jeden Fall se eigene. Ich denke ich würde es, sofern es modulartig ist, für jedes ne einzelne machen.

    Ob du ein zusätzliches Feld hast, oder eine zusätzliche Tabelle, macht dem Server nichts aus. Viel mehr aber ein halbvolles TEXT-Feld, oder 10000 Einträge.

    Kommentar


    • #3
      vielen Dank, ich warte noch weitere statements ab.
      gruß
      micha
      http://www.designbetrieb.de
      webdesign suchmaschinenoptimierung printmedien grafikdesign corporate design logoerstellung fotografie

      Kommentar


      • #4
        Servus...

        Ich schätze mal du wirst deine Entscheidung schon getroffen haben, falls nicht hätte ich da noch einen anderen Vorschlag:

        Hierzu brauchst du 3 Tabellen
        1. Content => enthält alle Daten die bei allen content typen gleich sind
        2. Content_Property => enthält alle eigenschaften für alle content typen (z.B. URL, Überschrift,...)
        3. Property2Content => stellt die Verbindung zwischen Content und Content_Property her und vergibt den Wert des Content_Property.

        Somit kannst du dann Contents anlegen und diesen beliebige Eigenschaften zuweisen und mit Inhalt füllen.

        Wenn du magst kannst du noch eine Tabelle ContentType anlegen welcher dann über eine weitere Tabelle ContentProperty2ContentType Eigenschaften zugewiesen werden. Das gibt dir die möglichkeit DefaultProperties zu vergeben. D.h. jeder Content vom type sowieso hat die und die Eigenschaften...

        Alles Klar? Nein? Dann Frag ruhig...


        Bye!

        Kommentar

        Lädt...
        X