Forum - Aufbau
-
Öhm ich wiederspreche euch zweien ja nur ungern *g* aaaber:
Der Typ LONGTEXT fasst theoretisch 4 GB Daten, also 4.294.967.296 Buchstaben
Die von Mysql tatsächlich verwendete Größe beträgt bei LONGTEXT ($tatsaechliche_textlaenge+4) Bytes. Wenn du in so einem Feld also nur einen Buchstaben speicherst, dann belegt der auch nur 5 Byte. Auch sollte die Arbeit mit solchen Feldern nicht wesentlich langsamer sein als mit kleineren (natürlich vorausgesetzt, dass man keine 4 GB-Beiträge schreibt und die dann vom Server immer runterladen muss *g*)Übrigens:
TEXT = max 65.536 Zeichen
MEDIUMTEXT = max 16.777.216 ZeichenZu den Tabellen: Ich würde eine für die Threads und eine für alle Beiträge nehmen. Dann kannst du die über IDs miteinader verknüpfen.
Bloops
-
Ah, verdammt. War zu faul nachzuschauen.
-
wenn du für jedes thema ne eigene tabelle anlegst, dann wirst narrisch
ich würd eine table nehmen, wo du reinschreibst, welche foren, die beschreibungen, wer mod ist, wieviele beiträge, aktuellster beitrag
und eine table für die topics (posts). da musst dann halt folgende infos mitspeichern:
general-id, topic id (also zu welchem topic der eintrag gehört), datum, autor, text, bearbeitungen (wann?)die general-id wird per auto-increment gemacht, für die topic id musst dir was überlegen (dürft aber nicht schwer sein). denke phpbb ist ähnlich aufgebaut
-
general_id??? neee... es gibt ne foren_id, ne topic_id und ne post_id. Die kann mann dann wunderbar alle miteinander verknüpfen.
-
Ich denke für Korbinian war general_id == post_id...
-
Ladt dir doch einfach mal das phpBB runter und schau dir an, wie es dort aufgebaut ist - oder auch andere Foren (gibt es ja zu Hauf)
-
LOL... oh *g* Na dann *general_id for president schild hochalten tu*
Aber ich versteh nicht, was man sich seiner Meinung nach bei der topic_id überlegen soll... Die wird auch einfach autoincrementiert...
-
hm, anscheinend hab ich mich misverständlich ausgedrückt:
general_id = id des einzelnen postes
topic_id = id des topics (themas) zu dem dieser post gehört. wird eigentlich nicht autoincrementiert. nur wenn einer ein neues thema erstellt (neues topic)
-
Ja eben, immer wenn einer ein neues Topic erstellt, also bei jedem INSERT in die Tabelle, denn wenn einer nur ein Posting verfasst, dann äußert sich das ja nur in einem UPDATE in der topic_table.
-
Benutzer -------- ID Name Thema -------- ID BenutzerID Bezeichnung Beitrag -------- ID ThemaID Titel Inhalt Durch die IDs verknüpfst Du die Felder miteinander. Ganz einfach.
Sofern Du Dich für Datenbankprogrammierung näher interessierst, kommst Du nicht umher Dir ein gutes zulegen zu müssen. Nichts ist schlimmer als selbstgeflickte MySQL-Datenbanken. Vor kurzem durfte so eine Datenbank neustrukturieren. Es war furchtbar.
Ergänzend: Natürlich fehlen in meiner Darstellung viele Felder wie Löschtermin, Erstelltermin oder Änderungstermin, sowie Ersteller usw. Aber das überlasse ich Dir.
-
OK, danke. Vorallem die Info, dass LONGTEXT nur genau die Textgröße belegt ist nützlich.
M.T.