Technische Universität München Übung zur Einführung in die Informatik für Hörer anderer Fachrichtungen im Sommersemester 2011 Sitzung 1: 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 1 bis 5 • Block 1: Datenbanksysteme – Sitzung 1: Überblick, Einführung, ER-Modell I (06.05) – Sitzung 2: ER-Modell II, Relationales Modell, Schemavereinfachung (13.05) – Sitzung 3: Relationale Algebra (20.05) – Sitzung 4: SQL - insert, update, delete und select Queries (27.05) – Sitzung 5: komplexe SQL Queries I (03.06 – nur online) – Sitzung 5: komplexe SQL Queries II (10.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 3 Technische Universität München Literatur zum Block 1: 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 Professoren Name hören Vorlesungen PersNr 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 MatrNr Name MatrNr VorlNr 26120 25403 ... Fichte Jonas ... 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 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 (Prof, Studi, Räume...) 2. Identifikation der zu unterstützenden Aufgaben (Noten berechnen, Prüfung anmelden....) 3. Anforderungs-Sammelplan (Welche Anforderungen von welchen Organisationseinheiten (funktional, Sicherheit, Performance) 4. Anforderungs-Sammlung 5. Filterung 6. Klassifikationen 7. Formalisierung (Verständlichkeit -> Rückkopplung) 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) – binäre, ternäre, rekursive Semester Student Hörer • Attribut (Eigenschaft) hören – einelementig Lehrveranstaltung • Schlüssel (Identifikation) – eindeutiges Attribut oder – eindeutige Kombination von Attr. • Rolle Name VorlNr Vorlesung 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 E1 (z.B. Männer) z.B. verheiratet 1 R 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 E1 (z.B. BL) z.B. MdL N R E2 (z.B. Mensch) R E1 x E2 1:1 N:1 E1 E2 1:N N:M 22 Technische Universität München Funktionalitäten N E1 (z.B. VL) z.B. lesen 1 R E2 (z.B. Professor) R E1 x E2 1:1 N:1 E1 E2 1:N N:M 23 Technische Universität München Funktionalitäten N E1 (z.B. Student) z.B. hören M R E2 (z.B. Vorlesung) R E1 x E2 1:1 N:1 E1 E2 1:N N:M 24