Datenbanksysteme SS 2015 Oliver Vornberger Institut für Informatik Universität Osnabrück Vorlesung vom 13.04.2015 1 Organisation • Vorlesung: Mo + Di, 10:15 Uhr, 31/E06 • Übung: Do 10:15 in 31/E05 + 12:15 Uhr in 69/E18 • Übungsleiter: Nils Haldenwang • Tutoren: Miriam Beutel, Svantje Jung, Lukas Kalbertodt, Dominik Lips, Niels Meyering, Manuel Schwarz • Übungsblatt am Dienstag • Besprechung in Übung am Donnerstag (alt + neu) • Testate montags, dienstags, mittwochs in 31/E53 • Klausur am Montag, 13. Juli 2015 • Datenbankpraktikum 31.08. bis 18.09.2015 2 stud.ip https://studip.uni-osnabrueck.de 3 Literatur • Alfons Kemper, André Eickler: "Datenbanksysteme - Eine Einführung" Oldenbourg Verlag, München, 9. Auflage, 2013, 39.80 € • Ramez Elmasri, Shamkant Navathe: "Grundlagen von Datenbanksystemen" Person Studium IT, Bachelorausgabe, 2009, 34.95 € 4 Begleitmaterial • • • • Skript in PDF (mas2tex) Skript in HTML (media2mult) Powerpointfolien in PDF Matterhorn-Video-Mitschnitt (Streaming, mp4, mp3) http://www-lehre.inf.uos.de/~dbs/2015 5 Checkliste 6 Classroomquiz 7 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Einführung Konzeptuelle Modellierung Logische Datenmodelle Physikalische Datenorganisation Mehrdimensionale Suchstrukturen Das Relationale Modell SQL Datenintegrität Datenbankapplikationen XML Ruby on Rails Relationale Entwurfstheorie Transaktionsverwaltung Mehrbenutzersynchronisation Recovery Objektorientierte Datenbanken Gliederung 8 Kapitel 1: Einführung Programm 1 ... Programm n Programm 1 Physikalische Datei 1 Physikalische Datei n Logische Datei 1 ... Programm n DBMS Logische Datei n Daten basis 9 Kapitel 2: Konzeptuelle Modellierung voraussetzen Vorgänger Nachfolger MatrNr Name VorlNr Studenten hören Vorlesungen Sem Titel Note prüfen lesen PersNr Name SWS Rang Assistenten arbeitenFür Professoren Raum Fachgebiet PersNr Name 10 Kapitel 3: Logische Datenmodelle • • • • Hierarchisches Modell Netzwerkmodell Relationales Modell Objektorientiertes Modell 11 Kapitel 4: Physikalische Datenorganisation 12 Kapitel 5: Mehrdimensionale Suchstrukturen G A E 8 E G F F 6 A 4 C B 2 B C D 2 4 6 8 10 12 14 D 13 Kapitel 6: Das Relationale Modell VorlNr Titel 5001 5041 5043 5049 4052 5052 5216 5259 5022 4630 Grundzüge Ethik Erkenntnistheorie Mäeutik Logik Wissenschaftstheorie Bioethik Der Wiener Kreis Glaube und Wissen Die 3 Kritiken SWS 4 4 3 2 4 3 2 2 2 4 gelesenVon 2137 2125 2126 2125 2125 2126 2126 2133 2134 2137 14 Kapitel 7: SQL select titel, sws from Professoren, Vorlesungen where persnr=gelesenvon and name='Sokrates' 15 Kapitel 8: Datenintegrität Logik Sokrates Mäeutik Ethik FOREIGN KEY gelesenvon references Professoren(persnr) on delete cascade 16 Kapitel 9: Datenbankapplikationen MS Access … JDBC … PHP … 17 Kapitel 10: XML <personen> <person persnr="P4711" sex="w"> <vorname>Susi</vorname> <nachname>Sorglos</nachname> <photo src="erika.gif"/> </person> <person persnr="P4712" chef="P4711" sex="m"> <vorname>Willi</vorname> <nachname>Wacker</nachname> <photo src="willi.gif"/> </person> </personen> 18 Kapitel 11: Ruby on Rails 19 Kapitel 12: Relationale Entwurfstheorie Rang Name PersNr Straße PLZ Ort Raum BLand Vorwahl Landesregierung 20 Kapitel 13: Transaktionsverwaltung potentiell inkarnieren verdrängen wartend aktiv einbringen beenden abgeschlossen festschreiben persistent neustarten wiederholbar abbrechen abbrechen zurücksetzen gescheitert zurücksetzen aufgegeben 21 Kapitel 14: Recovery DBMS-Puffer Hintergrundspeicher Einlagerung A' PA D A' C' D PC Auslagerung C PB B 22 Kapitel 15: Mehrbenutzersynchronisation T1 T2 read(A, a1) a1 := a1 – 300 write(A, a1) read(A, a2 ) a2 := a2 * 1.03 write(A, a2) read(B, b1) . . . abort 23 Kapitel 16: Objektorientierte Datenbanken id1 Professoren PersNr: 2137 Name: "Kant" Rang: "C4" residiertIn: id9 hatGeprueft: liest: id2 VorlNr: Titel: SWS: gelesenVon: Vorlesungen 5001 "Grundzüge" 4 id1 {. . . } {id2 , id3 } id3 VorlNr: Titel: Vorlesungen 4630 "Die 3 Kritiken" SWS: 4 gelesenVon: id1 Hoerer: {. . .} Hoerer: {. . .} Nachfolger: {. . .} Nachfolger: {. . .} Vorgaenger: {. . .} Vorgaenger: {. . .} 24 Kapitel 1: Einführung 25 Definition Datenbanksystem = computergestütztes System mit • Datenbasis zur Beschreibung eines Ausschnitts der Realwelt • Programme zum geregelten Zugriff auf die Datenbasis (Datenbankverwaltungssystem, data base management system = DBMS) 26 Motivation Separate Abspeicherung von miteinander in Beziehung stehenden Daten • • • • • • • • Redundanz Inkonsistenz Integritätsverletzung Verknüpfungseinschränkung Mehrbenutzerprobleme Verlust von Daten Sicherheitsprobleme Hohe Entwicklungskosten 27 Isolierte Dateien versus zentrale Datenbasis Programm 1 ... Programm n Programm 1 Programm n .. . Physikalische Datei 1 Physikalische Datei n Logische Datei 1 DBMS Logische Datei n Daten basis 28 Datenabstraktion externe Ebene konzeptuelle Ebene interne Ebene Sicht 1 Sicht 2 Sicht n Gesamtsicht physikalische Speicherung 29 Transformationsregeln … für Verbindungen zwischen den Ebenen Bundesbahn: konzeptuelles Schema = Kursbuch externes Schema = Städteverbindungen Osnabrück internes Schema = Abbildung auf Dateisystem Personaldatei: konzeptuelle Ebene = Angestellte Name, Wohnort, Geburtsdatum externes Schema = Geburtstagsliste mit Name, Datum, Alter internes Schema = Abbildung auf Dateisystem 30 Datenunabhängigkeit • Physische Datenunabhängigkeit: bei Änderung des internen Schemas keine Änderung des externen Schemas • Logische Datenunabhängigkeit: bei Änderungen des konzeptuellen Schemas keine Änderung des externen Schemas 31 Schema versus Ausprägung • Datenbankschema = Struktur der abspeicherbaren Daten • Datenbankausprägung = momentan gültiger Zustand der Datenbasis 32 Modellierungskonzepte Externes Schema reale Welt Konzeptuelles Schema Logisches Schema Internes Schema Datenbanksystem 33 Entity-Relationship-Modell • entity: Gegenstand des Denkens und der Anschauung • relationship: Beziehung zwischen den entities 34 ER-Diagramm Attribut Nachname Vorname Studienfach PLZ Mat-Nr Studenten Entity-Typ Name wohnen in Orte Relationship-Typ 35 Logisches Schema • Das hierarchische Modell z. B. IMS von IBM • Das Netzwerkmodell z. B. UDS von Siemens • Das relationale Modell z. B. Access von Microsoft • Das objektorientierte Modell z. B. O2 von O2 Technology 36 Architektur eines DBMS Naive Benutzer Anwendung Experten Programmierer Administratoren Interaktive Abfrage Präcompiler DMLCompiler Verwaltungs werkzeug DDLCompiler Anfragebearbeitung Schemaverwaltung Datenbankmanager Mehrbenutzersynch. Fehlerbehandlung Filemanager Logdateien Indexe Datenbasis Datenwörterbuch 37
© Copyright 2025 ExpyDoc