Hi ihr lieben leute,
ich habe eine Tabelle in welcher sich Daten in einer Baumstruktur befinden...
wobei jedes Node mit einem Feld parent_id an sein "Elternelement" gehaengt ist.
Nun meine Frage... kann man alle Kinder, Kindeskinder und so weiter einer speziellen Node irgendwie mit moeglichst einer SQL abfrage erhalten... so wie es sich fuer mich momentan darlegt muss man nen Haufen SQL statements raushauen um das hinzubekommen...
oder gibts da im Allgemeinen nen anderen weg wie man das ganze loesen kann/sollte ... evl. ne andere Datenbank engine?
Momentan Arbeite ich mit relationalen Datenbank engines wie MySQL, SQLite da es sich um eine Webanwendung handelt... allerdings stand ich bis jetzt noch nie vor so einem Problem...
Waehre nett wenn sich jemand dazu Aeussern koennte..
Grusse Zero-one
Baumstruktur abfragen
Speicher den Baum lieber als Nested Set.
Hab hier auch ein ganz netter Tutorial gefunden: http://www.klempert.de/nested_sets/
Hab hier auch ein ganz netter Tutorial gefunden: http://www.klempert.de/nested_sets/
ist es bei Nested Sets nicht so das dort jeder Node nur 2 Childs haben kann?
Ich braeuchte etwas wo jedes Node eine unbegrenzte Anzahl Childs enthalten kann...
Gruessle
Ich braeuchte etwas wo jedes Node eine unbegrenzte Anzahl Childs enthalten kann...
Gruessle
Zuletzt geändert von zero-one am Dienstag 28. Oktober 2008, 15:35, insgesamt 1-mal geändert.
Naja dort ist bei Nachteilen Performance aufgefuehrt... hat schon mal jemand hier was damit gemacht?
Wie verhalten sich die XML-Datenbanken bei groesseren Datenmengen... XML produziert da ja schon bissle was an Overhead...
Wie verhalten sich die XML-Datenbanken bei groesseren Datenmengen... XML produziert da ja schon bissle was an Overhead...
Hier noch ein toller Link von der MySQL-Doku: Managing Hierarchical Data in MySQL
Du darfst nicht die textuelle Repräsentation mit dem logischen XML-InfoSet verwechseln. Niemand zwingt den Anbieter einer XML-Datenbank, die Daten in textueller Form zu verwalten. Will man jedoch XPath als Abfragesprache einsetzen (wie z.B. XQuery es macht), muss es einen DOM geben und diesen muss man traversieren können, was direkte Zugriffe über einen Index schwer oder unmöglich und damit langsamer macht.zero-one hat geschrieben:Naja dort ist bei Nachteilen Performance aufgefuehrt... hat schon mal jemand hier was damit gemacht?
Wie verhalten sich die XML-Datenbanken bei groesseren Datenmengen... XML produziert da ja schon bissle was an Overhead...
Da aber letztlich das XML-Infoset auch nur aus Elementen mit Attributen und Text besteht, die man z.B. als Objekte in einer OO-Datenbank halten kann, könnte ich mir vorstellen, dass man da Dokumente im Terrabyte-Bereich ohne größere Probleme in einer OO-Datenbank wie Gemstone ablegen kann. Wahrscheinlich kann Oracle da aber auch mit seinem XML-Support mithalten... da kenne ich mich nicht so gut aus.
Stefan