FxQL: eine Anfragesprache für den flexiblen Zugriff auf objektorientierte Datenbanken
Authors
More about the book
In einer objektorientierten Datenbank werden Objekte mit ihren Beziehungen verwaltet. Die Struktur der Objektbank ist beschrieben durch das Objektbankschema, in welchem Aggregations-, Klassifikations- und Generalisierungs- bzw. Spezialisierungsbeziehungen zwischen Objekten definiert werden. Für den Zugriff auf Objekte einer Objektbank verwenden existierende Anfragesprachen Pfadausdrücke, um entlang der Beziehungen zwischen Objekten zu navigieren. Für den Anwender einer solche Sprache ist deshalb die detaillierte Kenntnis des Schemas Voraussetzung für die Formulierung korrekter Anfragen. Das Ziel der vorliegenden Arbeit ist es, diese Einschränkungen für den Zugriff auf objektorientierte Datenbanken zu lockern, indem eine flexible Anfragesprache FxQL (Flexible Query Language) entwickelt wird, die es dem Benutzer auch mit geringer Kenntnis des Schemas erlaubt, auf die Datenbank zuzugreifen. Insbesondere sind in FxQL „ verkürzte“ Anfragen zulässig, in welchen Navigationspfade durch die Objektbank unvollständig spezifiziert sein können. Durch die FxQL-Verarbeitung werden verkürzte Anfragen automatisch vervollständigt und können dann an existierende Anfrageprozessoren objektorientierter Datenbanken gerichtet werden. Bei der Entwicklung von FxQL wird besonderes Augenmerk darauf gelegt, dass die Datenbanken, auf die zugegriffen wird, nicht immer lokal verfügbar sind, sondern sich an unterschiedlichen Orten in einer verteilten Architektur befinden können. In einer solchen Umgebung ist die Reduzierung von Kommunikationskosten ein wichtiger Aspekt für Datenbankzugriffe. Die FxQL-Verarbeitung ist deshalb als modularer Aufsatz auf existierende, sogenannte strikte Anfrageprozessoren, die vollständige Anfragen erwarten, konzipiert. Auf der Basis einer FxQL-Anfrage und anhand der Objektbankschemata werden in der Anfrage vorhandene Typinformationen ausgenutzt bzw. anhand des Schema ergänzt, um aus der FxQL-Anfrage vollständige und damit strikte Anfragen zu erzeugen. Für diesen Schritt werden weder die Objektbank noch andere konkrete Objekte benötigt. In der Arbeit wird eine flexible Semantik für FxQL-Anfragen definiert und als ein zentrales Ergebnis gezeigt, dass die FxQL-Verarbeitung, d. h. das Vervollständigungsverfahren, genau diese Semantik realisiert. Die Anwendbarkeit des FxQL-Ansatzes auch auf andere Datenmodelle, in denen komplexe Objektstrukturen vorkommen, wird im letzten Teil der Arbeit anhand von XML-Datenbanken gezeigt.