Datenbank - ias.uni-stuttgart.de

Werbung
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
Herunterladen