Datenbanken Einführung Tobias Galliat Sommersemester 2012 Basistext: A. Kemper, A. Eickler: Datenbanksysteme, Oldenbourg Verlag, München, 2011, 8. Auflage, Preis: 39,80 € ebenfalls empfehlenswert: T. Kudraß (Hrsg.): Taschenbuch Datenbanken, Hanser Verlag, Leipzig, 2007, Preis: 29,90 € 2 Zentrale Begriffe „Eine Datenbank ist eine integrierte Ansammlung von Daten, die allen Benutzern eines Anwendungsbereiches als gemeinsame Basis aktueller Information dient.“ (G.Schlageter, 1992) • Die gesamte Kontrolle einer Datenbank liegt beim Datenbank-Management-System (DBMS). • Datenbank und DBMS bilden zusammen das Datenbanksystem. 3 Motivation Typische Probleme bei Informationsverarbeitung ohne DBMS • Redundanz und Inkonsistenz • Beschränkte Zugriffsmöglichkeiten • Probleme beim Mehrbenutzerbetrieb • Verlust von Daten • Integritätsverletzung • Sicherheitsprobleme • hohe Entwicklungskosten für Anwendungsprogramme 4 Datenabstraktion / Datenunabhängigkeit Sicht1 Sicht 2 Sicht 3 logische Datenunabhängigkeit Logische Ebene physische Datenunabhängigkeit Physische Ebene 5 Datenmodell DBMS basieren auf Datenmodell: - Beschreibung der Struktur der Datenobjekte (Datenbankschema) Datendefinitionssprache (DDL) - Festlegung der anwendbaren Operatoren und deren Wirkung Datenmanipulationssprache (DML) Abfragesprache (z.B. SQL) - interaktiv - eingebettet Achtung: Klare Unterscheidung zwischen Datenbankschema und Datenbankausprägung ! 6 Datenmodellierung Ausschnitt der realen Welt Manuelle/intellektuelle Modellierung Konzeptuelles Schema (ER-Schema) Halbautomatische Transformation Relationales Schema Netzwerk Schema Objektorientiertes Schema 7 Konzeptuelle Modellierung (Beispiel) Studenten Professoren Vorlesungen Reale Welt: Hochschule MatrNr Studenten PersNr Professoren Name Name hören lesen VorlNr Vorlesungen Titel 8 Logische Modelle • Netzwerkmodell • Hierarchisches Datenmodell „legacy systems“ • Relationales Datenmodell • Objektorientiertes Datenmodell • Deduktives Datenmodell 9 Das relationale Datenmodell (Beispiel) Studenten MatrNr Name 26120 Fichte 25403 Jonas ... ... hören MatrNr VorlNr 25403 26120 ... 5022 5001 ... Vorlesungen VorlNr Titel 5001 Grundzüge 5022 Glaube und Wissen ... ... SELECT Name FROM Studenten, hören, Vorlesungen WHERE Studenten.MatrNr = hören.MatrNr AND hören.VorlNr = Vorlesungen.VorlNr AND Vorlesungen.Titel = `Grundzüge´ UPDATE Vorlesungen SET Titel = `Grundzüge´ WHERE VorlNr = 5001 10 Architekturübersicht eines DBMS „Naive“ Benutzer Fortgeschrittene AnwendungsDatenbankBenutzer Programmierer administratoren Interaktive VerwaltungsAnwendung Präcompiler Anfrage werkzeug DML-Compiler DDL-Compiler Anfragebearbeitung Mehrbenutzersynchr. Datenbankmanager Fehlerbehandlung DBMS Schemaverwaltung Dateiverwaltung Logdateien Indexe Datenbasis Datenwörterbuch Hintergrundspeicher 11 Vorlesungsplan (Stand 16.03.2012) 1. 2. 3. 4. Einführung (Mi. 28.03., 13.30–15.00 Uhr) Datenbankentwurf (ER-Modell) (Mi. 04.04., 13.30–15.00 Uhr) [ÜA 1] Grundlagen des relationalen Modells (13.04., 13.30–15.00 Uhr) [ÜA 2] Relationale Abfragesprachen (SQL) (20.04., 13.30–15.00 Uhr) [ÜA 3] (27.04., 13.30–15.00 Uhr) [ÜA 4] (04.05., 13.30–15.00 Uhr) [P] 5. 6. 7. 8. Datenintegrität + Datenschutz (11.05., 13.30–15.00 Uhr) Transaktionsverwaltung + Mehrbenutzersynchronisation (01.06., 13.30–15.00 Uhr) Projekt-Präsentationen & Klausurhinweise (15.06., 13.30–15.00 Uhr) Teilmodul-Prüfung (D31) als Klausur (1h) voraussichtlich am 05.07.2012 ! 12 Übung/LP zum Teilmodul D32 „Datenbanken, Abfragen und SQL“ Gr.A: A-F, Gr.B: G-L, Gr.C: M-SE, Gr.D: SF-Z (Ein Wechsel ist nur im Tausch und nach vorheriger Absprache möglich!) 13.04. (alle Gruppen: 15.15 – 16.45 Uhr in 158) 20.04. (alle Gruppen: 15.15 – 16.45 Uhr in 158) 24.04. (Gr.A: 13.30 – 15.00 Uhr in 153) [5P] 25.04. (Gr.B: 13.30 – 15.00 Uhr in 152) [5P] 27.04. (Gr.C: 11.30 – 13.00 Uhr in 152, Gr.D: 15.15 – 16.45 Uhr in 152) [5P] 04.05. (Gr.C: 11.30 – 13.00 Uhr in 152, Gr.D: 15.15 – 16.45 Uhr in 152) [5P] 08.05. (Gr.A: 13.30 – 15.00 Uhr in 153) [5P] 09.05. (Gr.B: 13.30 – 15.00 Uhr in 152) [5P] 11.05. (Projektbesprechung nach besonderem Plan) [5P] KW 20+21 (freies Arbeiten in den Laboren) 01.06. (Projektbesprechung nach besonderem Plan) [5P] Abgabe Übungszettel: 12.04. / 19.04. / 26.04. / 03.05. [4*10P] Projektausarbeitung (inkl. Präsentationsfolien): 09.06. [40P] Teilmodul-Prüfung: veranstaltungsbegleitend (bestanden ab 50 Punkten) Fristgerechte Anmeldung beim Prüfungsamt notwendig !!! 13