Datenbanksysteme II Montag, 7. September 2009 1 Montag, 7. September 2009 2 Datenbanksysteme II • Vorlesung • • Montag 10:15 Uhr - 11:45 Uhr (B6, A1.01) Donnerstag 10:15 Uhr - 11:45 Uhr (A5, C0.15) • Übungen • • Aufgabenblätter ca. im 2-Wochen-Rhytmus Bearbeitung freiwillig • Dozent • • • Carl-Christian Kanne, B6, Büro C0.04 Tel 0621/181-2586 Email [email protected] Montag, 7. September 2009 3 Literatur • A. Kemper , A. Eickler Datenbanksysteme – Eine Einführung • • Oldenbourg Verlag, 2009, (7.Auflage) insb. Kap. 15 u. 17 Montag, 7. September 2009 4 Weitere Literatur • R. Elmasri, S.B. Navathe Fundamentals of Database Systems • A. Silberschatz, H. F. Korth und S. Sudarshan Database System Concepts • R. Ramakrishnan, J. Gehrke: Database Management Systems Montag, 7. September 2009 5 Weitere Literatur • Melton/Buxton: Querying XML (Morgan Kaufmann) • Walmsley: Definitive XML Schema (Prentice Hall) • • Means/Harold: XML in a nutshell (O’Reilly) Das Web... Montag, 7. September 2009 6 noch mehr Literatur • auf der Webseite zur Vorlesung Montag, 7. September 2009 7 Thema der Vorlesung • Nicht-relationale Datenmodelle und Anfragesprachen Montag, 7. September 2009 8 Wozu DBMS? • Ein Datenbankmanagementsystem (DBMS) verwaltet Datenbanken. • Warum nicht z.B. Textverarbeitungsprogramm nehmen? • Verwaltet auch Daten! Montag, 7. September 2009 9 Probleme ohne DBMS • Redundanz und Inkonsistenz • Verschiedene Datenformate/Formatevolution • Probleme beim Mehrbenutzerbetrieb • Verlust von Daten • Integritätsverletzungen • Fehlende Sicherheit • Fehlende Skalierbarkeit • Hohe Entwicklungskosten für Anwendungsprogramme Montag, 7. September 2009 10 Gründe für DBMS • Datenunabhängigkeit • Deklarative Anfragesprachen • Mehrbenutzersynchronisation • Fehlerbehandlung • Sicherstellung der Datenintegrität • Effizienz und Skalierbarkeit • Kostenersparnis bei Anwendungsentwicklung Montag, 7. September 2009 11 Grobarchitektur Anwendung Anwendung DBMS Datenbanksystem Datenbank Montag, 7. September 2009 12 Datenunabhängigkeit • DBMS entkoppelt Anwendungen von unteren Ebenen • Logische Datenunabhängigkeit: • Anwendungen robust gegen Veränderungen der logischen Datenstruktur • Physische Datenunabhängigkeit • Anwendungen robust gegen Änderungen des Speicherformats Montag, 7. September 2009 13 Deklative Anfragebearbeitung • Nutzer beschreiben, welche Daten sie benötigen • Nicht: Wie man auf diese Daten zugreift • “Liste alle Kunden aus Zürich auf, die mehr als 1.000.000 CHF Umsatz gemacht haben” • Erleichtert Anwendungsprogrammierung, unterstützt Datenunabhängigkeit Montag, 7. September 2009 14 Datenmodelle • Beschreiben, welche Primitiven zur Verfügung stehen • • um Daten zu beschreiben. um Daten zu bearbeiten • Beispiel: Relationales Datenmodell (Grundvorlesung) • • “Alle Datensammlungen bestehen aus Relationen” • Operationen: Relationale Algebra/Tupelkalkül, SQL, Einfügen/ Löschen/Änderung von Tupeln Ähnlich: “Alle Datensammlungen bestehen aus Tabellen mit Zeilen und Spalten” Montag, 7. September 2009 15 Sind alle Daten relational? • Wann sind Relationen ungeeignet? • Wann ist SQL ungeeignet? Montag, 7. September 2009 16 Relational “geht immer”, aber... • Entwicklerproduktivität • • • • • Design der Abbildung Pflege der Abbildung Fehlerquelle Abbildung Anfragesprache Datenunabhängigkeit? • Performance • • Konversion in Relationen und zurück Fehlendes Wissen über Semantik in DBMS führt zu Leistungsverlust Montag, 7. September 2009 17 Datenmodelle • Konzeptuelle Datenmodelle • • Entity-Relationship-Model (“ER-Diagramme”) • • • • • Relationales Modell Universal Modeling Language (UML) • Logische Datenmodelle (vom DBMS realisiert) Netzwerkmodell Hierarchisches Modell XML (Schema) Objektorientiertes Modell • Physische Datenmodelle Montag, 7. September 2009 18 Schritte des DB-Entwurfs Realwelt Anforderungsanalyse (Gedanken-) Modell konzeptueller Entwurf DB-Schema (konzeptuelles DM) logischer Entwurf für gegebenes DB-Schema (logisches DM) Datenmodell physischer Entwurf für gegebenes DB-Schema (physisches DM) DBMS Montag, 7. September 2009 19 Inhalt der Vorlesung • Nicht-relationale Datenmodelle und Anfragesprachen • • • Teil I: Deduktive Datenbanken Teil II: Multidimensionale Daten (OLAP/Data Warehousing) Teil III: XML Montag, 7. September 2009 20