ER-Diagramm - Forum

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

  • ER-Diagramm - Forum

    Hallo zusammen!

    Die Such-Funktion des Forums konnte mir leider nicht weiterhelfen.

    Zum Problem:

    Ich möchte ein Forum realisieren und habe im Moment Anlaufschwierigkeiten.

    Hänge am ER-Diagramm fest.

    Benutzer mit entsprechenden Rechten (z.B. registriert) dürfen ein neues Thema anlegen und dieses zu späteren Zeitpunkten editieren.
    Nur dieses Editieren möchte ich auch in der Datenbank speichern. Doch soll der alte Beitrag nicht überschrieben werden (SQL update Befehl). D.h. es soll gespeichert und protokolliert werden.

    Klickt man auf das Protokoll, sieht man die Änderungen vom Tag der Erstellung des Themas/Beitrags bis heute.
    Doch schaut man sich nur im Forum im entsprechenden Beitrag um, so sieht man nur die letzte Änderung.

    Wie kann man das nun umsetzen?

    Meine Idee:

    Kann man in MySQL zwei Attribute als Schlüssel definieren?

    Der Sinn hinter den beiden Schlüsseln: Der erste Schlüssel würde den Beitrag / das Thema identifizieren und der zweite Schlüssel die letzte Änderung, Beispiel: Datum als Attirbut.

    Die Entität: THEMA
    # ID
    * Titel
    * Autor
    * Datum
    * Text

    ps: Ich weiß, es ist etwas schwammig dargestellt. Ich hoffe, ich werde nicht gleich gepeinigt.

    Gruß

  • #2
    Man kann einen Index über mehrere Spalten definieren. Man kann auch mehrere Indizes definieren. Jeden davon wahlweise über eine oder mehrere Spalten.


    Ich würde die alten Versionen übrigens in eine andere Tabelle verschieben.

    posts(id, uid, timestamp, title, body, ...)
    post_revisions(pid, rid, uid, timstamp, title, body, ...)

    In posts wird der jeweils aktuelle Beitrag gespeichert. Soll er geändert werden, wird er zuvor nach post_revisions kopiert.

    Kommentar


    • #3
      Danke dir onemorenerd.

      An eine parallele Datenbank hatte ich auch schon gedacht. Ist das aber auch schon die eleganteste Lösung?

      Gruß von nerd zu nerd

      Kommentar


      • #4
        Original geschrieben von deNiz83
        Danke dir onemorenerd.

        An eine parallele Datenbank hatte ich auch schon gedacht. Ist das aber auch schon die eleganteste Lösung?

        Gruß von nerd zu nerd
        Eine weitere Tabelle reicht auch aus, da benötigst du keine zweite Datenbank
        Das kannst du aber durchaus so machen und würde ich auch als mit die beste Lösung ansehen!

        Kommentar


        • #5
          Ich meinte auch eine zweite Tabelle (Gemeint ist nicht gesagt.)

          Dir auch danke PHP-Desaster.

          Werde es dann wohl so realisieren.

          Danke nochmals

          Kommentar

          Lädt...
          X