Folie 1 Geo-Informationssysteme Datenbankkonzepte und Realisierungsansätze UH, FB Inf, M. Blaszkowski 1 Daten sind ein wesentlicher Bestandteil von Geo-Informationssystemen. Für die Verwaltung der Daten werden Datenbanken als Speichermedien eingesetzt. Im Folgenden werden die aktuellen DB-Technologien und ihre Anwendung in Geo-Informationssystemen erläutert. ________________________________________ Folie 2 Übersicht 1. Motivation - Warum Datenbanken? 2. Architekturaspekte von DBS 3. Das ER- und EER-Modell 4. Relationale Datenbanken 5. Objektrelationale Datenbanken 6. Nichtstandardanwendungen von Datenbanken UH, FB Inf, M. Blaszkowski ________________________________________ 2 Folie 3 Motivation - Warum Datenbanken? Zu Begriffsklärung: Datenbanksystem (DBS) = Datenbank (DB) + Datenbankverwaltungssystem (DBVS) Eine Datenbank ist eine Sammlung gespeicherter operationaler Daten die von den Anwendungssytemen benötigt werden. Ein DBVS ist ein standardisiertes Softwaresystem zur Definition, Verwaltung, Verarbeitung und Auswertung von DB-Daten. UH, FB Inf, M. Blaszkowski 3 Ein Datenbanksystem, ist die Kombination eines DBVS mit einer Datenbank. Ein DBVS ist die Gesamtheit der Software-Module, die die Verwaltung einer Datenbank übernehmen. Eine Datenbank ist also, ein von dem DBVS strukturierter und verwalteter Datenbestand. DBVS definieren ein Datenbankmodell, das alle Daten einheitlich beschreibt. Sie stellen Operationen und Sprachen (DDL, DML) zur Verfügung. Solche Sprachen sind deskriptiv und sind getrennt von einer Programmiersprache zu benutzen. Das DBVS unterstützt das Transaktionskonzept und Mehrbenutzerkontrolle entsprechend dem ACID-Paradigma. ________________________________________ Folie 4 Motivation - Warum Datenbanken? Dateisystem vs. Datenbanksystem DATEISYSTEM DATENBANKSYSTEM Datenredundanz u. Inkonsistenz Redundanzfreiheit u. Konsistenz durch zentrale Verwaltung der Daten (semantische) Integritätssicherung Mehrbenutzugriff (ACID) keine Integritätssicherung keine Mehrbenutzerzugriffe einfache Zugriffskontrolle komplexes Autorisierungsu. Überwachungssystem UH, FB Inf, M. Blaszkowski 4 Folie 5 Motivation - Warum Datenbanken? Dateisystem vs. Datenbanksystem (Forts.) DATEISYSTEM DATENBANKSYSTEM viele unterschiedliche Datenformate Datenunbahängigkeit (Daten vollständig strukturiert) keine anwendungsunabhängigen Abfragemöglichkeiten komplexe Abfragemöglichkeiten, einheitliche Schnittstellen (SQL, ODBC, JDBC) hoher Verwaltungsaufwand geringer Verwaltungsaufw. UH, FB Inf, M. Blaszkowski 5 Bei einem Dateisystem werden hinsichtlich einer redundanzfreien Datenhaltung, einem einheitlichen Datenmodell, einer Zugriffskontrolle und Konsistenzbedingungen keine allzu hohen bzw. überhaupt keine Anforderungen gestellt. Die Daten sind meistens eng an eine bestimmte Anwendung gekoppelt (Datenabhängigkeit). Durch den parallelen Datenbestand (die selben Daten in unterschiedlichen Datenformaten) ergeben sich Redundanzen und konsequenterweise Inkonsistenzen hervorgerufen durch nicht synchronisierte Änderungen an den Daten. Dateisysteme verfügen über keine mit SQL oder anderen Anfragesprachen vergleichbaren Abfragemöglichkeiten. Vorteilhaft ist der relativ geringe Verwaltungsaufwand gegenüber DBVS. Die oben erwähnten Anforderungen können alle von einem Datenbanksystem erfüllt werden. Datenbanksysteme können große Datenmengen effizient und einheitlich verwalten. Sie gewährleisten Datenunabhängigkeit und bieten ausdruckstarke Anfragesprachen. Viele Benutzer können parallel auf Datenbanken arbeiten. Das Transaktionskonzept garantiert, dass im Mehrbenutzerbetrieb keine Änderungsanomalien auftreten. Die Integritätssicherung gewährleistet die Korrektheit von Datenbankinhalten und der korrekten Ausführung von Änderungen, so dass diese die Konsistenz nicht verletzen können. Eine flexible Zugriffskontrolle sichert den Ausschluss unauthorisierter Zugriffe auf die gespeicherten Daten. ________________________________________ Folie 6 Architekturaspekte von DBS Zwei unterschiedliche Sichten auf ein DBS: • Benutzungssicht Drei-SchemaArchitektur nach ANSI-SPARC • Realisierugssicht 5-Schichtenmodell UH, FB Inf, M. Blaszkowski 6 Die ANSI-SPARC-Architektur ist eine Schnittstellenarchitektur. Sie beschreibt im wesentlichen Schnittstellen, die für unterschiedliche Benutzergruppen und Aufgaben konzipiert worden sind. Im Gegensatz dazu dient das 5Schichtenmodell zur Beschreibung und Erklärung der Realisierung von DBVS. ________________________________________ Folie 7 Architekturaspekte von DBS Drei-Schema-Architektur (Benutzungssicht) Externe Schemata Schema 1 ... Schema n Konzeptionelles Schema (logisches Datenmodell) Internes Schema UH, FB Inf, M. Blaszkowski 7 Die Schnittstellen in der Drei-Schema-Architektur bieten gewisse Sichten auf die Daten. Zentral ist dabei die gemeinschaftliche Datensicht, die auch als Konzeptionelles Schema bezeichnet wird. Sie entspricht in der Regel dem logischen Datenmodell eines bestimmten DBVS. Benutzerspezifische Sichten werden durch Externe Schemata festgelegt. Sie werden aus dem konzeptionellen Schema abgeleitet, um Anwendungsprogrammen für ihre Problemlösung angemessene Datenstrukturen bieten zu können. Die Isolation der Externen Schemata von dem Konzeptionellen Schema, macht es möglich die Daten in dem Konzeptionellen Schema unabhängig von den Anwendungsprogrammen zu verwalten. Zugleich erfüllen Externe Schemata Aufgaben, die einfache Nutzung (es sind nur die für den Benutzer spezifizierten Daten sichtbar) und Zugriffsschutz betreffen. Das Interne Schema beschreibt bestimmte Aspekte der physischen DB-Organisation. Es sollte ebenfalls möglichst stark von dem Konzeptionellen Schema isoliert sein, um Änderung in der physischen DB-Struktur (z. B. Setzen von physischen Zugriffspfaden) unabhängig vom Konzeptionellen Schema durchführen zu können. Alle Schemata sollten vollständig definiert sein, bevor mit ihnen und einem generischen DBVS ein konkretes DBS erzeugt wird. _______________________________________ Folie 8 Architekturaspekte von DBS 5-Schichtenmodell (Realisierungssicht) Mengenorientierte DB-Schnittstelle Logische Datenstrukturen Satzorientierte DB-Schnittstelle Logische Zugriffspfade Interne Satz-Schnittstelle Speicherungsstrukturen DB-PufferSchnittstelle Seitenzuordnugsstrukturen Dateischnittstelle Speicherzuordnugsstrukturen UH, FB Inf, M. Blaszkowski 8 Die 5-Schichten-Architektur beschreibt die in einem DBVS enthaltenen Komponenten (Schichten), die eine schrittweise Transformation von Anfragen und Änderungen von der abstrakten mengenorientierten Ebene bis hinunter zu Zugriffen auf den Speichermedien realisieren. Die Einteilung in Schichten dient vor allem der Reduktion der Komplexität und soll Systemeigenschaften wie Modularität, Anpassbarkeit, Erweiterbarkeit und Portabilität ermöglichen. Durch klar definierte Schnittstellen zwischen den Schichten wird ein hoher Grad an Datenunabhängigkeit erreicht. Die an einer Schnittstelle verfügbaren Objekte und Operationen werden von den direkt übergeordneten Komponenten wiederum zur Realisierung ihrer Strukturen und Funktionen benutzt. Die gewählte Anzahl von Schichten ist ein Kompromiss aus Forderung nach Datenunabhängigkeit und zugleich möglichst effizienter Ausführung von DB-Operationen. Als oberste Schicht der Abbildungshierarchie wird durch die Ebene der Logischen Datenstrukturen eine mengenorientierte DB-Schnittstelle (zugriffspfadunabhängiges Datenbankmodell) realisiert, die Zugriffsmöglichkeiten in deskriptiven Sprachen bietet. Ein wichtiges Beispiel für die mengenorientierte DBSchnittstelle bildet das Relationenmodell mit der Sprache SQL. Die Ebene der Logischen Zugriffspfade stellt eine satzorientierte DB-Schnittstelle zur Verfügung. Sie verbirgt die gewählten Implementierungskonzepte für Sätze und Zugriffspfade und erzielt damit eine Unabhängigkeit von den Speicherungsstrukturen. Die Logischen Zugriffspfade an sich kommen im relationalen Datenmodell nicht vor, sonder nur im Hierarchie- oder Netzwerkmodell und werden dort beim Definieren von so genannten Owner-Member-Beziehungen angelegt. Die nächste Systemschicht realisiert eine Menge von Speicherungsstrukturen wie interne Sätze und physische Zugriffspfade, die sie auf Seiten von Segmenten abbildet. Durch die verschiedenartigen Zugriffspfade und Speicherungsoptionen kann das Systemverhalten auf die Leistungsanforderungen einer konkreten Anwendung hin optimiert werden. Die Ebene der sog. Seitenzuordnungsstrukturen realisiert die DB-Pufferschnittstelle und stellt Segmente mit sichtbaren Seitengrenzen als lineare Adressräume im DB-Puffer zur Verfügung. Die Seiten werden in der Regel direkt auf Dateiblöcke abgebildet. Durch die Schicht, welche die Speicherzuordnungsstrukturen verkörpert, wird eine Dateischnittstelle erzeugt, auf der von Gerätecharakteristika wie Speichertyp, Zylinder- und Spuranzahl, usw. abstrahiert werden kann. ________________________________________ Folie 9 Das ER- und EER-Modell Das Entity-Relationship-Modell (ERM) ist eine Art formale Sprache für den DB-Entwurf . Modellierungskonzepte: • • • • Entity-Mengen (Objektmengen) Wertebereiche, Attribute Primärschlüssel Relationship-Mengen (Beziehungsmengen) UH, FB Inf, M. Blaszkowski 9 Der Entwurf eines (raumbezogenen) DBS kann aus dem Entity-Relationship-Modell resultieren. Er kann grafisch in einem Entity-Relationship-Diagramm visualisiert werden. Dabei sind Entitätsmengen und Relationsmengen zu definieren. Die Menge der Entitäten ist durch die vorgegebenen Attribute genau festgelegt. Eine Entität stellt ein Element dieser Menge dar und kann aus einem oder mehreren Attributwerten bestehen. Ein Primärschlüssel ist eine ausgewählte minimale Teilmenge von Attributen, die einer Entitätsmenge zugeordnet sind und die Entitäten dieser Menge eindeutig identifizieren. Eine Relation ist die Verbindung von zwei Entitäten. Relationship-Mengen vereinigen alle Relationen zwischen Entitäten aus zwei Entity-Mengen. Mathematisch lassen sich die Entitäten- und Relationenmengen mit den Hilfsmitteln der Mengenlehre angeben. ________________________________________ Folie 10 Das ER- und EER-Modell Beziehungstypen: • 1:1 • 1 : n, n : 1 • n:m Die Modellierungskonzepte des ERM sind häufig zu ungenau oder unvollständig. Sie müssen deshalb ergänzt werden durch Integritätsbedingungen. UH, FB Inf, M. Blaszkowski 10 1 : 1 bedeutet: Jede Entität aus Ei (Entitätsmenge) steht mit höchstens einer Entität aus E k in Beziehung. n : 1 bzw. 1 : n bedeutet: Jede Entität aus Ei bzw. Ek steht mit n >= 0 Entitäten aus Ek bzw. Ei in Beziehung. Leider wird, je nach Autor, die 1 : n bzw. n : 1 Beziehung unterschiedlich definiert. Was für den einen 1 : n ist, das ist für den anderen n : 1. Die hier angegebene Definition hat den Vorteil, dass sie zu der min-max-Notation (siehe EER-Modell: Kardinalitätsrestriktionen) kompatibel ist, jedoch nicht so anschaulich ist. n : m bedeutet: Jede Entität aus Ei steht mit n >= 0 Entitäten aus Ek in Beziehung und umgekehrt gilt auch, dass jede Entität aus Ek mit n >= 0 Entitäten aus Ei in Beziehung steht. Der Beziehungstyp entspricht also einer mathematischen Relation. ________________________________________ Folie 11 Das ER- und EER-Modell Beispiel: PID Name Parzelle Rand n GID m steht auf Fläche Adresse Gebäude n D.-Höhe 1 L.-B. L.-E. Darlehen finanziert von UH, FB Inf, M. Blaszkowski 11 Die Rechtecke stellen Entitätsmengen u. die Rauten Beziehungsmengen dar. Durch Ovale werden Attribute gekennzeichnet. Unterstrichene Attributnamen kennzeichnen Primärschlüssel. Entsprechend der Def. auf Folie 10 bedeutet die n : 1 Beziehung, dass ein Gebäude von n >= 0 Darlehen finanziert wird. ________________________________________ Folie 12 Das ER- und EER-Modell Erweiterungen des ERM: • • • • Kardinalitätsrestriktionen Generalisierung/Spezialisierung (disjunkt, überlappend) Aggregation Assoziation UH, FB Inf, M. Blaszkowski 12 Das erweiterte ER-Modell erlaubt vor allem eine genauere Modellierung von Beziehungen. So wird durch Kardinalitätsrestriktionen die Semantik der Beziehungstypen verfeinert. Sind z. B. die Beziehungen zwischen Entitäten aus E1 und E2 durch die Relationship-Menge R gegeben, so bedeutet die Restriktion [min1, max1] bzw. [min2, max2], dass eine Entität aus E1 bzw. E2 an wenigstens min1 bzw. min2 u. höchstens max1 bzw. max2 Beziehungen vom Typ R teilnimmt. Generalisierung/Spezialisierung, Aggregation und Assoziation stellen Abstraktionskonzepte dar, mit denen es möglich ist noch mehr Semantik aus der ausgewählten Miniwelt (Diskursbereich) zu erfassen. Dabei entspricht die Generalisierung/Spezialisierung ungefähr dem Vererbungskonzept aus den objektorientierten Programmiersprachen. Im Datenbankbereich ist es jedoch adäquater von Teilmengenbeziehungen zu sprechen, die sowohl disjunkt, als auch überlappend sein können. Die Aggregation ist mit einer Teil-Ganze-Beziehung vergleichbar und impliziert damit zusammengesetzte Objekte, auch Aggregate genannt. Ziel der Assoziation ist die Zusammenfassung von Gruppen mit heterogenen Objekten für einen bestimmten Kontext, z. B. Sichtkonzept. Sie ist vergleichbar mit Mengenbildung, bei der die Objekte das Mengenprädikat erfüllen müssen, um in der Menge enthalten zu sein. Dabei werden einerseits Details der einzelnen Elemente unterdrückt und andererseits bestimmte Eigenschaften, die die Menge (Objektgruppe) charakterisieren, hervorgehoben. ________________________________________ Folie 13 Das ER- und EER-Modell Beispiel: PID Name Parzelle Rand n GID m Fläche Adresse Gebäude n steht auf D.-Höhe 1 L.-B. L.-E. Darlehen finanziert von t Gebäude privat Gebäude Industrie Gebäude Landwirtschaft UH, FB Inf, M. Blaszkowski 13 Das Dreieck symbolisiert eine Teilmengenbeziehung. Das t steht für total und bedeutet, dass die Vereinigung der Mengen G. privat, Industrie u. Landwirtschaft gleich der Menge Gebäude ist. Die Attribute der Menge Gebäude werden natürlich von den Teilmengen vererbt. Da die Pfeile in Richtung des Dreiecks zeigen, dürfen sich die Teilmengen überlappen. ________________________________________ Folie 14 Relationale Datenbanken Eigenschaften des relationalen Datenmodels: • Relation (Tabelle) als einzige Datenstruktur (neben atomaren Werten) • Informationsdarstellung ausschließlich durch Werte • Jede Zeile (Tupel) ist eindeutig und beschreibt ein Objekt • Die Ordnung der Zeilen und Spalten ist ohne Bedeutung • Es existieren ein Primärschlüssel und ggf. weitere Schlüsselkandidaten UH, FB Inf, M. Blaszkowski 14 Das relationale Datenmodell ist ein auf Tabellen basierendes Konzept. Neben den atomaren Werten sind sie die einzige Datenstruktur. Die Informationsdarstellung in den Tabellen erfolgt ausschließlich durch Werte. Dies gilt auch für Beziehungen. Die Zeilen solcher Tabellen können als Tupel aufgefasst werden, die eindeutig ein Objekt beschreiben. Entsprechend der mathematischen Modellierung einer Tabelle durch eine Relation spielt die Ordnung der Zeilen und Spalten keine Rolle. Der Primärschlüssel (PS) hat hier die selbe Bedeutung, wie beim ERM, wobei die Attribute des PS als Spalten aufzufassen sind. Abstraktionskonzepte finden im relationalen Datenmodell keine Unterstützung und lassen sich auch kaum nachbilden. ________________________________________ Folie 15 Relationale Datenbanken Operatoren auf Relationen: • Vereinigung, Differenz • Kartesisches Produkt • Projektion • Selektion • zusätzlich: Grundoperationen (Einfügen, Löschen, Ändern) Standardanfragesprache SQL2 (1992): • deskriptiv; leicht zu erlernen; relational vollständig • Grundbaustein: SFW-Block UH, FB Inf, M. Blaszkowski 15 Das relationalen Datenmodell hat den Vorteil, dass es auf Basis der relationalen Algebra mathematisch klar dargestellt werden kann. Standardmäßig umfasst die Relationenalgebra die Operatoren Vereinigung, Differenz, Kartesisches Produkt, Projektion (wählt bestimmte Spalten einer Relation im Sinne von Tabelle aus) und Selektion (wählt Tupel aus einer Relation aus, die die Selektionsbedingung erfüllen). Diese reichen bereits aus, um relationale Vollständigkeit zu garantieren. Die zusätzlichen Grundoperationen (Einfügen, Löschen, Ändern, etc.) ergeben sich durch Implementierung des Relationalen Datenmodells auf einem Rechner. Alle Operationen zusammen werden in der Regel in Form einer Anfragesprache dem Anwender des DBS zur Verfügung gestellt. Zu den am weitesten verbreiteten Anfragesprachen gehört mit Abstand die Standardanfragesprache SQL2. Sie zeichnet sich u. a. durch relationale Vollständigkeit, deskriptive Anfrageformulierung und leichte Erlernbarkeit aus. Typisch für SQL ist der sogenannte SFW-Block. Dieser besteht nämlich aus einer SELECT-Anweisung (Projektion), einer FROM-Anweisung (kartesisches Produkt) und einer WHERE-Anweisung (Selektion). ________________________________________ Folie 16 Relationale Datenbanken Beziehungen: • sind binär und symmetrisch • werden durch Werte dargestellt: Primär-/Fremdschlüssel (Gewährleistung von referentieller Integrität) • können in SQL automatisch gewartet werden (referentielle Aktionen) Entwurfstheorie: • Normalformenlehre (1NF, 2NF, 3NF, BCNF, 4NF) UH, FB Inf, M. Blaszkowski 16 Beziehungen werden durch Fremdschlüssel (Attribut oder eine Attributkombination) und zugehörige Primärschlüssel oder Schlüsselkandidaten dargestellt. Der FS und der zugehörige PS (SK) sind auf dem gleichen Wertebereich definiert. Die referentielle Integrität garantiert, dass zu jedem Wert des FS ein gleicher Wert des PS immer vorhanden ist. Fremdschlüssel können jedoch auch Nullwerte aufweisen, wenn nicht explizit NOT NULL spezifiziert ist. Diese Art und Weise wie Beziehungen im relationalen Datenmodell realisiert werden, hat zur Folge, dass in Prinzip alle Beziehungstypen durch (n : 1 bzw. 1 : n) – Beziehungen dargestellt werden müssen. Dies erreicht man hauptsächlich dadurch, dass weitere Relationen eingeführt werden, womit sowohl (n : m) – Beziehungen, als auch beliebige k-näre Beziehungen, sich durch (n : 1) – Beziehungen darstellen lassen. Die vorhandene Symmetrie (keine Zeigerstrukturen) in den Beziehungen, vereinfacht die Anfrageoptimierung. Die Normalformenlehre, als Entwurfstheorie für relationale Datenbanken, liefert Methoden für den Entwurf von möglichst redundanzfreien DB-Schemata, um vor allem die damit verbundenen Änderungsanomalien zu vermeiden. Die Normalisierungsschritte lassen sich vollständig formalisieren, sodass, bei Angabe von funktionalen Abhängigkeiten (zwischen Mengen von Attributen), die Normalisierung vorhandener DB-Schemata unter Einsatz von entsprechenden Werkzeugen am Rechner durchgeführt werden kann. ________________________________________ Folie 17 Relationale Datenbanken Beispiel: UH, FB Inf, M. Blaszkowski 17 Das Beispiel demonstriert die Anwendung des relationalen Datenmodells zur Verwaltung eines zusammenhängenden räumlichen Objekts bestehend aus den beiden Flächen 125 und 126. Durch (FS : PS)Beziehungen zwischen der Flächen-, Kanten- und Knotentabelle wird vor allem die Topologie des Objekts vollständig erfasst. ________________________________________ Folie 18 Objektrelationale Datenbanken Objektrelationale DBS erweitern die RDBS um OO-Konzepte: • • • • • • • • ADTs/Kapselung Klassen/Vererbung mengenwertige Attribute OIDs/Referenzen benutzerdefinierte Funktionen prozedurale Verarbeitung Multimedia-Integration Offenheit UH, FB Inf, M. Blaszkowski 18 Objektrelationale DBS erweitern die RDBS um objektorientierte Konzepte und machen es damit möglich nahezu die gesamte Anwendungslogik in die Datenbank zu integrieren. Die Vorteile liegen auf der Hand: der Programmentwurf wird einheitlicher und konsistenter, die direkte Unterstützung von Abstraktionskonzepten (ADTs, Vererbung) durch das DBS macht den DB-Entwurf natürlicher, die Anfragemächtigkeit wird erhöht (Nachteil: Terminierungsproblem, Fehleranfälligkeit). ________________________________________ Folie 19 Objektrelationale Datenbanken Merkmale von objektrelationalen DBS: 19 UH, FB Inf, M. Blaszkowski Die Tabelle gibt eine Übersicht über die typischen Merkmale von objektrelationalen Datenbanken. Zu sehen sind auch Kriterien, die die objektrelationalen DBS nicht erfüllen und sich deshalb von rein objektorientierten DBS unterscheiden. Dies gilt vor allem für den Operationenteil. D. h., trotz vieler objektorientierter Konzepte im Datenbankmodell sind die Anfrageergebnisse relational, entsprechen also Tabellen oder verallgemeinerten geschachtelten Tabellen. ________________________________________ Folie 20 Objektrelationale Datenbanken Erweiterungen nach ISO-Standard SQL: 1999/2003 • Unterstützung von benutzerdefinierten Typen (UDT) mit komplexen Datenstrukturen, komplexer Funktionalität und Vererbungshierarchie • Erhöhung der Anfragemächtigkeit durch Allgemeine Tabellenausdrücke/Rekursion • Erweiterung von Tabellen (Schachtelung, Referenzierung, Tabellen mit Typbildung und Tabellenhierarchien) UH, FB Inf, M. Blaszkowski 20 SQL-99 umfasst die Standardisierungsbemühungen für die Erweiterung des relationalen Modells um objektorientierte Konzepte. Der Standard basiert auf dem SQL3-Standard, deckt jedoch nicht alle Inhalte, wie z. B. dynamische Datenstrukturen (Listen, Mengen, etc.), aus SQL3 ab. Im Vergleich zu SQL92 ist SQL99 um ein Vielfaches umfangreicher und besteht deshalb aus mehreren Teilen (SQL/Foundation, SQL/Object, SQL/MM, ...). Von zentraler Bedeutung in SQL99 sind die benutzerdefinierten Typen (UDT). Sie erhöhen die Modellierungsmächtigkeit von SQL, da sie die Menge der verfügbaren Typen u. Operationen beliebig erweitern. UDTs erlauben die Anwendung objektorientierter Konzepte, wie Vererbung oder Kapselung, und vereinfachen damit die Anwendungsentwicklung. Allgemeine Tabellenausdrücke definieren eine oder mehrere Sichten (WITH-Sichten) für die Verarbeitung der SQL-Anweisung. WITH-Sichten sind nur im Kontext einer SQL-Anweisung definiert, erlauben jedoch mehrfache Referenz, ohne eine Sicht materialisieren zu müssen. Ein allgemeiner Tabellenausdruck ist rekursiv, falls er in seiner Definition auf sich selbst Bezug nimmt (Schlüsselwörter: WITH RECURSIVE und UNION ALL). Rekursion erlaubt zwar mächtige Anfragen in SQL-99, macht die Sprache aber insgesamt unsicher, da innerhalb der Rekursion u. a. Funktionen oder Aggregatfunktionen erlaubt sind, die (wenn unsauber programmiert) die Anfragenergebnisse unbeschränkt wachsen lassen können. Unabhängig von den UDTs wurde natürlich das Tabellenkonzept aus SQL-92 beibehalten und sogar um sogenannte konstruierte Typen erweitert. Diese erlauben vor allem die Schachtelung von Zeilen und Anwendung von Kollektionstypen (in SQL-99 nur ARRAY, keine dynamischen Datenstrukturen). Tabellen sind auch in SQL-99 das Basiskonstrukt und sind notwendig, um die UDTs überhaupt verwenden zu können. Die UDTs können also nur im Zusammenhang mit Tabellen verwendet werden, was zu sogenannten getypten Tabellen und, analog zu den Typhierarchien der UDTs, zu Tabellenhierarchien führt. ________________________________________ Folie 21 Objektrelationale Datenbanken Datentypen und Operationen (SQL 99): UH, FB Inf, M. Blaszkowski 21 Die Grafik zeigt die in SQL-99 vorhandenen Datentypen und die entsprechenden Operationen. Während in SQL92 nur die vordefinierten Datentypen (string, numeric, boolean, ...) verfügbar sind, gibt es in SQL-99 auch konstruierte Typen (Schachtelung von Zeilen, Kollektionstypen) und benutzerdefinierte Typen (UDTs). Die UDTs bestehen aus umbenannten Typen (distinct type) und strukturierten Typen, wobei nur die strukturierten Typen über Objekteigenschaften verfügen (Kapselung, Wiederverwendung von Code, Überladen und Überschreiben). In den Tabellen können die strukturierten Typen sowohl als Spaltentyp, als auch als Zeilentyp benutzt werden. Benutzt man die strukturierten Typen als Zeilentypen, so lassen sich, aufbauend auf deren Typhierarchien, Tabellenhierarchien erstellen. Natürlich erlauben die strukturierten Typen spezifische Operationen (UDR) zu definieren, die entsprechend dem ADT-Konzept benutzt werden können. Die Einteilung in Funktionen, Prozeduren und Methoden ergibt sich aus den Beschränkungen in Hinblick auf das Überladen und Überschreiben von Operationen. ________________________________________ Folie 22 Objektrelationale Datenbanken Beispiel (Verwaltung von Flurstücken): CREATE TYPE Polygon AS ( Nummer INTEGER, Rand LIST (Punkt), Löcher SET (LIST (Punkt))) INSTANTIABLE NOT FINAL; METHOD Umfang () RETURNS DECIMAL, METHOD FLäche () RETURNS DECIMAL, METHOD Enthält (Punkt) RETURNS BOOLEAN, ... CREATE TABLE Flurstücke ( Nummer INTEGER PRIMARY KEY, Geometrie Polygon, Eigentümer CHAR (50)); UH, FB Inf, M. Blaszkowski 22 Zur Verwaltung von Flurstücken wird hier ein UDT Polygon definiert. Dieser soll sich zusammensetzen aus einer Variable vom Typ INTEGER, einer Liste von Punkten (Punkt ist ebenfalls ein UDT, der bereits definiert wurde) zur Definition des Randes und einer Menge (evtl. leeren) von Punktlisten, die mögliche Löcher beschreiben sollen. Die Schnittstelle nach außen definieren mehrere Methoden. Mit diesen soll unter anderem möglich sein den Umfang und die Fläche des Polygons zu bestimmen. Anschließend wird der UDT Polygon in der Tabelle Flurstücke als Spaltentyp verwendet. ________________________________________ Folie 23 Nichtstandardanwendungen von Datenbanken SA Bankwesen Lohnwesen Produktion NSA CAD GIS Elektronik Einige Unterschiede zwischen SA und NSA: Standardanwendungen Einfachschlüssel exakter Match Nichtstandardanwendungen Mehrfachschlüssel unsicherer Match einige logische Verknüpfungen vielfache logische Verknüpfungen leichte Operatoren komplexe Operatoren UH, FB Inf, M. Blaszkowski 23 Standardanwendungen (SA) von Datenbanken kommen z. B. im Lohn- und Bankwesen oder Materialbestellung vor. Dagegen gelten als Nichtstandardanwendungen (NSA) die Bereiche des CAD und der GeoInformationssysteme, also vor allem die Bereiche, die mit raumbezogenen Daten umgehen müssen. NSA sind wesentlich komplexer als SA, was sich z. B. im Vorhandensein von Mehrfachschlüssel in NSA bemerkbar macht. In SA kommen meistens einfache Schlüssel, wie z. B. Kundennummer, vor, während in raumbezogenen Systemen sich der Schlüssel über mindesten zwei Größen, z. B. x- und y-Koordinate erstreckt. Eine Anfrage in SA beruht auf einem exakten Match, dagegen kann eine Anfrage in GIS im Allgemeinen nicht direkt in einer SQL-Anweisung formuliert werden. Vielmehr müsste ein GIS in der Regel mehrere SQLAnfragen auswerten, um daraufaufbauend ein korrektes Ergebnis liefern zu können. Da die Objekte in raumbezogenen Systemen relativ komplex sind (ein Polygon besteht aus Linien, eine Linie aus Punkten, ...), werden die Objekte durch Normalisierung des DB-Entwurfs auf viele Tabellen aufgesplittet. Dies führt dann zwangsläufig zu vielen logischen Verknüpfungen und komplexen Operatoren bei Anfragen. ________________________________________ Folie 24 Nichtstandardanwendungen von Datenbanken Allgemeiner Aufbau eines raumbezogenen Datenbanksystems Datenbankmanagementsystem (DBMS) Datenbank (DB) Objektdefinition Geometrie Topologie Graph. Beschreibung Sachdaten UH, FB Inf, M. Blaszkowski 24 Folie 25 Nichtstandardanwendungen von Datenbanken Architekturen: Non-StandardAnwendung Non-StandardAnwendung anwendungsabhängige Zusatzebene ORDBS Non-StandardAnwendung Geometrie Sachdaten zugeschnittenes DBS UH, FB Inf, M. Blaszkowski Relationales DBS Anwendungsspezifisch 25 Der allgemeine Aufbau von raumbezogenen Datenbanken orientiert sich natürlich an den klassischen DBS in der Informatik. Es gibt also ebenfalls ein Datenbankmanagmentsystem (DBMS) welches in Kombination mit der Datenbank, also den Daten an sich, das Datenbanksystem ergibt. Da die Funktionalität der klassischen DBMS nicht ausreicht, um die komplexen Daten, die in einer raumbezogenen Datenbank anfallen, zu verwalten, muss das klassische DBMS, um entsprechende Funktionalität erweitert werden. Mit der zur Zeit verfügbaren DB- Technologie sind für die Realisierung einer raumbezogene Datenbank prinzipiell drei unterschiedliche Architekturen denkbar. Alle drei haben ihre Vor- und Nachteile. Die Realisierung eines zugeschnittenen DBS ist vergleichbar mit einer Neuentwicklung des DBMS. Dementsprechend ist diese Lösung sehr aufwendig, hat aber den Vorteil sehr effizient zu sein. Eine andere Möglichkeit besteht darin ein vorhandenes relationales DBS um eine Zusatzebene zur erweitern, die die von der Anwendung benötigten zusätzlichen Funktionalitäten (wie z. B. Verwaltung raumbezogener Datentypen) zur Verfügung stellt. Dieser Ansatz hat den Vorteil, dass relationale Datenbanken sehr verbreitet sind und sich damit die NSA mit relativ wenig Aufwand in eine vorhandene Systemumgebung integrieren lässt. Das ist auch die Architektur, die zur Zeit im GIS-Bereich üblich ist. Als letzte Lösung, die softwaretechnisch vieleicht die sauberste ist, kann eine objektrelationale Datenbank verwendet werden. Hierdurch kann nahezu die gesamte Anwendungslogik in das DBS verlagert werden, was den Code insgesamt konsistenter macht. Ebenso müssen die räumlichen Anfragesprachen nicht erst aufwendig neuentwickelt werden, sondern können direkt auf SQL 99 aufbauen. Leider haben sich bis jetzt die objektrelationalen Datenbanken bei der Ausführung größerer Mengen an Code als nicht besonders effizient erwiesen, sodass hier sicherlich noch einiges an Entwicklungsarbeit zu leisten ist. ________________________________________ Folie 26 Nichtstandardanwendungen von Datenbanken Schalenmodell der raumbezogenen Datenhaltung Räumliches Modell Konzeptionelles Modell Logisches Modell Externes Schema Physikalisches Modell UH, FB Inf, M. Blaszkowski 26 Das Schalenmodell zeigt den Aufbau eines raumbezogenen Anwendungssystems aus daten-logischer Sicht. Dabei gehört die Bereitstellung und Verwaltung der beiden inneren Schalen (logisches und physikalisches Datenmodell) zu den klassischen Aufgaben von Datenbanksystemen. Das logische Datenmodell beinhaltet die Festlegung von Datenbankschemata zur Aufnahme der gegebenen Datenstrukturen. Die Art der Datenspeicherung auf der Festplatte sowie der dazugehörige Zugriffsmechanismus wird im physikalischen Datenmodell festgelegt. In das konzeptionelle Datenmodell ist vor allem das geometrische Modellieren (z. B. Kanten-, Flächen- und Volumenmodelle) eines Objektes einzuordnen, das von dem Anwender in dem räumlichen Datenmodell, hinsichtlich seiner thematischen Ausdehnung und Abgrenzung, festgelegt wird. Vergleicht man das Schalenmodell mit der Drei-Schema-Architektur (siehe Folie 7), so würden die beiden äußeren Schalen (das räumliche und das konzeptionelle Datenmodell) dem externen Schema in der DreiSchema-Architektur entsprechen. Verwendet man also zur Realisierung eines raumbezogenen Anwendungssystems ein DBS, welches die Vorgabe der Drei-Schema-Architektur in konsequenter Weise umsetzt, so sollte es in diesem möglich sein die Daten in den beiden inneren Schalen unabhängig von den beiden äußeren Schalen zu verwalten. Diese Daten könnten dann also auch anderen Anwendungsprogrammen zur Verfügung gestellt werden. So könnten z. B. die Daten eines GIS mit relativ wenig Aufwand in ein sogenanntes Datawarehouse (unter dem Begriff ist in Prinzip nur eine Menge von Daten zu verstehen, die aus mehreren unterschiedlichen Quellen extrahiert worden sind) integriert werden, um Tools bei der Analyse von Daten zu unterstützen. ________________________________________ Folie 27 Nichtstandardanwendungen von Datenbanken Punktanfrage 125 126 127 Bereichsanfrage Gegeben sei ein bestimmter Punkt mit seinen Koordinaten; innerhalb welchem Objekt liegt dieser Punkt? Gegeben sei ein bestimmter Bereich - welche Objekte schneiden diesen Bereich? UH, FB Inf, M. Blaszkowski 27 Es wird angenommen, dass ein Grafiksystem Auskunft über die aktuelle Position des Cursors ausgibt und das Flurstück nach einem Knoten-Kanten-Modell in einer relationalen Datenbank gespeichert ist. Wird nun der Cursor an eine beliebige Stelle im Flurstück positioniert, so muss eine Abfrage gestellt werden, die aus dem Datenbestand der Datenbank selbst nicht beantwortet werden kann, sondern erst durch eine Nachbereitung der von der Datenbank erhaltenen Kandidaten. Man erhält nämlich als Ergebnis mindestens vier Parzellen, da in der Datenbank nur Positionen der Eckpunkte gespeichert sind. Mit diesen Daten können jedoch vollständige geometrische Modelle der Parzellen bestimmt werden, mit denen sich anschließend beide Anfragen beantworten ließen. Die Anfrage nach den Objekten, die einen bestimmten Bereich schneiden ist übrigens ein typisches Beispiel für das Anzeigen raumbezogener Daten in einem Fenster am Bildschirm. Sie könnte also durch Anwendung eines Clipping-Algorithmus (z. B. des Liang-Barsky-Algorithmus) auf die geometrischen Modelle der Objekte beantwortet werden. ________________________________________ Folie 28 Nichtstandardanwendungen von Datenbanken Bestandsflächen eines Forsteinrichtungssystems: Aufgabe: Holzvorrat innerhalb eines beliebigen frei definierbaren Polygons ermitteln. UH, FB Inf, M. Blaszkowski 28 Die Frage nach dem Holzvorrat in einzelnen Flächen oder auch zum Beispiel nach dem gesamten Holzvorrat in den Flächen 3 und 4 ist mittels Standard-SQL leicht zu formulieren (SELECT SUM (HOLZVORRAT) FROM WALD WHERE BEST-ID = 3 OR BEST-ID = 4;). Soll jedoch der Holzvorrat innerhalb eines frei definierbaren Polygons (Abfragepolynoms) ermittelt werden, so bietet Standard-SQL keine direkte Möglichkeit, dies zu ermitteln. Es ist nämlich sowohl eine Verschneidung, als auch eine Interpolation notwendig. D. h., die Anfrage kann ebenfalls nur durch Verwendung der geometrischen Modelle der jeweiligen Objekte beantwortet werden. Dabei kann man natürlich annehmen, dass die einzelnen Bestandsflächen einen gleichmäßigen Bewuchs aufweisen. ________________________________________ Folie 29 Nichtstandardanwendungen von Datenbanken SQL/MM Spatial: • Definiert raumbezogene Datentypen und Funktionen • Basiert auf SQL99 UH, FB Inf, M. Blaszkowski 29 Der Standard SQL/MM Spatial soll eine einheitliche Schnittstelle bieten, um raumbezogene Daten in einer Datenbank speichern und verarbeiten zu können. Der Standard basiert auf SQL99 (SQL/MM ist der Oberbegriff für einige Erweiterungen des SQL-Standards) und nutzt dessen Objektorientierung. Es existieren zwar bereits einige Produkte welche ähnliche Funktionalität bieten, jedoch basieren diese meistens auf firmenspezifischen Funktionen und Objekten. Beispiele für solche Herstellerspezifischen Erweiterungen sind: Spatial Database Engine (SDE) von ESRI, Datablade von Informix und Spatial Database Option (SDO) von Oracle. ________________________________________ Quellen/Literaturverzeichnis Bill, Ralf: Grundlagen der Geo-Informationssysteme: Band 1. Hardware, Software und Daten. 4. Auflage, 1999 Heuer, A., Saake, G.: Datenbanken: Konzepte und Sprachen, 2. Auflage, 2000 Härder, T., Rahm, E.: Datenbanksysteme - Konzepte und Techniken der Implementierung, Springer-Verlag, Berlin, 2001 Anderegg, F.: Raumbezogene Datentypen in SQL/MM Spatial und verwandten Standards, Hochschule für Technik Rapperswil, 2002 Ritter, N.: Vorlesungsunterlagen Datenbanken und Informationssysteme (SS 2003 und SS 2004) www.esri.com