Theorie Datenbank - Teil 1 Entwicklung einer DB-Anwendung vergleichbar mit gewöhnlicher Anwendungsprogrammierung: 1. Problemanalyse (Datenmodellierung, konzeptionelles Schema) 2. Lösungsentwurf (logisches Schema) 3. Implementierung ( z. B. SQL) Entity-Relationship-Modell (Chen): Dient zur Datenmodellierung (Information Modelling) Das ER-Modell wurde 1976 von Pter Chen in seiner Veröffentlichung The Entity-Relationship Model vorgestellt. Die Beschreibungsmittel für Generalisierung und Aggregation wurden 1977 von Smith and Smith eingeführt. Danach gab es mehrere Weiterentwicklungen, so Ende der 1980er Jahre durch Wong und Katz. © Universität Stuttgart, IAS Datenbanken 1 Datenbank - Teil 1 1968: Studium Elektrotechnik 1973: PhD in Computer Science und angewandter Mathematik an der Harvard 1983: Professor der Informatik an der „Louisiana State University“ http://www.csc.lsu.edu/~chen/chen.html © Universität Stuttgart, IAS Datenbanken 2 Theorie Datenbank - Teil 1 Begriffe: 1. Entität: Individuelles, identifizierbares Exemplar von Dingen, Personen oder Begriffen der realen Vorstellungswelt. Entitäten werden durch Eigenschaften beschrieben. Bsp: Kundenverwaltung einer Firma. Kunde Müller ist eine Entität mit den Eigenschaften: Kunden.-Nr.: Anrede: Titel: Vorname: Name: 72 Herr Dipl.-Ing. Hans Müller © Universität Stuttgart, IAS Datenbanken 3 Theorie Datenbank - Teil 1 © Universität Stuttgart, IAS Datenbanken 4 Theorie Datenbank - Teil 1 © Universität Stuttgart, IAS Datenbanken 5 Theorie Datenbank - Teil 1 © Universität Stuttgart, IAS Datenbanken 6 Theorie Datenbank - Teil 1 © Universität Stuttgart, IAS Datenbanken 7 Theorie Datenbank - Teil 1 © Universität Stuttgart, IAS Datenbanken 8 Theorie Datenbank - Teil 1 © Universität Stuttgart, IAS Datenbanken 9 Theorie Datenbank - Teil 1 © Universität Stuttgart, IAS Datenbanken 10 Theorie Datenbank - Teil 1 © Universität Stuttgart, IAS Datenbanken 11 Theorie Datenbank - Teil 1 © Universität Stuttgart, IAS Datenbanken 12 Theorie Datenbank - Teil 1 Beispiel: Verwaltung von Studenten und Prüfungsleistungen Fachbereich kann 0,1 oder mehrerer Studenten haben Student gehört einem FB an Student kann 0,1 oder mehrere Prüfungsergebnisse haben eine Note ist genau ein Prüfungsergebnis • Prüfung kann 0,1 oder mehrere Prüfungsergebnisse haben © Universität Stuttgart, IAS Datenbanken 13 Theorie Datenbank - Teil 1 Student Matrikelnr Fachbereich 5001 ET 5003 MA 5007 ET Tupel (Zeile, Datensatz) Relation (Tabelle) Attribute (Spalte) © Universität Stuttgart, IAS Datenbanken 14 Theorie Datenbank - Teil 1 Das Relationenmodell ist werteorientiert, deshalb erfolgt die Unterscheidung zweier Entities (Tupel) durch Merkmalsunterschiede, d.h. durch Attributwerte. Die minimale Menge der Attribute, die eine eindeutige Unterscheidung der Tupel zulässt, heißt Schlüssel. Existieren mehrere minimale Mengen, spricht man von Schlüsselkandidaten (engl. Candidate keys). Einen darunter bestimmt man zum Primärschlüssel, für den keine Nullwerte zugelassen sind. Der Begriff Fremdschlüssel (engl. foreign key) bezeichnet Attribut(e) in einer Relation R1, die Primärschlüssel in Relation R2 sind, wobei R1 hierarchisch von R2 abhängt. © Universität Stuttgart, IAS Datenbanken 15 Theorie Datenbank - Teil 1 © Universität Stuttgart, IAS Datenbanken 16 Theorie Datenbank - Teil 1 Fremdschlüssel und referentielle Integrität Diese Regel der referenziellen Integrität vermeidet sog. hängende Tupel (dangling tuples), also im Beispiel Bestellungen mit nichtexistenten Kundennummern. Verletzungen der referentiellen Integrität sind möglich durch • Tupel einfügen (INSERT) • Tupel ändern (UPDATE) • Tupel löschen (DELETE) © Universität Stuttgart, IAS Datenbanken 17 Lösung Aufgabe 7.1: ER-Grundlagen Aufgabe 7.1: ER-Grundlagen Gegeben sind die folgenden Entitätsmengen: Anlasser Antrieb Auspuffrohr Auspuffsystem Auspufftopf Auto Batterie Benzintank Bremse Bremslicht Bremspedal Bremssystem Elektrisches System Getriebe Karosserie Lenkung Lichtmaschine Motor Rad Tür Ordnen Sie die Entitätsmengen und zeichnen Sie ein Entity-Relationship Diagramm, welches die oben genannten Entitätsmengen in Beziehung zueinander setzt. Auf die Angabe von Assoziationsnamen kann verzichtet werden. © Universität Stuttgart, IAS Datenbanken 18 Aufgabe 7.1: ER-Grundlagen © Universität Stuttgart, IAS Datenbanken Lösung 19 Lösung Aufgabe 7.1: ER-Grundlagen Aufgabe 7.2 ER-Modellierung In einer Bibliothek werden die Bücher nach Sachgebieten getrennt und darin mit einer fortlaufenden Nummer versehen in die Regale gestellt. Die Inventarnummer setzt sich aus der Jahreszahl des Bucheinkaufs und einer fortlaufenden Nummer zusammen. Weitere Angaben zu jedem Buch sind maximal drei Autorennamen, der Titel, der Verlag und das Erscheinungsjahr. Die Bibliotheksbenutzer sind durch eine Mitgliedsnummer, den Namen, die Postleitzahl, den Ort, die Straße und das Eintrittsdatum erfaßt. Bei der Entleihung eines Buches wird das Entleihdatum festgehalten. Es gelten folgende Abkürzungen: SGK SGNR SACHGB JAHR BUNR AUT1 AUT2 AUT3 Sachgebiet-Kennung lauf. Nummer innerhalb Sachgeb. Sachgebiet-Bezeichnung Einkaufsjahr lauf. Buch-Nr. innerhalb eines Jahres Autor 1 Autor 2 Autor 3 VERLAG ESJ MITNR NAME PLZ ORT STRA DATM TITEL Titel DATE © Universität Stuttgart, IAS Datenbanken Verlag Erscheinungsjahr Mitgliedsnummer Name Postleitzahl Ort Straße Eintrittsdatum des Mitglieds Entleihdatum eines Buches 20 Aufgabe 7.1: ER-Grundlagen Lösung a) Geben Sie die (möglichst bezeichnenden) Namen der Objekttypen und in Klammern dahinter die Abkürzungen für deren Attribute an. Primärschlüssel sind zu unterstreichen. Zur Feststellung, ob ein Buch entliehen ist, soll nicht der gesamte Buchbestand durchsucht werden müssen. © Universität Stuttgart, IAS Datenbanken 21 Aufgabe 7.1: ER-Grundlagen © Universität Stuttgart, IAS Datenbanken Lösung 22 Aufgabe 7.1: ER-Grundlagen Lösung b) Stellen Sie das Datenbankschema als Entity-Relationship-Diagramm dar c) Ergänzen Sie das Diagramm aus b) durch die Angabe der Kardinalitäten © Universität Stuttgart, IAS Datenbanken 23 Aufgabe 7.1: ER-Grundlagen © Universität Stuttgart, IAS Datenbanken Lösung 24 Aufgabe 7.1: ER-Grundlagen © Universität Stuttgart, IAS Datenbanken Lösung 25