Kapitel 1 Einführung und Motivation Erinnerung - Aufgaben eines DBMS Grobcharakterisierung objektrelationaler Datenbanken Evolution von Datenmodellen und Datenbanksystemen Prinzip der Erweiterbarkeit Aufgaben eines Datenbankmanagementsystems Integration Bereitstellen eines Datenmodells, mit dessen Konzepten alle Daten einheitlich beschrieben werden Persistenz effiziente Verwaltung großer Mengen gespeicherter Daten Datenunabhängigkeit zweckmäßige Organisation der Daten (Trennung logischen und physischen Aspekten) Anfragesprache deskriptiver Zugriff auf die Daten Transaktionen atomare, konkurrierende Ausführung logisch zusammengehörender Operationen Datenintegrität Sicherung der Datenkonsistenz (semantische Korrektheit) Datensicherung Sicherheit gegen Datenverlust Zugriffskontrolle Schutz gegen unbefugten Zugriff Vorlesung "Objektrelationale, erweiterbare Datenbanken" - WS 2003/2004 (Dr. Can Türker) 1-2 Datenmodelle z Trennung zwischen – – z Datenmodell – – z Schema (Datenbeschreibung; Meta-Daten) und Instanz (Datenausprägung/-zustand; Anwenderdaten) bietet Konzepte zur Beschreibung der Daten und der Beziehung zwischen den Daten legt Syntax und Semantik von Datenbeschreibungen fest Typischerweise besitzt ein DBS mind. zwei Datenmodelle – – logisches: zur benutzerorientierten Repräsentation der Daten physisches: zur speicherorientierten Repräsentation der Daten Vorlesung "Objektrelationale, erweiterbare Datenbanken" - WS 2003/2004 (Dr. Can Türker) 1-3 Abstraktionsstufen DB-Schema Datenmodell primitive Typen Typkonstruktoren Operationen Grundsätzliche Organisation des DBMS DB-Entwurf konkrete Typen Integritätsbedingungen DB-Instanz DB-Betrieb Organisation der DB für eine bestimmte Miniwelt Vorlesung "Objektrelationale, erweiterbare Datenbanken" - WS 2003/2004 (Dr. Can Türker) konkrete Daten (Elemente der Typen aus dem DB-Schema) Beschreibung eines bestimmten Zustands der Miniwelt 1-4 Objektrelational = Relational + Objektorientiert? Objektorientierte Datenbank Relationale Datenbank Objektrelationale Datenbank Vorlesung "Objektrelationale, erweiterbare Datenbanken" - WS 2003/2004 (Dr. Can Türker) 1-5 Historie von Datenbanksystemen 1960-70 1970-90 Dateisysteme Standardisierte DB-Schnittstelle, z.B. SQL 1990-1997 Seit 1997 DB-Server mit Stored Procedures und Trigger DB-Server mit objektrelationalen Erweiterungen AP AP ... ... AP AP ... AP AP Datenverarbeitung DB-Server Dateizugriff DB-Server DB-Server Dateien Datenbank mit Stored Procedures und Trigger Datenbank Vorlesung "Objektrelationale, erweiterbare Datenbanken" - WS 2003/2004 (Dr. Can Türker) mit Stored Procedures und Trigger + Objektrelationale Erweiterungen Datenbank 1-6 Grobe Einordnung von Datenmanagementsystemen … nach Stonebraker (Object-Relational DBMSs - the next great wave - Morgan Kaufman 1996) Einfache Daten 100 Anfragen Komplexe Daten 150 Anfragen Relationale Datenbanken Objektrelationale Datenbanken Einfache Daten Keine Anfragen Komplexe Daten Keine Anfragen Dateien Objektorientierte Datenbanken Vorlesung "Objektrelationale, erweiterbare Datenbanken" - WS 2003/2004 (Dr. Can Türker) 1 1-7 Datenbankunterstützung Klassische Anwendungsgebiete für Relationale Datenbanken A-F 9 ? 9 ? Vorlesung "Objektrelationale, erweiterbare Datenbanken" - WS 2003/2004 (Dr. Can Türker) This is a text document describ This is a text the usefulnes of document describ database technol This is a text the usefulnes of ... document describ database technol the usefulnes of ... database technol ... ? ? 1-8 Was ist speziell an Non-Standard-Anwendungen? z Komplexe Struktur der Objekte – – z Grosse Objekte – z Luftbild-Auswertung Spezielle Eigenschaften – z Geografische Objekte, topografische und thematische Karten Formulare, Text/Bildobjekte Geometrische Sonderfälle, Echtzeitaspekte bei Audio- und Videoanwendungen Spezielle Prädikate und Operationen – – Überdeckt, Liegt-innerhalb, Schneidet, ... Distanz, Fläche, Volumen, ... Vorlesung "Objektrelationale, erweiterbare Datenbanken" - WS 2003/2004 (Dr. Can Türker) 1-9 Evolution von Datenmodellen Mächtigkeit der Operationen RelationenModell Dateien Komplexe Objekte/ Geschachtelte Relationen Hierarchisches Modell Rekursiv Geschachtelte Relationen NetzwerkModell Objektrelationale Datenmodelle Semantische Datenmodelle/ Objektorientierte Datenmodelle Strukturelle Komplexität Vorlesung "Objektrelationale, erweiterbare Datenbanken" - WS 2003/2004 (Dr. Can Türker) 1-10 Objektrelationale Datenmodelle z Was sind objektrelationale Datenmodelle? – – – Relationales Datenmodell angereichert um "objektorientierte" Konzepte? Objektmodell angereichert um "relationale" Konzepte? Neues Datenmodell? z Welche Erweiterungen der Anfragesprache sind notwendig? z Aspekte der Objektorientierung – – – – – – – Strukturierung (komplexe Datenstrukturen) Einkapselung und Methoden Spezialisierung (Wiederverwendbarkeit) Substituierbarkeit Polymorphie Erweiterbarkeit … Vorlesung "Objektrelationale, erweiterbare Datenbanken" - WS 2003/2004 (Dr. Can Türker) 1-11 Motivation für ORDM - Kollektionstypen z Relationale Umsetzung: Kollektion als eigene Tabelle z Nachteile – – – – Aufwand bei der Datendefinition: Information über ein Realwelt-Objekt verstreut gespeichert in mehreren Tabellen Zusammenhang durch Primär-/Fremdschlüsselbedingungen modelliert Komplexere Anfrageformulierung, z. B. Zugriff auf gesamte Information erfordert Verbund mehrerer Tabellen Potentielle Performance-Probleme aufgrund von Declustering Wiederkehrende Nachbildung spezieller Kollektionsoperatoren bzw. -eigenschaften, z. B. Listenkonkatenation bzw. Ordnung von Listenelementen Vorlesung "Objektrelationale, erweiterbare Datenbanken" - WS 2003/2004 (Dr. Can Türker) 1-12 Motivation für ORDM - Tabellenhierarchien (1) z Relationale Umsetzung mittels vertikaler Partitionierung – – z Jede Klasse (ohne die geerbten Attribute) bildet eine Relation Subklassenhierarchie durch Fremdschlüsselbeziehungen modelliert Nachteile – – Aufwand bei der Datendefinition: Untermengenbeziehung zw. Super- und Subklasse erfordert Programmierung von Triggern und Stored Procedures Automatisches Löschen eines Tupels aus allen Super- und Subtabellen Automatisches Einfügen in alle Supertabellen Updates auf Primär- und Fremdschlüsselwerten entweder ganz verbieten oder konsistent auf allen Super- bzw. Subtabellen ändern Komplexe Anfrageformulierung, z. B. Verbund notwendig, um alle Daten eines Subklassenobjekts zu ermitteln Vorlesung "Objektrelationale, erweiterbare Datenbanken" - WS 2003/2004 (Dr. Can Türker) 1-13 Motivation für ORDM - Tabellenhierarchien (2) z Relationale Umsetzung mittels horizontaler Partitionierung – – z Jede Klasse bildet mit den geerbten Attributen eine Relation Relationen sind "extensional disjunkt" Nachteile – – Aufwand bei der Datendefinition: Untermengenbeziehung zw. Super- und Subklasse erfordert Trigger-Programmierung Einfügen verhindern, wenn eine andere Tabelle der Hierarchie ein Tupel mit dem gleichen Schlüsselwert besitzt Update eines Schlüsselwertes verhindern, falls bereits ein Tupel mit dem gleichen Schlüsselwert in einer anderen Tabelle der Hierarchie existiert Komplexere Anfrageformulierung, z. B. Vereinigung notwendig, um alle Objekte einer Superklasse anzuzeigen Vorlesung "Objektrelationale, erweiterbare Datenbanken" - WS 2003/2004 (Dr. Can Türker) 1-14 Motivation für ORDM - Tabellenhierarchien (3) Person Name Anschrift UNDER Objektrelationale Umsetzung mit nur einem Schlüsselwort Kunde KNr Limit Vertikale Partitionierung Person Name Anschrift ID PRIMARY KEY(ID), BEFORE UPDATE + BEFORE DELETE TRIGGER Kunde KNr Limit ID PRIMARY KEY(ID), FOREIGN KEY(ID), STORED PROCEDURE: InsertKunde(ID, Name, Anschrift, KNr, Limit) AFTER UPDATE + AFTER DELETE TRIGGER Horizontale Partitionierung Person Name Anschrift ID PRIMARY KEY(ID), BEFORE INSERT + BEFORE UPDATE TRIGGER Kunde Name Anschrift KNr Limit ID PRIMARY KEY(ID), BEFORE INSERT +AFTER UPDATE TRIGGER Vorlesung "Objektrelationale, erweiterbare Datenbanken" - WS 2003/2004 (Dr. Can Türker) 1-15 Motivation für ORDM - Methoden z Relationale Umsetzung: Typspezifische, immer wieder benötigte Funktionen redundant in Anwendungsprogrammen implementiert z Nachteile – – – Höhere Fehlerquote Schlechtere Wartbarkeit (Basiswissen zerstreut über DB und Anwendungen) Höhere Netzwerkbelastung & schlechtere Performance z.B. Finden von angrenzenden Grundstücken: 1.000.000 GrundstückObjekten werden in die Anwendung übertragen, obwohl nur vier Grundstücke relevant sind Vorlesung "Objektrelationale, erweiterbare Datenbanken" - WS 2003/2004 (Dr. Can Türker) 1-16 Datenbankunterstützung und Erweiterbarkeit A-F 9 9 This is a text document describ This is a text the usefulnes of document describ database technol This is a text the usefulnes of ... document describ database technol the usefulnes of ... database technol ... 9 Klassische und Non-Standard-Anwendungsgebiete für objektrelationale, erweiterbare Datenbanken 9 9 Vorlesung "Objektrelationale, erweiterbare Datenbanken" - WS 2003/2004 (Dr. Can Türker) 9 1-17 Prinzip der Erweiterbarkeit z Erweiterung des Datenmodells um anwendungsspezifische Datentypen – z Erweiterung der Anfragesprache um neue Operationen passend zu den neuen Datentypen – z Schnitt zweier Geometrieobjekte, Finden ähnlicher Bilder, ... Erweiterung um passende Methoden des physischen Datenbankentwurfs – z Geometrieobjekte, digitalisierte Bildobjekte oder Audiodaten, ... R-Baum, Grid-File für Geometrieobjekte, Multidimensionale Indexstrukturen, ... Erweiterung der Anfrageoptimierung – Benutzerdefinierte Kostenfunktionen für Index und Funktionen Vorlesung "Objektrelationale, erweiterbare Datenbanken" - WS 2003/2004 (Dr. Can Türker) 1-18 Zentrale Komponenten eines DBMS & Erweiterbarkeit z Anfrageverarbeitung und -optimierung – – z Indexverwaltung – z Bearbeitung von Anfragen basierend auf neuen Basisdatentypen und benutzerdefinierten Datentypen Berücksichtigung neuer Funktionen und Prädikate bei der Anfrageoptimierung Bereitstellung und Verwaltung effizienter Zugriffstrukturen Speicherverwaltung – – Speicherung von Instanzen neuer Basisdatentypen bzw. benutzerdefinierter Datentypen Umsetzung effizienter Speicherorganisationstechniken Vorlesung "Objektrelationale, erweiterbare Datenbanken" - WS 2003/2004 (Dr. Can Türker) 1-19 Architekturvarianten z Schichtenarchitektur – – z Monolithische Architektur – – z Erweiterungen als Anwendungsprogramme Datenbanken mit Spezialaufsatz GIS/ArcInfo, Integrierte Erweiterungen Spezialsysteme GIS/Smallworld, Altavista, MS Office Erweiterbare Architektur – – Erweiterungen als Module Funktionen für den Anfrageoptimierer Speicherung spezieller Datenformate Spezielle Zugriffsmethoden Objektrelationale DBMS Oracle, DB2, Informix, Postgres Vorlesung "Objektrelationale, erweiterbare Datenbanken" - WS 2003/2004 (Dr. Can Türker) Erweiterung DBMS DBMS + Erweiterung Erweiterung DBMS Erweiterung Erweiterung 1-20 Zusammengefasst: Objektrelationale DBMS z Ziele – – – z Anwendung von Datenbankfunktionalität auf Non-Standard-Daten Evolutionäre Erweiterung relationaler DBMS Integration objektorientierter Konzepte Aufwärtskompatibilität basierend auf SQL Vereinigung der Vorteile relationaler und objektorientierter DBMS Metamorphose von monolithischen Systemen zu Rahmendiensten – – Datenbanksystem stellt Basisdienste zur Verfügung, z.B. relationale Funktionen, Datenverwaltung, Transaktionssynchronisation, Recovery, Zugriffskontrolle, ... Bausteinartige, anwendungsbezogene Ergänzung der Basisdienste durch gekaufte oder selbst entwickelte Erweiterungsmodule Vorlesung "Objektrelationale, erweiterbare Datenbanken" - WS 2003/2004 (Dr. Can Türker) 1-21