Technische Universität München Übung zur Einführung in die Informatik für Hörer anderer Fachrichtungen im Sommersemester 2010 Sitzung 6: Datenbanksysteme – Überblick und Einführung Jan Herrmann Lehrstuhl für Angewandte Informatik / Kooperative Systeme *ab Folie 5 angelehnt an Prof. A. Kemper (http://www3.in.tum.de/teaching/ws0910/) Technische Universität München Überblick Sitzung 6 bis 13 • Block 1: Programmierung mit Java • Block 2: Datenbanksysteme – – – – – – Sitzung 6: Überblick und Einführung (28.06) Sitzung 7: Relationales Modell, Schemavereinfachung (04.06) Sitzung 8: Normalformen (11.06) 18.06 keine Zentralübung! Sitzung 9: SQL - insert, update, delete und einfache select Queries (25.6 Sitzung 10: komplexe Queries, Constraints und Trigger (02.07) • Block 3: HTML und Webanbindung von Datenbanken – Sitzung 11: HTML & CSS (09.07) – Sitzung 12: JDBC, Servlets, JSP (16.07) • Sitzung 13: Besprechung der Probeklausur, Fragestunde (23.06) 2 Technische Universität München Allgemeines zum Ablauf • Zentralübung: – ergänzender Stoff zur Vorlesung, – Anmerkungen zur Lösung des Übungsblattes der letzten Woche • Hausaufgabe: – Wiederholung Stoff VL und ZÜ – Bearbeitung der Übungsblätter (nicht nur Nachvollziehen!) • fachliche Fragen Forum • organisatorische Fragen per Mail an mich 3 Technische Universität München Literatur zum Block 2: Datenbanksysteme • A. Kemper , A. Eickler Datenbanksysteme – Eine Einführung. Oldenbourg Verlag, 2009. 7. Auflage. • A. Kemper, M. Wimmer Übungsbuch Datenbanksysteme Oldenbourg Verlag, 2. Auflage, 2009. 4 Technische Universität München Motivation für den Einsatz eines Datenbank-Verwaltungssystems (DBMS) 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 5 Technische Universität München Die Abstraktionsebenen eines Datenbanksystems Sicht1 Sicht 2 Sicht 3 ... Tabelle Student: MatrNr VName NName … 1234 Hans Müller … … … … … … … … … 0010101010101010 Logische Ebene Physische Ebene Datenunabhängigkeit: • physische Unabhängigkeit • logische Datenunabhängigkeit 6 Technische Universität München Datenmodellierung Ausschnitt der Realen Miniwelt Manuelle/intellektuelle Modellierung Konzeptuelles Schema (ER-Schema) Halbautomatische Transformation Relationales Schema XML Schema Netzwerk Schema Objektorientiertes Schema 7 Technische Universität München Modellierung einer kleinen Beispielanwendung Studenten Professoren Vorlesungen Reale Welt: Universität Konzeptuelle Modellierung MatrNr Studenten PersNr Professoren Name hören Vorlesungen Name lesen VorlNr Titel 8 Technische Universität München Logische Datenmodelle • • • • • Netzwerkmodell Hierarchisches Datenmodell Relationales Datenmodell XML Schema Objektorientiertes Datenmodell • Objektrelationales Schema • Deduktives Datenmodell 9 Technische Universität München Das relationale Datenmodell Studenten hören Vorlesungen MatrNr Name MatrNr VorlNr VorlNr Titel 26120 25403 ... Fichte Jonas ... 25403 26120 ... 5022 5001 ... 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 der Logik´ where VorlNr = 5001; 10 Technische Universität München Architekturübersicht eines DBMS „Naive“ Benutzer Fortgeschrittene AnwendungsBenutzer Programmierer Interaktive Anfrage Anwendung Präcompiler DML-Compiler Datenbankadministratoren Verwaltungswerkzeug DDL-Compiler DBMS Anfragebearbeitung Datenbankmanager Schemaverwaltung Dateiverwaltung Logdateien Indexe Datenbasis Mehrbenutzersynchr. Fehlerbehandlung Hintergrundspeicher Datenwörterbuch 11 Technische Universität München Datenbankentwurf Abstraktionsebenen des Datenbankentwurfs 1. Konzeptuelle Ebene 2. Implementationsebene (logische Ebene) 3. Physische Ebene 12 Technische Universität München Phasen des Datenbankentwurfs Anforderungsanalyse Anforderungsspezifikation Konzeptueller Entwurf ER Schema Informationsstruktur DBMSCharakteristika Implementationsentwurf logische DB-Struktur Physischer Entwurf Hardware/BSCharakteristika physische Datenbankstruktur 13 Technische Universität München Anforderungsanalyse 1. Identifikation von Organisationseinheiten 2. Identifikation der zu unterstützenden Aufgaben 3. Anforderungs-Sammelplan 4. Anforderungs-Sammlung 5. Filterung 6. Klassifikationen 7. Formalisierung 14 Technische Universität München Objektbeschreibung • Uni-Angestellte Gehalt - Anzahl: 1000 • Typ: dezimal - Attribute • Länge: (8,2) PersonalNummer • Typ: char • Länge: 9 • Anzahl Wiederholung: 0 • Identifizierend: nein Rang • Wertebereich: 0...999.999.999 • Typ: String • Anzahl Wiederholungen: 0 • Anzahl Wiederholung: 0 • Identifizierend: ja • Identifizierend: nein • Länge: 4 15 Technische Universität München Beziehungsbeschreibung: prüfen • Beteiligte Objekte: - Professor als Prüfer - Student als Prüfling - Vorlesung als Prüfungsstoff • Attribute der Beziehung: - Datum - Uhrzeit - Note • Anzahl: 300 000 pro Jahr 16 Technische Universität München Prozeßbeschreibungen • Prozeßbeschreibung: Zeugnisausstellung - Häufigkeit: halbjährlich - benötigte Daten Prüfungen Studienordnungen Studenteninformation ... - Priorität: hoch - Zu verarbeitende Datenmenge 3000 Studenten, 3000 Prüfungen 10 Studienordnungen 17 Technische Universität München Phasen des Datenbankentwurfs Anforderungsanalyse Anforderungsspezifikation Konzeptueller Entwurf ER Schema Informationsstruktur DBMSCharakteristika Implementationsentwurf logische DB-Struktur Physischer Entwurf Hardware/BSCharakteristika physische Datenbankstruktur 18 Technische Universität München Entity/Relationship-Modellierung • Entity (Gegenstandstyp) MatrNr • Relationship (Beziehungstyp) Name Semester Student Hörer • Attribut (Eigenschaft) hören • Schlüssel (Identifikation) Lehrveranstaltung • Rolle Vorlesung VorlNr Titel SWS 19 Technische Universität München Universitätsschema MatrNr Name Student voraussetzen NachVorgänger folger hören Vorlesung Note lesen prüfen PersNr Fachgebiet SWS Titel Semester Name VorlNr Rang Assistent arbeitenFür Professor PersNr Name Raum 20 Technische Universität München Funktionalitäten 1 z.B. verheiratet 1 R E1 (z.B. Männer) E2 (z.B. Frauen) R E1 x E2 1:1 N:1 E1 E2 1:N N:M 21 Technische Universität München Funktionalitäten 1 z.B. MdL N R E1 (z.B. BL) E2 (z.B. Mensch) R E1 x E2 1:1 N:1 E1 E2 1:N N:M 22