Einführung Dr. Angelika Reiser Lehrstuhl für Informatik III: y Datenbanksysteme TU München / Garching [email protected] Datenbanksysteme für Hörer anderer Fachrichtungen WS 2013/2014 14.10.2013 Vorlesung bzw. V l Vorlesung + Übung Üb • Vorlesungswebsite siehe TUMonline-Eintrag http://www-db.in.tum.de/teaching/ws1314/DBSandere/index.shtml • IN4714: • Teil des Pflichtmoduls Geodatenbanken und Visualisierung • Umfang: 2V SWS und 2 ECTS • IN8002: • Für Studierende aller Fakultäten • die Einbringung in Ihr Studium klären Sie bitte mit Ihrem Prüfungsausschuss • Umfang: U f 2V 1Ü SWS und 2V+1Ü d 4 ECTS Datenbanksysteme für Hörer anderer Fachrichtungen WS 2013/2014 14.10.2013 Modalitäten Vorlesung • • • • • • • 2 Stunden Vorlesung wöchentlich Mittwochs, 16.30 – 18.00 Uhr Klausur: Termin steht noch nicht fest IN4714: 40 Minuten IN8002: 80 Minuten Fragen gerne während der Vorlesung nach der Vorlesung individuelle Fragen Datenbanksysteme für Hörer anderer Fachrichtungen WS 2013/2014 14.10.2013 Modalitäten Vorlesung (cont.) (cont ) • Eingebettete Übungen • Vorrechnen an der Tafel interaktive Veranstaltung Datenbanksysteme für Hörer anderer Fachrichtungen WS 2013/2014 14.10.2013 Modalitäten Übung • • • • • Mittwochs, 18 – 19 Uhr Mittwochs Raum: CIP-Raum 3238 Erste Besprechung: heute Nicht jjede Woche Projektarbeit mit frei gewähltem Datenbanksystem • Bonus bei erfolgreicher Projektarbeit (+ 0 3/0 4 nächst höhere Notenstufe 0.3/0.4, Notenstufe, nicht bei 4.3 oder schlechter in Klausur) • Moodle M dl Gruppe G wird i d eingerichtet i i ht t Datenbanksysteme für Hörer anderer Fachrichtungen WS 2013/2014 14.10.2013 Vorlesungsinhalt • Datenbankentwurf • E/R-Modellierung • UML-Modellierung UML Modellierung • Relationales Datenmodell • Relationale Anfragesprache SQL • Datenintegrität Datenbanksysteme für Hörer anderer Fachrichtungen WS 2013/2014 14.10.2013 Vorlesungsinhalt cont. Vorlesungsinhalt, cont • Physische Organisation der Daten • B-Bäume • Hashing • Anfragebearbeitung • Transaktionsverwaltung • (Normalformen, NoSQL Datenbanken, Data Warehouses, …) Vorbereitung für Geodatenbanken, Herr Dona Donaubauer, ba er ab Jan Januar ar 2014 Datenbanksysteme für Hörer anderer Fachrichtungen WS 2013/2014 14.10.2013 Verwendete Materialien Folien von Prof. Kemper: p http://www http://wwwdb.in.tum.de/research/publications/books/DBMSeinf und Prof. Neumann: http://www-db.in.tum.de/ teaching/ws1112/dbsys/exercises/index shtml teaching/ws1112/dbsys/exercises/index.shtml Danke - Fehler gehen auf mich☻ Datenbanksysteme für Hörer anderer Fachrichtungen WS 2013/2014 14.10.2013 Literatur Alfons Kemper und André Eickler Datenbanksysteme: Eine Einführung 8. Auflage (2011) (ältere Auflagen sind auch ok) Oldenbourg Verlag, München (ca 40 Euro) http://wwwp db.in.tum.de/research/publications/books/DBMSeinf http://www db in tum de http://www-db.in.tum.de Datenbanksysteme für Hörer anderer Fachrichtungen WS 2013/2014 14.10.2013 Übungsbuch dazu … Alfons Kemper und Martin Wimmer Üb Übungsbuch b hD Datenbanksysteme t b k t 3. Auflage (2012) (ältere Auflagen sind auch ok) Oldenbourg Verlag, München (ca 30 Euro) Datenbanksysteme für Hörer anderer Fachrichtungen WS 2013/2014 14.10.2013 Zusatzmaterial http://www-db http://www db.in.tum.de/research/publications/books/DBMSeinf/ in tum de/research/publications/books/DBMSeinf/ • • • • • Folien Videos von Vorlesungen in Übungsbuch Daten zum Aufbau von eigenen Datenbanken SQL-Schnittstelle Programmbeispiele für • IBM DB2 • Oracle • MS SQL Server Datenbanksysteme für Hörer anderer Fachrichtungen WS 2013/2014 14.10.2013 Weitere Literatur A. Silberschatz, H. F. Korth und S. Sudarshan Database System y Concepts, p , 4. Auflage, g , McGraw-Hill Book Co., 2002. R. Elmasri,, S.B. Navathe: Fundamentals of Database Systems, Benjamin Cummings, Redwood City, Ca, USA, 2. Auflage, 1994 R. Ramakrishnan, J. Gehrke: Database Management g Systems, y 3. Auflage, g 2003. G. Vossen : Datenmodelle, Datenbanksprachen und Datenbank-Management-Systeme. g y Oldenbourg, 2001. Datenbanksysteme für Hörer anderer Fachrichtungen WS 2013/2014 14.10.2013 Weitere Literatur, Literatur cont. cont D. Maier: The Theory y of Relational Databases. Computer Science Press. 1983. S. M. Lang, P.C. Lockemann: Datenbankeinsatz. Springer Verlage, 1995. C. Batini, S. Ceri, S.B. Navathe: Conceptual Database Design, Benjamin Cummings, Redwood City, y, Ca,, USA,, 1992. C. J. Date: An Introduction to Database Systems. McGraw-Hill,, 8. Aufl.,, 2003. J.D. Ullmann, J. Widom: A First Course in Database Systems, McGraw Hill, 2. Auflage, 2001. Datenbanksysteme für Hörer anderer Fachrichtungen WS 2013/2014 14.10.2013 Weitere Literatur, Literatur cont. cont A. Kemper, p , G. Moerkotte: Object-Oriented j Database Management: Applications in Engineering g g and Computer p Science,, Prentice Hall, 1994 E Rahm: Mehrrechner-Datenbanksyseme E. Mehrrechner Datenbanksyseme. Addison-Wesley, 1994. P Dadam: Verteilte Datenbanken und P. Client/Server Systeme. Springer Verlag, 1996 T Härder, T. Hä d E. E R Rahm: h D Datenbanksysteme t b k t – Konzepte und Techniken der Implementierung, 2001 2001. Datenbanksysteme für Hörer anderer Fachrichtungen WS 2013/2014 14.10.2013 Begriffsklärung • Was ist ein Datenbanksystem y ((DBS)? ) Ein System zum Speichern und Verwalten von Daten. • Warum kein herkömmliches Dateisystem y verwenden? Ausfallsicherheit und Skalierbarkeit nur mit hohem Aufwand erreichbar erreichbar. Datenbanksysteme für Hörer anderer Fachrichtungen WS 2013/2014 14.10.2013 Beispiele Traditionelle Anwendungsbiete: g • Geschäftsdaten • Buchhaltung • Verwaltung ... Heute sehr viel breiter: • Wissenschaftliche/Medizinische Wi h ftli h /M di i i h D Daten t • Data Mining • Geoinformationssysteme • Websuche ... Datenbanksysteme für Hörer anderer Fachrichtungen WS 2013/2014 14.10.2013 Beispiele, cont. Indirekt benutzen wir ständig g Datenbanken: • Websuche bei Google, Yahoo, ... • Anfragen bei Amazon, Amazon EBay EBay, ... • Backend vieler großer Webseiten Viele Spielarten (DB/IR, zentralisiert, dezentralisiert etc.)) Datenbanken werden fast immer eingesetzt wenn • die Datenmengen groß sind • die Daten wertvoll sind Datenbanksysteme für Hörer anderer Fachrichtungen WS 2013/2014 14.10.2013 Beispiele, cont. Die großen kommerziellen Datenbanksysteme: • Oracle • IBM DB2 • Microsoft SQL Server • Sybase Einige freie Datenbanksysteme: • PostgreSQL • MySQL • MonetDB Noch viele weitere, teils stark spezialisierte Systeme Datenbanksysteme für Hörer anderer Fachrichtungen WS 2013/2014 14.10.2013 Motivation für den Einsatz eines i Datenbanksystems D t b k t Typische Probleme bei Informationsverarbeitung ohne DBMS • • • • • • • Redundanz und Inkonsistenz Beschränkte Zugriffsmöglichkeiten g g Probleme beim Mehrbenutzerbetrieb Verlust von Daten Integritätsverletzung Sicherheitsprobleme hohe Entwicklungskosten für An end ngsprogramme Anwendungsprogramme Datenbanksysteme für Hörer anderer Fachrichtungen WS 2013/2014 14.10.2013 Motivation für den Einsatz eines Datenbanksystems Datenbanksystems, cont cont. Gründe für den DBS-Einsatz gg • Datenunabhängigkeit • Deklarative Anfragesprachen • Mehrbenutzersynchronisation • Fehlerbehandlung • Sicherstellung der Datenintegrität • Effizienz und Skalierbarkeit Datenbanksysteme für Hörer anderer Fachrichtungen WS 2013/2014 14.10.2013 Abstraktionsebenen eines Datenbanksystems Sicht1 Sicht 2 ... Sicht 3 Logische Ebene Physische y Ebene Datenbanksysteme für Hörer anderer Fachrichtungen WS 2013/2014 14.10.2013 Abstraktionsebenen eines Datenbanksystems cont. Datenbanksystems, cont Sicht: Si h beschreibt wie ein Benutzer die Daten sieht Logische Ebene: beschreibt wie die Daten strukturiert sind Physische Ebene: b beschreibt h ibt wie i di die D Daten t gespeichert i h t werden d Datenbanksysteme für Hörer anderer Fachrichtungen WS 2013/2014 14.10.2013 Abstraktionsebenen eines Datenbanksystems cont. Datenbanksystems, cont DBS entkoppelt Anwendungen von der Struktur und Speicherung der Daten: • Logische L i h D Datenunabhängigkeit t bhä i k it Änderungen auf der logischen Ebene haben keinen Einfluß auf Anwendungen • Physische Datenunabhängigkeit Änderungen auf der physischen Ebene haben keinen Einfluß auf Anwendungen Wi d iin ffastt allen Wird ll modernen d DBS d durchgesetzt h t t Datenbanksysteme für Hörer anderer Fachrichtungen WS 2013/2014 14.10.2013 Eigenschaften von Datenbanksystemen Deklarative Anfragesprache • Benutzer sagt g DBS was für Daten g geholt werden sollen . . . . . . und nicht wie die Daten g geholt werden sollen Weniger fehleranfällig (beim Formulieren von Anfragen/Entwickeln von Anwendungen), da kein Wissen über die tieferen Schichten des DBS nötig Datenbanksysteme für Hörer anderer Fachrichtungen WS 2013/2014 14.10.2013 Eigenschaften von D t b k Datenbanksystemen, t cont. t Mehrbenutzersynchronisation • Wenn mehrere Benutzer ohne jegliche Kontrolle gleichzeitig Daten ändern können, können gibt es große Probleme DBS erlaubt l b gleichzeitigen l i h ii Z Zugriff iff und d verhindert schlimme Seiteneffekte Datenbanksysteme für Hörer anderer Fachrichtungen WS 2013/2014 14.10.2013 Eigenschaften von Datenbanksystemen cont Datenbanksystemen, cont. Fehlerbehandlung • DBS kann Zustand zum Zeitpunkt eines Absturzes rekonstruieren Dafür werden Logdateien vom DBS angelegt und d verwaltet l Datenbanksysteme für Hörer anderer Fachrichtungen WS 2013/2014 14.10.2013 Eigenschaften von Datenbanksystemen cont Datenbanksystemen, cont. Datenintegrität (Konsistenz) • Datenverarbeitung in einer Anwendung läuft nicht völlig zufällig ab, ab sondern folgt gewissen Prinzipien DBS befolgt b f l ((angegebene) b )P Prinzipien i i i und d schützt so vor: • Benutzerfehlern g • Programmfehlern Datenbanksysteme für Hörer anderer Fachrichtungen WS 2013/2014 14.10.2013 Eigenschaften von Datenbanksystemen cont Datenbanksystemen, cont. Effizienz und Skalierbarkeit • DBSe sind für groß angelegte Anwendungen konzipiert In DBSen sind Techniken integriert, die mit großen ß Datenvolumen D l umgehen h können kö Datenbanksysteme für Hörer anderer Fachrichtungen WS 2013/2014 14.10.2013 Eigenschaften von D t b k Datenbanksystemen t • • • • • Deklarative Anfragesprache M hb Mehrbenutzersynchronisation t h i ti g Fehlerbehandlung Datenintegrität Effizienz und Skalierbarkeit Datenbanksysteme für Hörer anderer Fachrichtungen WS 2013/2014 14.10.2013 Architekturübersicht eines DBMS Datenbanksysteme für Hörer anderer Fachrichtungen WS 2013/2014 14.10.2013 „Naive“ Benutzer Anwendung Fortgeschrittene Benutzer AnwendungsProgrammierer Datenbankadministratoren Interaktive Anfrage Präcompiler Verwaltungswerkzeug DML-Compiler p DDL-Compiler p Anfragebearbeitung Mehrbenutzersynchr. Fehlerbehandlung g Datenbankmanager DBMS Schemaverwaltung Dateiverwaltung Logdateien Indexe Datenbasis Hintergrundspeicher Datenwörterbuch Datenmodellierung DBS kann vieles, vieles aber nicht alles! Benutzer muss spezifizieren • Anforderungen A f d einer i A Anwendung d • Art von zu speichernden Daten Zwei wichtige Konzepte beim Entwurf: • Datenmodell: Konstrukte zum Beschreiben der Daten • Schema: konkrete Beschreibung einer bestimmten Datensammlung (unter Verwendung eines Datenmodells) Datenbanksysteme für Hörer anderer Fachrichtungen WS 2013/2014 14.10.2013 Datenmodellierung g Ausschnitt der Realen Miniwelt Manuelle/intellektuelle Modellierung Konzeptuelles Schema (E/R- oder UML-Schema) Halbautomatische Transformation Relationales S h Schema XML S h Schema Netzwerk S h Schema Datenbanksysteme für Hörer anderer Fachrichtungen WS 2013/2014 Objektorientiertes S h Schema 14.10.2013 Logische Datenmodelle • • • • • Netzwerkmodell Hierarchisches Datenmodell Relationales Datenmodell XML Schema Objektorientiertes Datenmodell Objektrelationales Schema • Deduktives Datenmodell Datenbanksysteme für Hörer anderer Fachrichtungen WS 2013/2014 14.10.2013 Modellierung einer kleinen Beispielanwendung: E/R Studenten Vorlesungen R l Welt: Reale W lt Universität U i ität Konzeptuelle Modellierung M N MatrNr Studenten Vorlesungen hören Name VorlNr Datenbanksysteme für Hörer anderer Fachrichtungen WS 2013/2014 Titel 14.10.2013 Modellierung einer kleinen Beispielanwendung: UML Studenten +MatrNr : int +Name : String +Semester : int +Notenschnitt() : float +SummeWochenstunden() () : short +Hörer voraussetzen +Nachfolger 1..* * Vorlesungen hören * * +VorlNr : int +Titel : String +SWS : int +AnzHörer() () : int +DurchfallQuote() : float Datenbanksysteme für Hörer anderer Fachrichtungen WS 2013/2014 14.10.2013 Das as relationale e at o a e Datenmodell ate ode Studenten MatrNr Name 26120 Fichte 25403 Jonas ... ... hören MatrNr VorlNr 25403 5022 26120 5001 ... ... Vorlesungen VorlNr Titel 5001 Grundzüge 5022 Glaube und Wissen ... ... Select Name From Studenten, hören, Vorlesungen Where Studenten.MatrNr Studenten MatrNr = hören hören.MatrNr MatrNr and hören.VorlNr = Vorlesungen.VorlNr and Vorlesungen.Titel = `Grundzüge´; Grundzüge ; Datenbanksysteme für Hörer anderer Fachrichtungen WS 2013/2014 14.10.2013