Databases Reference
In-Depth Information
Tabelle 22.1:
Elementnamen in einer Lookup-Tabelle
id
name
1
reihen
2
reihe
3
name
4
alben
5
band
element
referenziert den Namen des Elements;
parent
referenziert das übergeordnete Element und ist
null
beim Wurzel-
element;
ord
ist die laufende Nummer des Elements in seiner Hierarchieebene.
Die Spalten
parent
und
ord
sind gewissermaßen die Koordinaten der Elemente
und somit eindeutig. Für das Beispieldokument ergibt sich der Datenbestand aus
Tabelle 22.2. Der letzte Datensatz in der Tabelle repräsentiert etwa einen
band
-
Knoten, der einem
alben
-Knoten untergeordnet ist.
Tabelle 22.2:
Beispielhafter Inhalt der Tabelle
elements
id
element
parent
ord
1
1
1
null
2
2
1
1
3
3
2
1
4
4
2
2
5
5
4
1
6
5
4
2
Ein Element kann außer untergeordneten Elementen auch Text enthalten. Für Tex-
te haben wir die gleichen Koordinaten
parent
und
ord
wie für Elemente. Im Fall
des Beispieldokuments enthält sie nur einen Datensatz:
Tabelle 22.3:
Textknoten eines XML-Dokuments
id
name
parent
ord
1
Asterix
3
1
Es ist jetzt nicht mehr schwer, auch XML-Attribute oder weitere Komponenten
der XML-Syntax in die Datenbank zu integrieren. Auf den ersten Blick ergibt sich
eine befriedigende, generische Lösung. Bei genauerer Betrachtung sind aber auch
hier Probleme möglich.