Frage zu Datenbanken

Gast #1092857
Lesenswert?

Hallo,

ich würde gerne eine Baumstruktur, z.B. wie in einem Blog mit 
hierarchisch angeordneten Kategorieen, in einer Datenbank speichern.

Wie macht man das normalerweise? Baut man für jede Ebene und jede 
Unterebene eine eigene Tabelle, die dann mit dem Vater verknüpft wird?

Oder ist es üblich, dass man die Baumstruktur flach in einer Tabelle 
ablegt und über die Fremdschlüssel eines Tabelleneintrags zum 
Primärschlüssel des Vaters linkt?

Ideen sind da, aber wie macht man das üblicherweise? z.B. bei Wordpress?

Vielen Dank für Hilfe

Grüße
Gast
Gast #1092863
Lesenswert?

Guck doch einfach nach, die Quelltexte und Datenbanken von Wordpress 
sind frei.

Wenn du für jede Ebene eine eigene Tabelle baust, kriegst du ein 
Problem: Entweder, du baust von vornherein N Tabellen. Dann beschränkst 
du auch von vornherein die maximale Schachtelungstiefe.
Oder du baust und löschst die Tabellen dynamisch. Das wird dann die 
Datenbank nicht sonderlich freuen, sofern du überhaupt die nötigen 
Berechtigungen hast, um zur Laufzeit die Datenbank-*Struktur* zu 
verändern.
Gast #1092877
Lesenswert?

Die Datensätze liegen in einer Tabelle. Die hirarchische Struktur wird 
durch ein Datenfeld mit einem Level-Indikator (zusätzlich zur uniqen 
Beitragsnummer) verwaltet und existiert praktisch nur in der Art, die 
Daten zu darzustellen bzw. zu interpretieren ...

Frank
Gast #1092906
Lesenswert?

>Oder ist es üblich, dass man die Baumstruktur flach in einer Tabelle
>ablegt und über die Fremdschlüssel eines Tabelleneintrags zum
>Primärschlüssel des Vaters linkt?


IdR macht man das genau so.

Für Spezialanwendungen kann man aber auch mal mit Haupt / Untertabelle 
arbeiten.
Admin Persönliche Seite #1093002
Lesenswert?

Gast wrote:
> Oder ist es üblich, dass man die Baumstruktur flach in einer Tabelle
> ablegt und über die Fremdschlüssel eines Tabelleneintrags zum
> Primärschlüssel des Vaters linkt?

Das ist die am weitesten verbreitete Methode. Eine andere, die eine 
schnellere Abfrage von kompletten Zweigen des Baums erlaubt, ist das 
Nested Set (http://www.klempert.de/nested_sets/).

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren