Komponentenbasierter Schemaentwurf für objekt-relationale Datenbankverwaltungssysteme
Autoren
Mehr zum Buch
Die komponentenbasierte Entwicklung ist mit EJBs und. NET-Assemblies Stand der Technik und erlaubt die einfache Wiederverwendung der Komponenten und damit eine schnelle und kostengünstige Entwicklung von qualitativ hochwertigen Systemen. Bei der persistenten Speicherung der Daten verwischen die Grenzen der Anwendungskomponenten jedoch, da Datenbankverwaltungssysteme keine geeigneten Mechanismen zur Strukturierung ihrer Schemata bieten. Zusätzlich wurden die relationalen Datenbankverwaltungssysteme zur besseren Unterstützung der objektorientierten Anwendungsentwicklung um benutzerdefinierte Typen und Routinen, Trigger usw. erweitert. Die Ausnutzung der neuen Sprachkonstrukte führt bei den daraus resultierenden objekt-relationalen Datenbankverwaltungssystemen zu großen und unübersichtlichen Schemata. In solchen Situationen vermissen Schemaentwickler und Datenbankadministratoren geeignete Konzepte zur Strukturierung der Schemata. Um die Vorteile der komponentenbasierten Entwicklung auch beim Schemaentwurf zu erreichen und zu überschaubaren, leicht handhabbaren Schemata zu kommen, werden in dieser Arbeit die Prinzipien der komponentenbasierten Anwendungsentwicklung auf den Schemaentwurf übertragen und an seine besonderen Eigenschaften angepasst. Dies führt zu einer Spracherweiterung von SQL:1999 - der Sprache für den Schemaentwurf. Neben der Sprachspezifikation wird in der Arbeit ein System zur Unterstützung der Spracherweiterung vorgestellt, das als Schicht oberhalb eines kommerziellen Datenbankverwaltungssystems realisiert ist. Damit liefert die Arbeit mit der Spracherweiterung ein Komponentenmodell für den objekt-relationalen Schemaentwurf, das bereits prototypisch implementiert ist. Aufbauend auf dieser Arbeit können die Hersteller der objekt-relationalen Datenbankverwaltungssysteme den komponentenbasierten Schemaentwurf in ihren Produkten ermöglichen. Zusätzlich bildet die Arbeit die Grundlage für eine ganzheitliche, komponentenbasierte Entwicklung, bei der Anwendungs- und Schemakomponenten zusammengesetzt werden.