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


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

Online-Kurs 'Datenbanken und

Datenmodellierung'

Das Entity-Relationship-Modell

Print-Version - 15.04.2002

(c) StR S. Winter - Universität Passau

Inhaltsverzeichnis

1

Allgemeine Hinweise zum Abschnitt ER-Modell



1.1 Lernziele

1.2 Begriffe

1.3 Vorgehensweise bei der Bearbeitung

1.4 Material

2

Grundlagen des ER-Modells



2.1 Das Entity-Relationship-Modell

2.2 Die Idee des ER-Modells

2.3 Die graphische Darstellung

2.4 Rollennamen

2.5 Der Begriff der Domäne

2.6 Übungen

3

Schlüssel



3.1 Identifizierung von Entities

3.2 Superschlüssel, Schlüsselkandidat, Primärschlüssel

3.3 Übungen

4

Mengenschreibweise von Entity- und Relationship-Typen



4.1 Mengenschreibweise für Entity-Typen

4.2 Mengenschreibweise für Relationship - Typen

5

Relationship-Typen als Teilmengen kartesischer Produkte



5.1 Konkatenation von Entities

5.2 Das kartesische Produkt von Entity-Typen

5.3 Relationship-Typ als Teilmenge eines kartesischen Produkts

5.4 Übungen

6

Funktionalität bei zweistelligen Relationship-Typen



6.1 Funktionalität (Kardinalität) bei 2-stelligen Relationship-Typen

6.2 1:1 - Relationship-Typen

6.3 n:1 - Relationship-Typen

6.4 1:n - Relationship-Typen

6.5 n:m - Relationship-Typen

6.6 Die (min, max) - Notation

6.7 Übungen

7

Mehrstellige Relationship-Typen



7.1 Mehrstellige Relationship-Typen

7.2 Funktionalitäten für mehrstellige Relationship-Typen

7.3 Übungen

8

Generalisierung und Spezialisierung



8.1 Generalisierung

8.2 Spezialisierung

8.3 Die isa-Beziehung

8.4 Übungen

9

Schwache Entity-Typen



9.1 Existenzabhängigkeit

9.2 Schwache Entity-Typen



9.3 Diskriminator und Schlüssel schwacher Entity-Typen

9.4 Darstellung im ER-Modell

9.5 Mehrfache Abhängigkeiten

9.6 Übungen

10

Der Entwurf eines ER-Modells



10.1 Vorschlag für die Vorgehensweise

10.2 Übungen



1 Allgemeine Hinweise zum Abschnitt ER-Modell

Dieser Abschnitt behandelt die Grundlagen des Entity-Relationship-Modell (ER-Modell) sowie den Entwurf eines

ER-Modells.

1.1 Lernziele

Nach dem Studium dieses Abschnittes sollten Sie Folgendes

kennen

Grundlagen des ER-Modells



r   

Einordnung des ER-Modells innerhalb des Datenbankentwurfes

r   

Schlüssel



r   

Funktionalität, Kardinalität

r   

Prinzip der Generalisierung und Spezialisierung



r   

Schwache bzw. existenzabhängige Entity-Typen

r   

1.  


durchführen können

Erstellung eines ER-Modells zu einer vorgegebenen 'Miniwelt'

r   

Festlegung eines Primärschlüssels bei den Entity-Typen



r   

2.  


1.2 Begriffe

Zudem sollten Sie die Bedeutung folgender Begriffe kennen:

Entity-Typ , Entity , Relationship-Typ , Relationship , Attribut , Attributwert

q   


Superschlüssel , Schlüsselkandidat , Primärschlüssel

q   


Funktionalität

q   


Generalisierung , Spezialisierung

q   


Existenzabhängigkeit , schwacher Entity-Typ , Diskriminator

q   


1.3 Vorgehensweise bei der Bearbeitung

Das Material sollte in der vorgegebenen Reihenfolge abgearbeitet werden.



1.4 Material

Printversion des Abschnittes " ER-Modell "

q   


2 Grundlagen des ER-Modells

2.1 Das Entity-Relationship-Modell

Das Entity-Relationship-Modell ist ein Datenmodell , das sich gut zur Darstellung des konzeptuellen



Datenbankschemas für relationale Datenbanksysteme eignet.

Dazu steht eine standardisierte graphische Notation in Form des Entity-Relationship-Diagramms (ER-Diagramm) zur

Verfügung.

Sowohl der Vorgang als auch das Resultat der Modellierung wird Entity-Relationship-Entwurf (ER-Entwurf) genannt.

Das Resultat der Modellierung wird auch oft - ebenso wie das zugrundeliegende Datenmodell - als

