CMS Datenbankstruktur

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • CMS Datenbankstruktur

    Hallo wie bau ich am besten die Datenbankstruktur eines erweiterungsfähigen CMS-Systems auf?

    Folgendes soll in der Minimalversion möglich sein:

    - Navigationsverwaltung
    - Modulverwaltung (Gästebuch, Newsletter...)
    - Benutzerverwaltung
    - Artikelverwaltung wobei Artikel an Artikel hängen können wie auch Module an Artikel hängen können.

    Ich möchte halt nicht jedes mal per $_GET die artid und plugid übergeben momentan sieht meine Struktur folgendermaßen aus:

    Tabelle: Navigation

    id = int(11) = primary key
    parent = int(11) = vorgängerid des menüeintrages
    ord_num = int(11) = sortierungnummer des menüeintrags
    art_id = int(11) = id des artikels
    name = varchar(255) = name der menübezeichnung

    Tabelle Module

    id = int(11) auto_increment = Primary Key
    name = varchar(255) = Bezeichnung des Modules
    file = varchar(255) = Dateiname des Plugins

    Tabelle Benutzerverwaltung

    id = int(11) auto_increment = Primary Key
    username = varchar(100) = Benutzername
    password = varchar(32) = Passwort
    email = varchar(255) = E-Mail Adresse

    Tabelle Artikelverwaltung

    id = int(11) auto_increment = Primary Key
    text_short = varchar(255) = übersichtstext
    text_long = text = Kompletter Artikel
    parent = int(11) = Artikel hängt an folgenden Artikel
    compid = int(11) = Id des Modules


    Hat jemand vorschläge änderungen?

    mfg
    Unix Rulez

  • #2
    Das
    wie auch Module an Artikel hängen können.
    muss man nicht verstehen oder? Was soll das heissen? Was sind das für Module?

    Die Namen der Felder sind imho unglücklich gewählt. Tlw. sind Namen doppelt vorhanden, wenn man mal an joins denkt.

    ID Felder sollten IMMER so aufgebaut sein ID_TABLENAME

    Feldnamen wie wie "name" sind tödlich.

    Parent/Pos Strukturen sind unflexibel und führen zu Killer-Queries. Denk mal über nested sets nach.

    Ich nirgends ein Feld, welches darauf schließen lässt, dass man Module, Artikel oder sonstiges verstecken, bzw. unsichtbar schalten kann. Wenn es user gibt, warum werden die nicht sinnvoll verknüpft? Darf hier jeder alles?
    h.a.n.d.
    Schmalle

    http://impressed.by
    http://blog.schmalenberger.it



    Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
    ... nur ohne :-)

    Comment


    • #3
      ich könnte auch zu module plugins sagen ist ein wenig unglücklich von mir ausgedrückt worden.

      das mit den punkt das module an artikel hängen können hat sich erledigt.

      Die Benutzerverwaltung wird momentan nur dazu benutzt um einen Login in den admin bereich zu ermöglichen.
      Unix Rulez

      Comment

      Working...
      X