Goede Nachtyinz emotional.
Guten Morgen. Heute beschäftigen wir uns mit der Kombination
von XML und Datenbanken zumindest in einem
gewissen Bereich. Das Thema an sich ist sogar relativ umfangreich.
Also man kann inzwischen XML auch schon in den meisten relationalen Datenbanken abspeichern.
Es gibt auch eine ganze Menge von Systemen inzwischen, die es erlauben, XML auf relationale Datenbanken abzubilden.
Das werden wir nicht im vollen Umfang darstellen, sondern wir picken uns ein paar Dinge raus, die in dem Kontext interessant sind.
Also zunächst fangen wir mal an mit einem Standard, der nennt sich XQuery.
Das ist im Grunde eine Abfragesprache, die sich an Datenbanken orientiert und mit der man XML-Quellen befragen kann.
Wir orientieren uns hier wieder an den Unterlagen von Möller und Schwarzbach.
Die haben wir schon öfter in dieser Vorlesung benutzt.
Also worum geht es dabei?
Zunächst einmal, was ist der Zusammenhang zwischen Datenbanken und XML?
Also Datenbanken an sich werden in der Informatik eigentlich immer als sogenannte relationale Datenbanken verstanden.
Relationale Datenbanken, auch für Nichtinformatiker, ist eigentlich eine relativ einfache, einfach zu verstehen.
Nämlich man organisiert sich eigentlich immer seine ganzen Informationen in Tabellen.
Wobei die Tabellen dann immer eine bestimmte Spaltenstruktur haben.
Da steht dann eben drin, also die klassischen Fälle sind irgendwie ein Angestellter und der hat halt verschiedene Attribute,
irgendwie eine Kennnummer, Vorname, Nachname und sonst alle möglichen Attribute, die man für so ein Objekt braucht.
Das interessante bei Datenbanken entsteht eigentlich dann immer, dass man eben nicht mit einer einzigen Tabelle arbeitet,
sondern mit sehr vielen und dass diese Tabellen dann sich aufeinander beziehen können,
indem man eben in der einen Tabelle angibt, naja für den, also für das Objekt ist ein Objekt in einer anderen Tabelle interessant
und dann gibt man eben da den entsprechenden Schlüssel an.
Also wichtig noch mal Einträge, das steht hier unten, jeder Eintrag in einer Tabelle wird durch einen eindeutigen Schlüssel markiert
und dann kann man eben von der einen Tabelle auf die andere verweisen, indem man eben diese eindeutigen Schlüssel verwendet
und damit wird in der Informatik, also ich würde jetzt mal fast sagen, das ist das am weitesten verbreiteste Datenschema,
das in der Informatik heutzutage verwendet wird.
Da kann man drüber diskutieren, ob das, naja, so zweckmäßig ist oder nicht.
Hat sich auf jeden Fall bewährt, wir werden auch gleich sehen, aus welchen Gründen.
So, jetzt wenn man sich solche Tabellen anschaut, also hier ist eine ganz einfache angegeben,
das ist eine Relation, die besteht aus drei Spalten, also Vornahme, Nachname, Alter
und wenn man also so eine Tabelle in einer XML-Struktur wiedergibt, dann ergibt sich daraus ein Baum, den sehen wir hier unten,
nämlich, dass man sagt, naja, die ganze Relation an sich ist eben so ein XML-Dokument
und dann jeder einzelne Eintrag, das ist dann eben eine entsprechende XML-Struktur, die kann man ja ganz wunderbar mit XML dann auch repräsentieren.
Das Besondere an diesen XML-Strukturen ist eben, dass sie sehr regelmäßig aufgebaut sind,
also, naja, im Grunde die Tiefe, wenn Sie eine einzige Tabelle haben, die Tiefe von diesem Baum, die ist immer gleich,
nämlich Tiefe 2, für eine einzelne Tabelle und auf der unteren Struktur ist es dann immer so regelmäßig, wie wir es jetzt hier sehen.
Also, das sind, naja, haben feste Tiefe, also, im Gegensatz, Relationen zu dem, was wir normalerweise in XML darstellen,
also, insbesondere auch in unserem Projekt haben wir ja mit unserem TI-kodierten Dokument, naja, wir benutzen XML und XML sind Bäume,
wie wir kennengelernt haben, naja, Relationen können wir auch als Bäume darstellen, aber ganz prinzipiell sind eben die Bäume,
die wir eben in Dokumenten haben, doch von einer sehr anderen Struktur als das, was wir gerade eben gesehen haben, was da in solchen Relationen auftaucht.
Also, Bäume sind typischerweise eben nicht so regulär strukturiert, wie wir es gerade gesehen haben,
sie sind durchaus eben auch tiefer strukturiert, dass da eben Unterelemente vorhanden sind und Kinderknoten können eben eine beliebige Anzahl von Unterknoten haben,
wie wir gesehen haben. Also, insofern, Bäume sind einfach keine Relationen, das ist, naja, das ist eben das, weshalb grundsätzlich Datenbanken und XML
eigentlich nicht so richtig zusammenpassen. Ja, vielleicht auch noch ein paar, also da sind noch Zusatzargumente,
es ist ja in Bäumen sind geordnet, so ist es bei uns in XML, sie haben eine Reihenfolge, das heißt also, die werden da rein auch angegeben,
in Datenbanken ist das typischerweise zum Beispiel nicht der Fall, da ist es egal, wie rum ich das Doppel drehe.
Und auch noch wichtig, also wir können beliebige Teilbäume ineinander verschachteln, also da gibt es keine reguläre Struktur,
Sie erinnern sich, in TI, da können Sie dann wieder eine Oberstruktur irgendwo angeben, die kann dann wieder beliebige Unterelemente enthalten und so weiter,
also das kann durchaus eine relativ komplexe Struktur werden.
Presenters
Prof. Dr. Josef Schneeberger
Zugänglich über
Offener Zugang
Dauer
01:09:23 Min
Aufnahmedatum
2010-07-13
Hochgeladen am
2011-04-11 13:53:28
Sprache
de-DE