Announcement

Collapse
No announcement yet.

Datenbankdesign für Forum

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

  • Datenbankdesign für Forum

    Hallo,

    ich möchte ein kleines Forum programmieren.
    Das bisherige Datenbankdesign hat eine Tabelle Foren, Threads, Posts und Benutzer. Wenn sich ein Benutzer anmeldet, soll ihm angezeigt werden, welche Threads, bzw. in welchen Foren er Threads, noch nicht gelesen hat.
    Eine Zwischentabelle erstellen, in der für jeden User und Thread ein Datensatz gespeichert wird, finde ich nicht gut, weil das ziemlich viele Daten werden könnten (Anzahl User * Anzahl Threads). Diese Daten müsste ich ja bei jedem Post aktualisieren.
    Hat jem. eine Idee, wie ich das geschickt umsetzen könnte?
    (Am Besten eine Möglichkeit, die sehr schnell arbeitet.)
    Ich bin nicht die Signatur, ich putz hier nur

  • #2
    Hallo Askor,

    die meisten "großen Foren" verzichten auf die Möglichkeit "ungelesene" Beiträge anzuzeigen. Meist wird lediglich das Datum der letzten Anmeldung gespeichert und dann die Beiträge angezeigt, die nach diesem Datum erstellt wurden.

    Wenn du ein "echtes ungelesen" haben möchtest, dann bleibt dir nichts anderes übrig, als den Status gelesen/ungelesen für jeden User und jeden Thread zu speichern. Je nach Anzahl der User und Threads kommt dabei eine ganze Menge zusammen.
    Wenn man den Status "ungelesen" (statt gelesen) speichert, kann man u.U. einiges an Daten einsparen. Hat zwar zur Folge, das du beim Speichern eines Eintrages für jeden User einen DS anlegen mußt. Beim "Lesen" wird dann der Status-DS für den jeweiligen Nutzer gelöscht. Vorteil hierbei: man könnte regelmäßig alle Beiträge die z.B. alter als 14 Tage sind als "gelesen" markieren, indem man die zugehörigen Status-DS löscht und somit das Datenvolumen relativ konstant hält.

    Gruß Falk
    Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

    Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

    Comment

    Working...
    X