Hi!
Hm, vielleicht speicher ich die Struktur doch lieber in einer Tabelle, halt immer mit ID und Parent_ID, wie wie in Henryks PHP/MySQL Forums-Artikel?
Finde ich an sich auch als bessere Lösung.
Hm, und da dachte ich doch glatt ich hätte das erste mal eine Möglichkeit gefunden XML auch mal produktiv einzusetzen :-(
Naja, aber Du hast schon recht, vor allem durch die Notwendigkeit der Verknüpfung mit den Produkten ist XML nicht merh so optimal.
Ganz vielleicht wandel ich dann halt die Konfigurations-Datein in XML-Format um, mal sehen ;-)
Da will ich Dir gleich lange Zähne machen und
Was ist das denn für ein Spruch? ;-)
von einem Feature beiOracle erzählen. Damit kann man nämlich auch rekursive Abfragen auf Tabellen machen, die mit sich so einer Parent/Child-Beziehung steht.
Ein
SELECT LEVEL, id, spalte, noch_ne_spalte
FROM Tabelle
START WITH id_parent is null
CONNECT BY PRIOR ID = id_parent
würde dann eine ganze Struktur ausgeben. (*hehehe*)
Wie wird das denn ausgegeben? Wenn ich das jetzt vn PHP aus machen würde, was bekäme ich dann zurück? Einen Array oder ein Objekt mit der fertigen Struktur?
Hm, hm, hm.... naja, wie es der Zufall will wird auch gerade überlegt welches RDBMS denn zu verwenden ist. Naja, leider bin ich zur Zeit noch auf PHP beschränkt, daher wird die Wahl der DB doch etwas eingeschränkt. Gut, Oracle könnte mir auch gefallen, obwohl ich da so gut wie keine Erfahrung mit habe, aber man hört ja dies und das... nur mind. 20.000 EUR allein für die DB-Lizenzten auszugeben, das ist einfach nicht drin. Aber was wären die Alternativen? OK, DB2 würde mir auch sehr gefallen, nur konnte ich da bis heute keine Schnittstelle bei PHP finden (obwohl es bei ./configure den --with-db2-dir Parameter gibt!!!). Und ODBC will ich nicht ernsthaft in Erwägung ziehen. OK, dann wirds schon enger, MSSQL-Server ist auch schlecht auf Unix-Maschinen(vielleicht über wine, aber lassen wir das ;-)). Und dann vielleicht MySQL, aber das würde ich bei sensiblen Daten mit den INNO-DB Treibern nicht ernsthaft in Erwägung ziehen, die sind einfach noch zu neu und zu wenig getestet, zumal MySQL ja im eigenen Manual schreibt dass die nicht so gut getestet sind wie beispielsweise bei PostgreSQL! OK, PostgreSQL ist eine Alternative, nur weiß ich nicht in wiefern PostgreSQL mit wirklich professionellen Produkten wie eben DB2 & Co. mithalten kann, vor allem von wegen Stabilität, Datensicherheit, Datenintegrität..., außerdem sind Namen wie Oracle, DB2... bei Kunden immer wieder gerne gesehen...
Naja, ein Thema für sich ;-)
Gibt ja noch ne Menge daneben, Interbase, Sybase, Adabas, SAP-DB, Firebird, Informix... was ist denn mit denen? Ist da eine von besser als PostgreSQL, halt unter oben genannten Kriterien?
Viele Grüße
Andreas