Forendaten speichern...

Chosi

Mitglied
Mich würde mal interessieren, in welcher Forum ihr eure Daten für ein Forum speichert...

Also ich habe überlegt, pro Forum eine eigene Database anzulegen... Mit einer Table in der die ganzen "Kopfdaten" jedes Treads gespeichert werden, also Topic, Datum, Absender usw... Und für jeden einzelnen Thread nochmal eine eigene Table mit den ganzen Antworten...

Verbesserungvorschläge, Denkanstöße ? ;)
 
Pro Forum eine Datenbank? Und dann pro Thread eine Tabelle? :eek:
Ähem... also ich bin ja der Ansicht, dass die Anzahl der Tabellen (ganz zu schweigen von der Anzahl der Datenbanken) fix sein sollte, also sich zur Laufzeit nicht ändert. D.h., egal wie viele Threads und Foren in einem Board sind, es sind immer gleich viele Tabellen. Alles andere würde IMHO auf die Performance und den Speicherverbrauch gehen.

Ich würde pro Board (nicht pro Forum!) eine Datenbank mit (mindestens) folgenden Tabellen benutzen:
'foren': id, Name, Beschreibung der einzelnen Foren (optional: Anzahl der Threads & Beiträge, Zeitpunkt des letzten Beitrages, Moderatoren, Passwort etc.)
'threads': id, Titel, id des Forums, id des ersten Beitrages (optional: Autor des ersten Beitrages, Autor des letzten Beitrages + Zeitpunkt, Anzahl der Beiträge, Besonderheiten wie 'sticky', 'important', 'read-only' etc.)
'beitraege': id, Titel, id des Autors, id des Threads, id des folgenden Beitrages, Zeitpunkt, Inhalt (nicht vergesen ;)) (optional: Name des Autors, IP, Smilies an/aus, Zeitpunkt der letzten Änderung per edit etc.)
'user': id, Nick, Passwort (optional: Titel/Rechte, Profilangaben wie Email, UIN, Signatur, Herkunft, Hobbys usw., Anzahl der Beiträge, Registrierungsdatum etc.)

Ich weiß es zwar nicht genau, aber ich schätze mal, dass die meisten Boardsysteme so od. ähnlich aufgebaut sind.
 
ich kann da reima nur zustimmen: die Anzahl der DB's und Tabellen sollte einmal am Anfang fix sein, und nur die Anzahl der Datensätze sollte sich ändern.

Die Struktur ist sicher noch "ausbaufähig" aber vom Prinzip her genauso, wie ich es auch machen würde:

ALLE Posts in EINE Tabelle, und dann über entsprechende Spalten (Foren_ID, Thread_ID, usw.) die Zuordnung, wo dieser Post hingehört.

Beispiel:
klickt jemand auf Forum "1" werden alle Threads aufgelistet, die als Forums_ID eben die "1" haben.
Wird dann ein Thread angeklickt, werden alle Posts mit der gleichen Thread_ID angezeigt sortiert nach Postdatum, usw.


Dunsti
 
Danke euch beiden :)

So hatte ich mir das ursprünglich auch überlegt... Aber ich dachte, das Ganze wird dann auf Dauer etwas unübersichtlich mit weniger Tables...

Dachte es geht vielleicht schneller mit mehreren kleinen Tables zu arbeiten, als mit einer riesengroßen... ;)
 
die Tatsache, daß in den Tabellen mehr Einträge sind heißt ja net, daß das Ganze dadurch komplizierter wird. ;)
Im Gegenteil: mit weniger Tabellen wird's eher übersichtlicher und einfacher zu programmieren ;)


Dunsti
 
Zurück