Entity-Relationship-Modell (ER-Modell) des Anwendungsbereichs bezeichnet. Vorteil des ER-Entwurfs ist es, dass er

systematisch in eine Menge von Relationenschemata überführt werden kann, die die Grundlage für die Tabellen einer

relationalen Datenbank bilden.

Bemerkung:

Datenmodelle zur konzeptuellen Modellierung beschreiben nur die Struktur der Daten und verfügen im Allgemeinen



nicht über Operatoren zur Datenmanipulation.

2.2 Die Idee des ER-Modells

2.2.1 Entity, Relationship, Attribut und Attributwert

Das ER-Modell geht davon aus, dass sich die betrachtete Miniwelt durch Objekte (Entities) und Beziehungen



zwischen diesen Objekten (Relationships) beschreiben lässt. Entities und Relationships können durch Attribute

näher charakterisiert werden. Dabei handelt es sich um Eigenschaften, die für jedes Entity bzw. jede Relationship durch

entsprechende Werte, die Attributwerte, konkretisiert werden.

Beispiel: In der Miniwelt 

Schule


 gibt es beispielsweise die Lehrerin Thatcher, Geburtsjahr 1970, wohnhaft in Berlin.

Diese ist Klassenleiterin der Klasse 11, dessen Klassenzimmer die Raumnummer 202 hat. Lehrerin Thatcher und die

Klasse 11 sind Objekte. Eine Beziehung zwischen diesen beiden Objekten besteht darin, dass Frau Thatcher die

Klassenleitung dieser Klasse hat.



2.2.2 Entity-Typ, Relationship-Typ, Attribut

Ein Entity-Typ fasst eine Menge von gleichartigen Entities, d.h. Entities, die durch gleiche Attribute charakterisiert

sind, zusammen. Analog entspricht ein Relationship-Typ einer Menge gleichartiger Relationships.

Beispiel: In der Miniwelt 

Schule


 könnte sich das folgendermaßen darstellen:

Bemerkung:

Entity-Typen müssen nicht disjunkt sein, d.h. im Allgemeinen kann ein Entity Element mehrerer Entity-Typen sein.

1.  

Relationship-Typen stellen - wie angesprochen - Beziehungen zwischen Entity-Typen her. Die Stelligkeit eines



Relationship-Typen gibt an, zwischen wie vielen Entity-Typen eine Beziehung hergestellt wird. Am häufigsten sind

2-stellige Relationship-Typen.

2.  

Ein Entity-Typ kann natürlich an mehreren Relationship-Typen beteiligt sein.



3.  

Entity-Typ, Relationship-Typ und Attribut entsprechen der Schemaebene, während Entity, Relationship und

Attributwert Instanzen darstellen.

4.  


Konkrete Entities, Relationships und Attributwerte spielen in der Regel beim ER-Entwurf keine Rolle, weil die

Modellierung auf Schemaebene stattfindet.

5.  

Beispiel:

Beispiel zu Bemerkung 1:

Die Entity-Typen 

Lehrkraft

 und 

Erziehungsberechtigter



 sind nicht disjunkt. Eine Lehrkraft kann

gleichzeitig Erziehungsberechtige(r) sein.

q   

Beispiel zu Bemerkung 3:



Eine Lehrkraft kann einerseits eine Klassenführung, andererseits eine Fachbetreuung ausüben. Die Situation

kann durch

die Entity-Typen 

Lehrkraft, Klasse

 und 

Fach


 und

r   


die Relationship-Typen 

hat_Klassenleitung_in

 (Beziehung zwischen Lehrkraft und Klasse) und

hat_Fachbetreuung_in

 (Beziehung zwischen Lehrkraft und Fach) modelliert werden.

r   


Der Entity-Typ 

Lehrkraft

 ist an beiden Beziehungen beteiligt.

q   


2.3 Die graphische Darstellung

Entity-Typen werden durch Rechtecke , Relationship-Typen durch Rauten und Attribute durch Ovale dargestellt.

Der zugehörige Name wird jeweils innerhalb der Figur angegeben. Die Rauten der Relationship-Typen werden mit den

beteiligten Entity-Typen durch Kanten verbunden. Die Attribute werden den Entity-Typen ebenfalls durch Kanten

zugeordnet.



Beispiel: Die graphische Umsetzung des obigen Beispiels hat damit folgende Form:

Ist ein Entity-Typ an mehreren Relationship-Typen beteiligt, ist dieser Entity-Typ dementsprechend mit mehreren

Relationship-Typen durch Kanten verbunden.



