Online-Kurs 'Datenbanken und Datenmodellierung' Das Entity-Relationship-Modell Print-Version 15. 04. 2002


Download 238.73 Kb.
Pdf ko'rish
bet3/3
Sana28.07.2017
Hajmi238.73 Kb.
#12216
1   2   3

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

 

isa



 

B



B

 ist eine Generalisierung von 

A

 oder 



A

 ist eine Spezialisierung von 

B

.

Fur die Beziehung 



A

 

isa



 

B

 gilt:



A

 erbt die Attribute von 

B



A



 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

 

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.

9.1 Existenzabhängigkeit

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.

Definition: Existenzabhängigkeit

Ein Entity-Typ 

E

 

1



 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

 

2



 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.

Beispiel: Haben die Räume einer Schule mit drei Gebäuden eine eindeutige Raumnummer, so sind diese Räume auch

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



Raum



 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.

Definition: Diskriminator

Sei der Entity-Typ 

E

 

1



 dem Entity-Typ 

E

 



2

 untergeordnet durch 

R

. Ein Diskriminator von 



E

 

1



 ist eine minimale Menge

von Attributen von 

E

 

1



 , 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

 

1



 dem Entity-Typ 

E

 



2

 untergeordnet. Sei K ein Schlüsselkandidat von 

E

 

2



 und sei D ein Diskriminator

von 


E

 

1



 . Dann ist K   D ein Schlüsselkandidat von 

E

 



1

 .

Bemerkung:

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.

Beispiel: Eine Stadt verwaltet die Gebäude ihrer Schulen zentral.

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   

9.6 Übungen

Aufgabe:

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)".

Lösungsvorschlag:


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:
1   2   3




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling