Online-Kurs 'Datenbanken und Datenmodellierung' Das Entity-Relationship-Modell Print-Version 15. 04. 2002
Download 238.73 Kb. Pdf ko'rish
|
- Bu sahifa navigatsiya:
- 7.3 Übungen Aufgabe
- 8 Generalisierung und Spezialisierung 8.1 Generalisierung
- Obertyp
- 8.2 Spezialisierung
- 8.4 Übungen Aufgabe
- 9.1 Existenzabhängigkeit
- 9.2 Schwache Entity-Typen
- Definition: Schwacher Entity-Typ
- 9.3 Diskriminator und Schlüssel schwacher Entity-Typen
- Bemerkung
- 9.4 Darstellung im ER-Modell
- Beispiel
- 9.6 Übungen Aufgabe
- 10 Der Entwurf eines ER-Modells
- 10.2 Übungen Aufgabe
Einem Tupel (e 1 , e 2 ) mit e 1 aus
E
1 und e 2 aus E
2 werden höchstens z Entities e 3 aus E
3 zugeordnet. q
Einem Tupel (e 1 , e 3 ) mit e 1 aus
E
1 und e 3 aus E
3 werden höchstens y Entities e 2 aus E
2 zugeordnet. q
Einem Tupel (e 2 , e 3 ) mit e 2 aus
E
3 und e 3 aus E
3 werden höchstens x Entities e 1 aus E
1 zugeordnet. q
R hat damit die Funktionalität x:y:z Beispiel: Die Relationship hat_Lehrbefaehigung_in hat die Funktionalität 1:n:m.
Die Funktionalität wird folgendermaßen interpretiert: Zu einer Klasse und einem Fach kann es höchstens eine Lehrkraft geben, d.h. innerhalb einer Klasse dürfen nicht mehrere Lehrkräfte dasselbe Fach unterrichten. q
Zu einer Klasse und einer Lehrkraft kann es mehrere Fächer geben, d.h. eine Lehrkraft kann eine Klasse durchaus mehr als einem Fach unterrichten. q Zu einer Lehrkraft und einem Fach kann es mehrere Klassen geben, d.h. eine Lehrkraft darf dasselbe Fach in unterschiedlichen Klassen unterrichten. q
Bemerkung: Auch bei mehrstelligen Relationship-Typen kann die (min, max) - Notation verwendet werden. Analog zur (min, max) - Notation bei zweistelligen Relationship-Typen gibt auch hier min
die minimale Anzahl und min
die maximale Anzahl der Beziehungen eines Entity-Typs an. 7.3 Übungen Aufgabe: Interpretieren Sie folgendes ER-Diagramm: Lösungsvorschlag: Professoren betreuen Studenten bei Seminarthemen und geben ihnen auf die Seminararbeit eine Note. Dabei gilt: Zu einem Studenten und einem Seminarthema darf es nur eine betreuende Professorin bzw. einen betreuenden Professor geben. d.h. ein Student darf dasselbe Seminarthema nicht mehrfach bearbeiten. q Zu einem Thema und einem Professor bzw. einer Professorin darf es mehrere Studenten geben, d.h. dasselbe Seminarthema darf von einer Professorin bzw. einem Professor an mehrere (unterschiedliche) Studenten ausgegeben werden. q Zu einem Studenten und einem Professor darf es nur ein Seminarthema geben, d.h. Studenten dürfen bei einer Professorin bzw. einem Professor nur ein Seminarthema ableisten. q
Aufgabe: Interpretieren Sie die Funktionalität des folgenden ER-Diagramms: Lösungsvorschlag: In
R muss jedes Entity aus A in genau einem Tupel vertreten sein; q darf ein Entity aus B höchstens zweimal in einem Tupel vertreten sein; q muss jedes Entity aus C mindestens in einem Tupel vorkommen. q 8 Generalisierung und Spezialisierung 8.1 Generalisierung Das Prinzip der Generalisierung wird eingesetzt, um eine übersichtlichere und natürlichere Strukturierung der Entity-Typen zu erzielen. Dabei werden gemeinsame Eigenschaften, also Attribute und Beziehungen, ähnlicher Entity-Typen "herausfaktorisiert" und einem gemeinsamen Obertyp zugeordnet. Die beteiligten Entity-Typen sind dann Untertypen des jeweiligen Obertyps. Eigenschaften, die nicht allen Untertypen gemeinsam sind, bleiben beim entsprechenden Untertyp. Da jedes Element eines Untertyps auch Element aller Obertypen ist, hat es auch alle Beschreibungsmerkmale der Obertypen. Es "erbt" damit sämtliche Eigenschaften des Obertypen. Beispiel: Die Lehrkräfte einer Schule werden durch den Entity-Typ Lehrkraft , die übrigen Angestellten (Sekretärin, Hausmeister, ...) durch den Entity-Typ Personal repräsentiert. Als Obertyp ist der Entity-Typ Bedienstete möglich, der die gemeinsamen Attribute aufnimmt. Die Beziehung von Unter- und Obertyp wird durch den speziellen Relationship-Typ isa ausgedrückt. Im ER-Modell wird diese Beziehung durch eine Raute mit der Beschriftung isa
repräsentiert. Beispiel: Im obigen Beispiel gilt: Lehrkraft isa Bedienstete bzw. Personal isa Bedienstete . 8.2 Spezialisierung Die Spezialisierung ist die inverse Operation zur Generalisierung Beispiel: Lehrkraft und Personal
sind Spezialisierungen von Bedienstete. 8.3 Die isa-Beziehung Die
isa - Beziehung beschreibt sowohl Generalisierung als auch Spezialisierung. Definition: Generalisierung und Spezialisierung Seien
A und
B Entity-Typen. A
B : B ist eine Generalisierung von A oder A ist eine Spezialisierung von B .
A
isa B gilt: A erbt die Attribute von B .
kann darüberhinaus zusätzliche Attribute besitzen. q
Zu jedem a
A gehört genau ein b
B , so dass a und
b das gleiche Entity repräsentieren. Insbesondere hat a also für die ererbten Attribute dieselben Werte wie das korrespondierende Entity b . q Kein b
B kann zu zwei verschiedenen Elementen von A gehören. Es kann aber b
B geben, die zu keinem a
gehören. q
Die Schlüsselkandidaten von A sind diejenigen von B . Die Schlüsselattributwerte des Entity a
A sind diejenigen des korrespondierenden Entity b
B . Folglich hat A den gleichen Primärschlüssel wie B . q 8.4 Übungen Aufgabe: Wie könnte ein Generalisierung der Entity-Typen PKW (Attribute: Farbe, PS), Motorrad (PS, Farbe), LKW (Farbe, Nutzlast, PS), Motorboot (PS, Länge) aussehen. Lösungsvorschlag: Eine Lösungsmöglichkeit von vielen ist: Als Primärschlüssel wurde der (künstliche) Schlüssel Fahrzeugnummer eingeführt. Die Hierarchiestruktur hängt natürlich von den vorgegebenen Daten ab. Müssen beispielsweise Fahrzeuge ohne Motor, d.h. ohne PS-Angabe, "eingebaut" werden, so ist zu überlegen, ob man das Attribut PS wirklich dem Obertyp Fahrzeug zuordnet. 9 Schwache Entity-Typen In den meisten Fällen sind Entities autonom und innerhalb ihrer Entitymenge über die Schlüsselattribute eindeutig identifizierbar.
Bei der Modellierung einer Miniwelt ergeben sich oft Entity-Typen, die von einem anderen Entity-Typ abhängig sind. Solche Entity-Typen heißen existenzabhängig.
Ein Entity-Typ E
heißt existenzabhängig von dem Entity-Typ E
2 (über
R ), falls es einen n:1 - Relationship-Typ R mit
R
E 1 x E
2 gibt, so dass e
1
E
1 nur dann existieren kann, wenn es ein e
2
E
2 gibt, so dass ( e
1 ,
e
2 ) R gilt, d.h. e 1 über R mit
e
2 in Beziehung steht. In diesem Fall heißt E
dominant und q
E
1 untergeordnet unter E
2 (durch
R ) q Die Definition sagt folglich aus, dass das Entity e
1 in
E
1 nur vorkommen kann, falls ein entsprechendes e
2 in
E
2 existiert. Beispiel: Mit Hilfe der Schulverwaltung sollen Räume verwaltet werden. Die Schule besteht aus drei Gebäuden. Gebäude und Räume tragen jeweils eine Nummer. Als Entity-Typen bieten sich Raum und
Gebäude an, die über den Relationship-Typ liegt_in
miteinander in Beziehung stehen. Raum
ist ein existenzabhängiger Entity-Typ, da die Existenz eines Raumes von der Existenz des Gebäudes abhängig ist. Gebäude ist in diesem Fall dominant, der Entity-Typ Raum dementsprechend untergeordnet unter Gebäude durch
liegt_in. 9.2 Schwache Entity-Typen Bei existenzabhängigen Entity-Typen kann es vorkommen, dass die Entities nur in Kombination mit dem Schlüssel des dominanten Entity-Types identifizierbar sind. Man spricht von schwachen Entity-Typen.
ohne Angabe des entsprechenden Gebäudes eindeutig identifizierbar. Es wäre aber auch vorstellbar, dass die Räume eines Gebäudes von eins beginnend durchnummeriert sind. Dann müsste zur eindeutigen Identifizierung eines Raumes neben der Raumnummer auch das entsprechende Gebäude angegeben werden. Definition: Schwacher Entity-Typ Ein existenzabhängiger Entity-Typ E ist ein schwacher Entity-Typ, falls die Menge seiner Attribute keinen Superschlüssel bildet. Sonst heißt E auch starker Entity-Typ. Beispiel: Sind die Räume der drei Schulgebäude jeweils von eins beginnend durchnummeriert, so existieren beispielsweise drei Räume mit der Raumnummer 1 .
ist in diesem Fall ein schwacher Entity-Typ, da die eindeutige Identifizierung eines Raumes nur unter zusätzlicher Angabe der Gebäudenummer möglich. 9.3 Diskriminator und Schlüssel schwacher Entity-Typen Ein schwacher Entity-Typ hat keine eigenständigen Schlüsselkandidaten, durch die alle Entities dieses Entity-Typs eindeutig identifiziert werden könnten. Es gibt aber eine minimale Menge von Attributen, durch die Entities, die einem übergeordneten Entity zugeordnet sind, innerhalb des schwachen Entity-Typs voneinander unterscheidbar sind. Diese Attributmenge heißt Diskriminator.
Sei der Entity-Typ E
dem Entity-Typ E
2 untergeordnet durch R . Ein Diskriminator von E
1 ist eine minimale Menge von Attributen von E
, deren Wertekombination für jedes Entity e
1
E
1 eine Unterscheidung unter den Elementen der Menge {
e
1 E
1 | (
e
1 , e
2 )
R } ermöglicht. Beispiel: Wir gehen wieder davon aus, dass die Räumzählung innerhalb der drei Schulgebäude bei eins beginnt. Das Attribut RaumNr ist der Diskriminator für den schwachen Entity-Typ Raum . Es kann zwar innerhalb des Entity-Typs Raum zwei Entities mit gleicher Raumnummer geben, diese sind aber dann verschiedenen Gebäuden zugeordnet. Für die Schlüsselkandidaten eines schwachen Entity-Typs gilt: Sei der Entity-Typ E
dem Entity-Typ E
2 untergeordnet. Sei K ein Schlüsselkandidat von E
und sei D ein Diskriminator von
E
1 . Dann ist K D ein Schlüsselkandidat von E
1 .
Der Primärschlüssel eines schwachen Entity-Typs E wird aus dem Primärschlüssel des zugehörigen dominanten Entity-Typs zusammen mit einem ausgewählten Diskriminator von E gebildet. Beispiel: Einziger Schlüsselkandidat und damit gleichzeitig Primärschlüssel des Entity-Typen Raum
ist {GebNr,
RaumNr} 9.4 Darstellung im ER-Modell Im ER-Modell werden existenzabhängige und schwache Entity-Typen durch doppelt umrandete Rechtecke repräsentiert. Sehr oft wird auch die Beziehung zum dominanten Entity-Typ doppelt umrandet. Der Diskriminator wird durch eine gestrichelte Unterstreichung gekennzeichnet. Beispiel: Das ER-Modell für obiges Beispiel hat folgendes Aussehen: 9.5 Mehrfache Abhängigkeiten Schwache Entity-Typen und ihre Unterordnung unter einen dominanten Entity-Typ müssen je nach Anwendungsbereich möglicherweise über mehrere Beziehungen hinweg iteriert werden. Ein dominanter Entity-Typ kann gleichzeitig wieder einem anderen Entity-Typen untergeordnet sein. Wichtig ist, dass diese Abhängigkeitskette in einem starken Entity-Typ endet.
In diesem Fall gilt: Der Entity-Typ Raum
ist dem Entity-Typ Gebäude
untergeordnet, dieser wiederum dem Entity-Typ Schule.
q Der hier vorliegende Schlüsselkandidat für den Entity-Typ Raum (aus dem Anwendungsbereich der Stadt) ist {RaumNr, GebNr, SchulNr}. (Aus dem Blickwinkel der Schule ist aber der Schlüsselkandidat {RaumNr, GebNr} ausreichend!) q
Finden Sie Beispiele für Beziehungen mit schwachen Entity-Typen. Lösungsvorschlag: Schüler - Prüfung q Konto - Überweisung q Aufgabe: Modellieren Sie die Situation "Einwohner (AusweisNr, Name, Vorname) sind Staatsbürger eines Landes (Name, Einwohnerzahl)".
10 Der Entwurf eines ER-Modells In diesem Abschnitt wird zusammenfassend das Vorgehen beim Entwurf eines ER-Modells beschrieben. 10.1 Vorschlag für die Vorgehensweise Ausgangspunkt ist die Miniwelt, für die eine Datenbank entwickelt werden soll, und eventuell ein Anforderungsprofil. Folgende Schritte führen zum ER-Modell: Festlegung der Entity- und Relationship-Typen 1. Angabe der Attribute, die die Entity- und Relationship-Typen eindeutig charakterisieren, bzw. die laut Anforderung notwendig sind 2.
evtl. Einführung einer Generalisierungs-Hierarchie 3.
Festlegung der Primärschlüssel der Entity-Typen 4.
Angabe der Funktionalitäten 5.
evtl. Festlegung der Domänen 6.
Bemerkung: Bei großen Projekten werden zuerst ER-Modelle für die einzelnen Views entworfen, die dann in einem zweiten Schritt in ein Gesamtmodell zusammengefasst werden. q
Die Reihenfolge der Schritte 2 - 6 ist nicht bindend. q
Oft gibt es bei der Erstellung eines ER-Modells mehrere gleichwertige Lösungen. q
10.2 Übungen Aufgabe: Erstellen Sie auf der Grundlage der vorgegebenen Ausgangssituation ein ER-Modell der Schulverwaltung. Lösungsvorschlag: Das folgende ER-Modell stellt einen Lösungsvorschlag dar. Es dient als Grundlage für die weiteren Betrachtungen! Download 238.73 Kb. Do'stlaringiz bilan baham: |
ma'muriyatiga murojaat qiling