Beispiel: Lehrkräfte können sowohl eine Klassenleitung sowie eine Fachbetreuung ausüben. Ein mögliches ER-Modell

zeigt folgendes Bild

Attribute von Relationship-Typen werden wie Attribute von Entity-Typen grafisch dargestellt.

Beispiel: Die Wertigkeit einer Fachbetreuung ist ein Attribut des Relationship-Typen 

hat_Fachbetreuung_in

.


2.4 Rollennamen

Um die durch einen Relationship-Typ verbundenen Entity-Typen genauer charakterisieren zu können, können ihnen



Rollennamen zugeordnet werden.

Beispiel: Gegeben sei der Entity-Typ 

Person


. Die Beziehung Elternteil - Kind kann durch folgenden Relationship-Typen

beschrieben werden:



Bemerkung:

Wie das obige Beispiel zeigt, kann ein Entity-Typ mit sich selbst in Beziehung gesetzt werden.



2.5 Der Begriff der Domäne

Entity- bzw. Relationship-Typen werden durch eine geeignete Auswahl von Attributen beschrieben. Die zulässigen

Attributwerte werden je Attribut durch eine vorgegebene Wertemenge, die Domäne, festgelegt.

Beispiel: Den Attributen des Entity-Typs 

Lehrkraft

 können beispielsweise folgende Domänen zugrundeliegen:

Attribut

Domäne

Name


STRING

PersNr


INTEGER > 0

Wohnort


STRING

Geschlecht {'w', 'm'}

Geburtsjahr INTEGER > 1900

Domänen können



extensional, d.h. durch Aufzählung aller zulässigen Werte, oder

q   


intensional, d.h. durch Angabe allgemein bekannter Mengen, wie INTEGER für ganze Zahlen, STRING für

Zeichenreihen usw., die durch Bedingungen, wie INTEGER > 0, modifiziert werden können,

q   

definiert sein.



Beispiel: Im obigen Beispiel ist die Domäne des Attributs 

Geschlecht

 extensional definiert, alle anderen Domänen

sind intensional definiert.



Bemerkung:

Die Festlegung der Domänen kann bei der Erstellung des ER-Modells erfolgen. Dies ist vor allem dann notwendig, wenn

sich bereits bei der Analyse der Miniwelt spezielle Anforderungen an bestimmte Domänen ergeben. Sehr oft werden die

Domänen aber erst bei der Entwicklung des Relationenmodells festgelegt.



2.6 Übungen

Aufgabe:

Welche Entity- und Relationship-Typen sind in der Miniwelt 

Schule

 vorstellbar?



Lösungsvorschlag:

Entity-Typen: Lehrkraft, Schueler, Klasse, Fach, Raum, Personal, ...

q   


Relationship-Typen: hat_Fachbetreuung_in, hat_Lehrbefaehigung_in, hat_Stundenplan, ist_Fachlehrkraft_von,

gehoert_zu_Klasse, ...

q   

Aufgabe:

Erstellen Sie ein ER-Modell für folgende Situation: Einige Lehrkräfte sind Vorgesetzte der anderen Lehrkräfte.



Lösungsvorschlag:

Es ist also möglich, dass an einem Relationship-Typ nur ein einziger Entity-Typ beteiligt ist.

Gegeben ist folgende Ausgangssituation: In einer Firma gibt es Arbeitnehmer, die Maschinen bedienen. Außerdem gibt

es Arbeitnehmer, die Vorgesetzte sind. (Attribute sollen hier vernachlässigt werden.)



Aufgabe:

Welche Entity- bzw. Relationship-Typen gibt es?



Lösungsvorschlag:

Entity-Typen: Arbeitnehmer, Maschinen

q   


Relationship-Typen: ist_Vorgesetzter_von, bedient

q   


Aufgabe:

Zeichnen Sie das ER-Modell für die Situation.



Lösungsvorschlag:

3 Schlüssel

3.1 Identifizierung von Entities

Die Wahl der Attribute eines Entity-Typs muss derart erfolgen, dass jedes Entity dieses Entity-Typen eindeutig durch

seine Attributwerte identifizierbar ist. Gegebenenfalls müssen weitere Attribute hinzugenommen oder vorhandene

Attribute stärker differenziert werden. Sehr oft werden zu diesem Zweck "künstliche" Unterscheidungsmerkmale

eingeführt.

Beispiel: Für den Entity-Typ 

Lehrkraft

 seien folgende zwei Möglichkeiten vorgegeben:

Im linken Fall kann es bei der Identifizierung der Entities schnell zu Problemen kommen, da an einer Schule durchaus

zwei Lehrkräfte mit identischen Daten bzgl. Name, Wohnort, Geschlecht und Geburtsjahr unterrichten können. Durch

Hinzunahme des Attributs 

PersNr

 ist aber eine eindeutige Identifizierung möglich. Dabei kann die Identifzierung des



Entities grundsätzlich über die Kombination aller ihrer Attributwerte erfolgen. Der Wert des Attributs 

PersNr


 alleine ist

aber offensichtlich auch ausreichend.



3.2 Superschlüssel, Schlüsselkandidat, Primärschlüssel

Obige Überlegung führt zur Unterscheidung von Superschlüssel, Schlüsselkandidat und Primärschlüssel von Entity

- Typen.

Jede Teilmenge der Attributmenge eines Entitytyps, anhand deren Wertkombination die Entities dieses Typs

identifizierbar sind, heißt Superschlüssel dieses Entity-Typs.

1.  


Ein minimaler Superschlüssel, d.h. ein Superschlüssel mit einer minimalen Menge von Schlüsselattributen, heißt

Schlüsselkandidat. Minimale Menge bedeutet dabei, dass aus dieser Menge kein Attribut weggelassen

werden kann, ohne die Superschlüsseleigenschaft der Menge zu zerstören.

2.  


Einer der Schlüsselkandidaten eines Entity-Typs wird beim ER-Entwurf als Primärschlüssel ausgewählt und

dient dann zur Identifizierung von Entities.

3.  

Beispiel: In der Schulverwaltung wird eine Klasse durch die Attribute 

Name


 und 

Klassenzimmer

 festgelegt. Jede

Klasse hat dabei ihr eigenes Klassenzimmer-



Superschlüssel:

{

Name



Klassenzimmer

}

q   


{

Name


}

q   


{

Klassenzimmer

}

q   


Schlüsselkandidaten:

{

Name



}

q   


{

Klassenzimmer

}

q   


Primärschlüssel:

je nach Festlegung

{

Name


} oder

q   


{

Klassenzimmer

}

q   


Bemerkung:

Zu einem Entity-Typen kann es mehrere Schlüsselkandidaten geben. Dabei ist es durchaus möglich, dass diese

Attributmengen verschieden groß sind.

Beispiel: Schüler sind in unserer Schulverwaltung eindeutig durch Angabe des Eintrittsjahres und der laufenen Nummer

charakterisiert. Die zweielementige Attributmenge {

Eintrittsjahr, Nr

} eignet sich daher als Schlüsselkandidat des

Entity-Typen 

Schueler


. Führt man zusätzlich für die Schüler Personalnummern ein, so ist die einelementige Menge

{

PersNr



} ebenfalls ein Schlüsselkandidat.

Bemerkung:

Die Wahl der Schlüssel, insbesondere der Primärschlüssel, hängt natürlich auch vom betrachteten Zeitraum oder dem

Anwendungsbereich ab. Bei beschränktem Zeitraum bzw. Anwendungsbereich reicht in der Regel oft ein "kleiner"

Primärschlüssel, d.h.ein Primärschlüssel, der in einem erweiterten Zeitraum oder Anwendungsbereich die Kriterien eines

Superschlüssels nicht erfüllen würde.

Beispiel: In dem oben skizzierten Beispiel ist die Wahl des Attributs 

Name


 bzw. 

Klassenzimmer

 als Primärschlüssel

ausreichend, da davon ausgegangen werden kann, dass innerhalb einer Schule der Klassenname bzw. das

entsprechende Klassenzimmer nur einmal existiert. Würde die Schulverwaltung aber in eine übergeordnete

Schulverwaltung integriert, müsste der Primärschlüssel eventuell neu definiert werden, da dann durchaus zwei Klassen

mit gleichem Namen vorkommen können.

Bemerkung:

Statt "Superschlüssel" wird manchmal der Begriff "Schlüssel" verwendet. Oft wird auch der Primärschlüssel

einfach als Schlüssel (Key) bezeichnet.

q   


Die Entscheidung für einen bestimmten Schlüsselkandidaten als Primärschlüssel geschieht während der

Modellierung des Anwendungsbereiches.

q   

Im Abschnitt über das Relationenmodell wird ebenfalls auf Schlüssel eingegangen.



q   

Primärschlüssel werden im ER-Modell durch Unterstreichung gekennzeichnet.

q   

3.3 Übungen

Aufgabe:

Welche künstlichen Unterscheidungsmerkmale kennen Sie aus dem täglichen Leben?



Lösungsvorschlag:

Ausweisnummern

q   

Bestellnummern



q   

Bankleitzahlen

q   

Kontonummern



q   

usw.


q   

Firmenmitarbeiter werden durch den Entity-Typ 

Angestellte

 mit den Attributen 

PersNr



Name



 und 

Einkommen

dargestellt.

Aufgabe:

Welche Superschlüssel und Schlüsselkandidaten gibt es?



Lösungsvorschlag:

Superschlüssel: {

PersNr


Name


, Einkommen}, {

PersNr


Name


}, {

PersNr


, Einkommen}, {

PersNr


}

q   


Schlüsselkandidaten: {

PersNr


}

q   


Betrachten Sie zu dem Entitytyp 

Professor

die folgenden möglichen Attribute:

Vorname


Name


Fachgebiet

Status


,

Zimmer


Telefon


 und 

PersNr.


 Welche Schlüssel sind im Folgenden angegeben?

Aufgabe:

{

Name



Telefon


}

Lösungsvorschlag:

Superschlüssel, da die Zuordnung 

Telefon

 - 


Professor

 eindeutig ist.



Aufgabe:

{

Zimmer



}

Lösungsvorschlag:

Superschlüssel, Schlüsselkandidat, eventuell Primärschlüssel. (Jede Professorin bzw. jeder Professor hat ein eigenes

Büro)

Aufgabe:

{

Name



Vorname


}

Lösungsvorschlag:

kein Schlüssel, da Professoren mit gleichem Vornamen und Namen existieren können.



Aufgabe:

Wie stellt sich für die drei vorgegebenen Attributmengen die Situation bzgl. der Schlüssel dar, wenn nicht nur die



Professorenschaft einer Hochschule, sondern die Professorenschaft eines Landes betrachtet wird?

Lösungsvorschlag:

{

Name



Telefon


} bleibt ein Superschlüssel, da eine Telefonnummer landesweit nur einmal vergeben wird.

Das Attribut 

Zimmer

 ist weder Schlüsselkandidat noch Superschlüssel, da nicht auszuschließen ist, dass es an



verschiedene Hochschulen gleiche Zimmernummern gibt.

{

Name



Vorname


} ist kein Schlüssel, da es aufgrund der erweiterten Anzahl der Professoren sehr wahrscheinlich ist,

dass Hochschullehrer mit identischem Namen und Vornamen existieren.



4 Mengenschreibweise von Entity- und Relationship-Typen

Die ER-Entwurf ist auf der Schema-Ebene angesiedelt. Zur Angabe der Instanz eines Entity- bzw. Relationship-Typen

nutzt man die Mengenschreibweise.

4.1 Mengenschreibweise für Entity-Typen

Ein Entity-Typ 

E

 ist eine Menge von Entities 



e

 

1



 bis 

e

 



n

 , es gilt also 

E

 = { 


e

 

1



 , ..., 

e

 



n

 }.


Ein konkretes Entity wird durch die Liste der zugehörigen Attribut - Wert - Paare repräsentiert.

Beispiel: Für der Entitytyp 

Lehrkraft

 gilt: 

Lehrkraft



 = { 

l

 



1

 , ..., 


l

 

7



 } mit

l

 



1

 = ((


PersNr

: 566), (

Name

: Schumann), (Geschlecht: w), (



Wohnort

: Passau), (

Geburtsjahr

: 1959))


l

 

2



 = ((

PersNr


: 15), (

Name


: Neumann), (Geschlecht: m), (

Wohnort


: Passau), (

Geburtsjahr

: 1950))

l

 



3

 = ((


PersNr

: 35), (


Name

: Rinser), (Geschlecht: w), (

Wohnort

: Passau), (



Geburtsjahr

: 1946))


l

 

4



 = ((

PersNr


: 73), (

Name


: Zuse), (Geschlecht: m), (

Wohnort


: München), (

Geburtsjahr

: 1936))

l

 



5

 = ((


PersNr

: 245), (

Name

: Gauß), (Geschlecht: m), (



Wohnort

: Passau), (

Geburtsjahr

: 1925))


l

 

6



 = ((

PersNr


: 356), (

Name


: Thatcher), (Geschlecht: w), (

Wohnort


: Berlin), (

Geburtsjahr

: 1970))

l

 



7

 = ((


PersNr

: 1344), (

Name

: Graf), (Geschlecht: w), (



Wohnort

: Berlin), (

Geburtsjahr

: 1957))


Für den Entity-Typ 

Klasse


 gilt: 

Klasse


 = { 

k

 



1

k



 

2

 } mit



k

 

1



 = ((

Name


: 11), (

Klassenzimmer

: 202))

k

 



2

 = ((


Name

: 5), (


Klassenzimmer

: 101))


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