Andreas Korthaus: Warengruppenstruktur - in XML oder RDBMS speichern?

Beitrag lesen

Hi!

ein XML-Dokument ist mit einer DB in einem RDB(M)S vergleichbar.

sicher, ist schon vergleichbar, trotzdem ist en XML-Dokument deutlich besser für hierarchische Strukturen geeignet, da man das in Relationalen Datenstrukturen mit Parent_ID & Co. umständlich nachbilden muss. Aber ein Teil der Daten in der DB und der ander in XML gefällt mir auch nicht so gut.

  • Habe ich richtig verstanden, dass die Nutzer Aenderungen am Schema machen duerfen??

Ja. Ich würde die komplette Struktur in einer Tabelle abbilden, und bei jedem Gruppennamen eine ID und die Parent_ID speichern, so dass ich hinterher die Knoten ermitteln aknn und eine Baumstruktur daraus bauen kann. Der Benutzer kann dann halt die Struktur ändern, entsprechend werden dann halt die Datensätze geändert.

In etwas sieht das so aus:

Struktur:

Lebensmittel
  Getränke
  Molkereiprodukte
    Milchprodukte
    Quarkprodukte
  Backwaren

Tabelle "struktur":

ID | Parent_ID |Titel
---+-----------+------
1  | 0         | Lebensmittel
2  | 1         | Getränke
3  | 1         | Molkereiprodukte
4  | 3         | Milchprodukte
5  | 3         | Quarkprodukte
6  | 1         | Backwaren
...

Produte:
      1 Liter Frische Vollmilch
      1 Liter fettarme Milch
      0,5 Liter frische Vollmilch

Tabelle "produkte":

ID | Struktur_ID |Titel                        | Beschreibung | Bild
---+-------------+-----------------------------+--------------+------------------------------
1  | 4           | 1 Liter Frische Vollmilch   | blabla1...   | schoene_milch_12345.jpg
2  | 4           | 1 Liter fettarme Milch      | blabla2...   | schoene_milch_12346.jpg
3  | 4           | 0,5 Liter frische Vollmilch | blabla3...   | schoene_milch_12347.jpg
...

Das erstellen der Struktur, also das "bauen" des Baums mache ich dann mit einer rekursiven Funktion, sowas wie hier: http://aktuell.de.selfhtml.org/artikel/phpasp/php-forum/index.htm#a3

Hast Du vielleicht vor das von Dir beschriebene Schema in einer Datentabelle abzubilden??

Ja, s.o.

PS: @Klaus Mock: Verstehe bisher immer nur Bahnhof.   ;-)

Was verstehst Du nicht?

Viele Grüße
Andreas