[MySQL] Wie Datenbank am besten aufsetzen?

M

Mr. Snoot

Gast
Hio,

ich möchte die Texte meiner HP in einer Datenbank speichern, nur weiß ich nicht so recht, wie ich das am besten machen soll.

Ich habe verschiedene Themengebiete, überall gibt es ein paar Unterkapitel welche wiederrum mehrere Absätze enthalten. Ich muss auf die einzelnen Themennamen, die Kapitelnamen und die Absatzüberschriften zugreifen können. Eine Frage ist nun, wie ich die Datenbanktabellen anlege. Die Kapitel haben natürlich eine bestimmte Reihenfolge und ebenso haben die einzelnen Absätze bestimmte Reihenfolgen. Ist es sinnvoll, alles in eine Tabelle zu stecken oder für jedes Thema ne eigene Tabelle anzulegen?

Hauptproblem aber eigentlich: wie bringe ich die Sachen beim Auslesen in die jeweilige (quasi völlig individuelle) Reihenfolge? Theoretisch müsste ich doch händisch IDs vergeben, damit die Inhalte entsprechend rauskommen!? Was aber, wenn neue Inhalte dazukommen, die sich irgendwo dazwischen einreihen? Automatisieren ist da doch eigentlich unmöglich.
 
Die Reihenfolge:

Benutzt eine "Sortierungsspalte".
Wenn die Einträge chronologisch erstellt werden, hast du am Anfang:
10
20
30
40

bei den ersten 4 Text-Blöcken.
Wenn du nun einen Text-Block zwischen dem ersten und dem zweiten einfügen willst, bekommt er die Nummer 15. Somit stimmt die Reihenfolge. Bevor du nun dein neuen Eintrag in die Datenbank reinschreibst, machst du, dank der Sortierung in der richtigen Reihenfolge, aus
Dem ersten Eintrag 10
Dem zweiten Eintrag 20 (vorher 15)
Dem dritten Eintrage 30 (vorher 20)
etc

Sprich, kaum komplizierte logik, einfach nur Zähler durchlaufen lassen :)


Ansonsten, ja würde logische Blöcke in der Datenbank trennen ODER wie ein Wiki verwalten.

Gruß
Nox
 
Verstehe zwar den Aufbau gerade nicht so recht, aber warum nicht mit verschiedenen Tabellen arbeiten?

- Themen
- Kapitel
- Inhalt

allen einträge in den Tabellen dann mit autoincrement eine ID verpassen und
das ganze dann via Join aus der DB holen, und mittels der Sortieranweisung ordnen.
Eventuell mal Nested Sets anschauen.
 
Zurück
Oben