![]() |
Datenbank: MYSQL • Zugriff über: PHP Script
Aufbau der Datenbank für kleines Forum
Hallo,
ich wollte mich gerne einmal an einem kleinen Forum versuchen. Nun habe ich da ein Problem, wie ich meine Datenbank aufbauen / strukturieren soll. Ich habe im Prinzip für mein Forum 5 Kategorien zur Auswahl (1,2,3,4,5) und diese Kategorien können jeweils wiederum immer 4 verschiedene Unterkategorien haben, in denen dann die jeweiligen Beiträge stehen. Hier mal eine Kleine Darstellung:
Code:
Forum
| /----->Kategorie 1 | | | /----->Unterkategorie 1 ---> Themen mit Beiträgen | /----->Unterkategorie 2 ---> Themen mit Beiträgen | /----->Unterkategorie 3 ---> Themen mit Beiträgen | /----->Kategorie 2 | | | /----->Unterkategorie 1 ---> Themen mit Beiträgen | /----->Unterkategorie 2 ---> Themen mit Beiträgen | /----->Unterkategorie 3 ---> Themen mit Beiträgen /----->Kategorie 3 | | | /----->Unterkategorie 1 ---> Themen mit Beiträgen | /----->Unterkategorie 2 ---> Themen mit Beiträgen | /----->Unterkategorie 3 ---> Themen mit Beiträgen |... Jede Kategorie kann dieselben Unterkategorien enthalten, muss aber nicht alle haben. Letzten Endes sollen die Themen mit den einzellnen Beiträgen innerhalb der Kategorie mit der richtigen Unterkategorie angezeigt werden. Das ganze sollte man soweit ich schonmal gelesen habe mittels mehrerer Tabellen lösen, und diese dann verknüpfen. Doch wie sollte man jetzt die Datenbank aufbauen, um am Ende dieses Ziel zu erreichen? |
Re: Aufbau der Datenbank für kleines Forum
Hallo,
ich würde es so machen: Hauptkategorien:
Code:
Unterkategorien:
main_id title ...
Code:
Beiträge:
sub_id main_id title ...
Code:
Die Beiträge ordnest du den Unterkategorien über die sub_id zu. Diese wiederum sind über main_id mit den Hauptkategorien verknüpft.
entry_id sub_id text user_id ...
Die Spalten kannst du natürlich anders benennen. Doch ich denke, so ist es recht anschaulich. Auch bist du so flexibel, was die Anzahl an Kategorien/Unterkategorien betrifft, denn diese ist offen. Grüße, Matze |
Re: Aufbau der Datenbank für kleines Forum
Ohne groß nachgedacht zu haben:
Code:
Tabelle Kategorie:
================== ID integer Bezeichnung varchar(X) Tabelle Unterkategorie: ======================= ID integer Kat_ID integer (FK auf Kategorie) Bezeichnung varchar(X) Tabelle Thema: ============== ID integer UKat_ID integer (FK auf Unterkategorie) Bezeichnung varchar(x) Tabelle Beitrag: ================ ID integer Thema_ID integer (FK auf Thema) Titel varchar(X) Inhalt blob Zeit timestamp |
Re: Aufbau der Datenbank für kleines Forum
Ok, vielen Dank
insoweit hatte ich das ganze auch gedacht. Nur wirft sich jetzt das problem auf, dass jede Hauptkategorie ja dieselbe Unterkategorie haben kann. z.B.: Beitrag 1 --> Thema 1 --> Unterkategorie 1 --> Kategorie 1 Beitrag 4 --> Thema 2 --> Unterkategorie 1 --> Kategorie 3 Ich glaube dieses Probelm decken die beiden Vorschläge nicht ab? Oder? |
Re: Aufbau der Datenbank für kleines Forum
Meinst Du wirklich dieselbe Unterkategorie oder nur gleichlautende? Ich habe oben übringens noch einen Zeitstempel vergessen, um die Beiträge sortieren zu können, ich editier das mal.
|
Re: Aufbau der Datenbank für kleines Forum
Stimmt. Ich sehe darin zwar keinen Sinn, aber mit einer weiteren Tabelle kannst du die Zuordnung auch realisieren:
Tabellenverknüpfungen:
Code:
Die füllst du dann bsp. so:
main_id sub_id
Code:
Das fällt mir jetzt ohne groß nachzudenken ein.
main_id=1 sub_id=3
main_id=1 sub_id=4 main_id=2 sub_id=1 main_id=2 sub_id=3 Grüße, Matze |
Re: Aufbau der Datenbank für kleines Forum
Zitat:
z.B. Die Unterkategorien heißen: Sonstiges, Wünsche, Fragen, Fehlerberichte. Diese sollen ein jeder Kategorie gleich heißen, ggf. in der einen halt eine Unterkategorie weniger oder mehr... je nach dem. |
Re: Aufbau der Datenbank für kleines Forum
Also wenn die Namen gleich lauten sollen, dann geht bsp. mein erster Vorschlag, da die Zuordnung nicht über den Namen sondern über die ID erfolgt.
Sollen die identischen Unterkategorien (gleiche Unterkategorie-IDs) in verschiedenen Hauptkategorien zu finden sein (im Prinzip eine Mehrfachverlinkung), dann kannst du. den angesprochenen Weg über die extra Zuordnungstabelle gehen. |
Re: Aufbau der Datenbank für kleines Forum
Klar gibt es da einen Unterschied. Wenn Du "Wünsche" in der Kategorie 1 einmal in "Forderungen" umbenennen willst, kannst Du das bei unseren Vorschlägen tun, ohne dass andere Kategorien davon betroffen sind. Benutzt Du immer dieselbe Unterkategorie, wirken sich Änderungen natürlich global aus.
[edit] Außerdem ist die Zuordnung der Themen IMHO leichter zu realisieren, wenn eine Unterkategorie zu genau einer Kategorie gehört. [/edit] |
Re: Aufbau der Datenbank für kleines Forum
Ich vermute, er möchte nur gleiche namen verwenden können. Alles andere ergibt für mich keinen Sinn.
In dem Fall geht Deddys bzw. mein erster Vorschlag. |
Re: Aufbau der Datenbank für kleines Forum
Oder mir fällt da gerade was ein:
Beitrag verküpft mit Thema verküpft mit Hauptkategorie und die Tabelle mit dem Thema enthält zusätlich die UnterkategorieID um dann in der Hauptkategorie das Thema einordnen zu können. Sollte doch gehen? |
Re: Aufbau der Datenbank für kleines Forum
Ich verstehe zwar nur Bahnhof :mrgreen: aber wenn du das Funktionsprinzip des erwähnten Aufbaus verstanden hast, kannst du das recht einfach auf deine Bedürfnisse/Zuordnungen anpassen.
|
Re: Aufbau der Datenbank für kleines Forum
Zitat:
|
Re: Aufbau der Datenbank für kleines Forum
Mal nachdenken: dann bräuchte die Auflösungstabelle zwischen Kategorie und Unterkategorie zusätzlich einen künstlichen Primärschlüssel, den Du dann im Thema als FK verwenden kannst. Mit den beiden IDs von Kategorie und Unterkategorie wäre es ja sonst möglich, eine Kombination zu wählen, die überhaupt nicht zugeordnet ist.
|
Re: Aufbau der Datenbank für kleines Forum
Mhhh,....
geht es denn nicht so, dass ich mir ersteinmal die DB nach einer Bestimmten Kategorie durchsuche und die Ergebnisse dann erneut nach Unterkategorien durchsuchen lassen? damit sollte das doch ausgeschlossen sein? oder etwa nicht? |
Re: Aufbau der Datenbank für kleines Forum
Liste der Anhänge anzeigen (Anzahl: 1)
Was soll passieren, wenn Du aus der Zuordnungstabelle einen Datensatz löschen willst?
[edit] Ich hab mal mit IBExpert ein kleines Datenmodell erstellt, dann sieht man besser, was wir meinen. [/edit] |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:55 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz