PHP Portal » PHP Forum » Entwicklung » MySQL, PostgreSQL und SQL-konforme Datenbanken » Baumstruktur speichern

Baumstruktur speichern 

von
Besucher
Zitat
Hallo @ all,
ich möchte mir eine Listenstruktur aufbauen die in einer Baumstruktur gegliedert ist.

Beispiel:

  • Hauptgruppe
  • - Untergruppe
  • -- Weitere Untergruppe


Jedoch bin ich gerade am rätseln wie ich das in der Datenbank (MySQL) abspeichern sollte.

Habt ihr mir Erfahrungswerte oder Internetseiten wie man so etwas am besten macht?

Gruß Michael

Werbung

Re: Baumstruktur speichern 

von
Neuling
Zitat
Dafür gibst es 2 Mehtoden.
1.) Nested Sets die in Foren zum einsatz kommt (http://de.wikipedia.org/wiki/Nested_Sets)

2.) Adjazenzmatrix (Nachbarschaftsmatrix)
( http://de.wikip ... i/Adjazenzliste )

Punkt 2 ist die einfacher Methode dabei gibst du nur immer den Nachbarsknotenpunkt an.
In der Datenbank setzt du das als spalte Parent um die immer die Nummer des Eltern Elements angibt.

Dein Beispiel: ( In anwendung der Nachbarschaft Matrix)
Beispiel:
•Hauptgruppe

•- Untergruppe

•-- Weitere Untergruppe


Tablen aufbau:
spalten: id,name,parent
id Type integer einstellen auf autoincrement
name Type varchar(string) länge 30
parent Type integer

Einträge sehen nun so aus
1 , Hauptgruppe, 1 // Verweis auf die Hauptgruppe sich selbst oberste
2 , Untergruppe , 1 // Verweis auf die Hauptgruppe
3 ,Weitere Untergruppe ,2 // Verweis auf die Untergruppe

Unsw.

Mfg Splasch

Schnellantwort