Das Entity-Relationship Modell
Grundlagen der Datenbanksysteme I III-1
DAS ENTITY-RELATIONSHIP MODELL (E-R MODEL)
• P. Chen (76, ACM-TODS)
• Einfache graphische Darstellung
• Hauptelemente:
− Entitäten (entities)
− Beziehungen (relationships)
− Attribute (attributes)
• Weitere Elemente:
− Generalisierungshierarchien
− Zusammengesetzte Attribute
− Identifier
Das Entity-Relationship Modell
Grundlagen der Datenbanksysteme I III-2
Elemente des ER-Modells
• Entitäten
Klassen von Objekten der realen Welt.
Person
• Beziehungen
Aggregationen von Entitäten.
Person HausLebt
in(0,m) (0,n)
Das Entity-Relationship Modell
Grundlagen der Datenbanksysteme I III-3
• Attribute
Klassen von Werten, die Eigenschaften von Entitäten
und Beziehungen repräsentieren.
PersonNameAdresseTelefon
Otto Müller Robert-Mayer-Str. 11 60325 Frankfurt am Main
Das Entity-Relationship Modell
Grundlagen der Datenbanksysteme I III-4
Das Entity-Relationship Modell
Chen, 1976
Aus der Sicht des Objekt-Beziehungs-Modells (Entity-
Relationship-Model) besteht die Welt aus Objekten
(entities) und Beziehungen (relationships) zwischen
diesen Objekten.
Objekt (Entity):
Modell eines Dings, das in der Umwelt erkannt und
eindeutig identifiziert werden kann.
Modellierungskonzept der Klassifikation:
Objekte werden zu Objekttypen (Entity sets), und
Beziehungen zu Beziehungstypen (relationship sets)
zusammengefasst.
Das Entity-Relationship Modell
Grundlagen der Datenbanksysteme I III-5
Modellierungskonzepte der Aggregation
Aggregation von Merkmalen zu Objekten:
Ein Objekttyp ist durch einen bestimmten Satz von
Merkmalen (Attributen) gekennzeichnet.
Jedes Merkmal kann Werte (values), das sind in der
Umwelt beobachtbare oder messbare Größen, aus
einem bestimmten Wertebereich (value set) annehmen.
Beispiel:
PASSAGIER
NAME
ADRESSE
TELNR.
Das Entity-Relationship Modell
Grundlagen der Datenbanksysteme I III-6
Aggregation von Gegenständen zu Beziehungen
Eine Beziehung zwischen zwei Objekten kann als
Element einer mathematischen Relation aufgefasst
werden.
Die Funktion, die ein Objekt in einer Beziehung erfüllt,
nennt man seine Rolle.
Beispiel:
Rolle
PASSAGIER FLUG bucht
SITZNR.
Gebuchter_Passagier Gebuchter_Flug
Das Entity-Relationship Modell
Grundlagen der Datenbanksysteme I III-7
ER-Schema:
Person Stadt Lebt
in S_NamePopulation
Name Geb_Datum
Instanz:
Person = { p1, p2, p3 }
Stadt = { c1, c2, c3 }
Lebt_in = { <p1,c1>, <p2,c3>, <p3,c3> }
N-näre Beziehung:
Kurs RaumFindetstatt
Tag
Das Entity-Relationship Modell
Grundlagen der Datenbanksysteme I III-8
Ring:
Angestellter managt
Manager von
Untergebener von
Kardinalitäten:
Kurs RaumFindetstatt
Tag
(1,3) (0,40)
(0,n)
Angestellter managt
Manager von
Untergebener von
(0,n)
(0,1)
Das Entity-Relationship Modell
Grundlagen der Datenbanksysteme I III-9
Person Stadt Lebt in
(1,1) (0,n)
• min_card(Person, Lebt_in) = 1
• max_card(Person, Lebt_in) = 1
• min_card(Stadt, Lebt_in) = 0
• max_card(Stadt, Lebt_in) = n
• p1
• p2
• p3
• c1
• c2
• c3
• c4
Person, verbindlich
Stadt, optional
Das Entity-Relationship Modell
Grundlagen der Datenbanksysteme I III-10
Angestellter managt
Manager von
Untergebener von
(0,n)
(0,1)
one-to-many, optional
Bestellung Rechnungliefern(0,1) (1,1)
one-to-one, verbindlich
Das Entity-Relationship Modell
Grundlagen der Datenbanksysteme I III-11
Andere Notation:
6
(1, 6) (1, 1)
Bei dieser Notation wird nur die maximale Kardinalität
angegeben.
Die minimale Kardinalität wird dann standardmäßig auf 1
gesetzt:
default Kardinalität (1,1)
Das Entity-Relationship Modell
Grundlagen der Datenbanksysteme I III-12
Attribute
Person Stadtgeboren
in
(1,1) (0,n)
Name ID BerufGeburtstag
Name # Einwohner
Das Entity-Relationship Modell
Grundlagen der Datenbanksysteme I III-13
Weitere Elemente des ER-Modells
• Generalisierung, Hierarchien zwischen Entitäten.
Person
FrauMann
• Zusammengesetzte Attribute: Aggregation von
Attributen die etwas gemeinsam haben.
Strasse
Person
A d r e s s e
Nummer
Ort PLZ
Das Entity-Relationship Modell
Grundlagen der Datenbanksysteme I III-14
Schlüssel
Ein Schlüssel identifiziert eine Entität. Er besteht aus
einer Menge von Attributen, deren Werte alle Instanzen
einer Entität eindeutig bestimmen.
Person
Name
Personalausweis-nummer
einfacher Schlüssel
Name desVaters
Name
Person Geb.DatumGeb.Ort
zusammengesetzter Schlüssel
Das Entity-Relationship Modell
Grundlagen der Datenbanksysteme I III-15
Beispiel 1: ER-Modell
NAMEDATE
NUMBER
( 1 , n )
(0,n)
DATE
LOCATION
SIZE
TIME FINAL_SCORE (0,1)
( 1 , n )
(1, n )
( 1 , n )
(1,n)
(1,1)
PLAYER PRESIDENT COACHFAN
PERSONNAME
AGE
MANAGES PLAYS _FOR IS_PRESIDENT SUPPORTS
TEAMNAME
PLAYS _AGAINST
GAMEATTENDS TAKES
PLACE _AT STADIUM
PRACTICES
ATTENDANCE (0,1)
(1,n)
(1,n)( 1 , n)( 1 , 1 ) (1,1)
(1,1)(1,1)( 1 , 1 ) ( 1 , 1 )
Das Entity-Relationship Modell
Grundlagen der Datenbanksysteme I III-16
Beispiel 2: ER-Modell
BIRTHPLACE _ OF
RESIDENCE _ CITY _ OF
STUDENT PROFESSOR
BELONGS_TO
GRADUATE _ STUDENT
ADVISED_BY
VISITING _ PROFESSOR
TAUGHT_BY
MEETS
CITY
NAME STATE
PERSON LAST_NAME
AGE
PLANNED
SEMESTER
DEPARTMENT
NAME TELEPHONE
ENROLLED
SEMESTER
GRADE
COURSE TITLE
TIME DAYHOUR
ROOM ROOM_NOBUILDING
START _ APPOINTMENT
TERMINATE_APPOINTMENT
(1, n )
(1,1)
(0,n)
(1,1)( 0 , n)
( 1 , 1 )
( 0 , n )
( 1 , n )
( 0 , n )
( 1 , n ) ( 1 , n)
(1,1)
(1,2)
( 3 , 5 )
( 1 , n )
( 1 , n )
( 0 , n )
Das Entity-Relationship Modell
Grundlagen der Datenbanksysteme I III-17
Beispiel 3: ER-Modell
ADDRESSES
ON RESEARCH_PROJECT
IS_PRINCIPAL_INVESTIGATOR
WORKS_ON
SUPER-VISES
RESEARCH_TOPIC
RESEARCH_REPORT
EMPLOYEE
NAME
PHONE
FUNDED_BY
AMOUNT
GRANT_NUMBER
AGENCYCONTACT_EMPLOYEE
(1,n)
(1,1)
(0,n)
(0,n)
DATE
NAME
ADDRESS
S.S.N.
TITLE
OFFICE
NAME
NUMBER
TITLE
AUTHORS
NAME CODE
(1,n)
(1,n) (1,n)
PRODUCES
(1,n)
(1,n)
(1,n)
(1,1)(1,1)
(1,1)
(0,n)
Das Entity-Relationship Modell
Grundlagen der Datenbanksysteme I III-18
Diskussion - 1
Kann man Entities von Attributen sicher unterscheiden?
Möbelstück
Farbehat
Farbe
Möbelstück
Antwort: JA !
• Entities sind Klassen von Objekten der realen Welt und
nehmen keine Werte an.
• Attribute dagegen sind beschreibende Eigenschaften
und nehmen Werte an.
Die Wahl ist dabei abhängig vom Kontext.
Farbe bestehtaus
Lack(1,n) (1,n)
Nr. NameIntensität
MengeName Preis
Das Entity-Relationship Modell
Grundlagen der Datenbanksysteme I III-19
Diskussion - 2
Wann sollte man Generalisierungen benutzen?
Mann Frau
Person
Person
brauneHaare
schwarzeHaare
graueHaare
blondeHaare
Antwort: Immer dann, wenn man die Untermengen mit speziellen Eigenschaften charakterisieren kann.
Mann Frau
Person
WehrdienstStatus
Anzahl derKinder
Das Entity-Relationship Modell
Grundlagen der Datenbanksysteme I III-20
Diskussion - 3
Wo sollen die Attribute innerhalb einer Generalisierungs-
hierarchie platziert werden?
Mann Frau
Person
Adresse Adresse
NameWehrdienst-Status
Anzahl derKinder
Antwort: An der höchstmöglichen Position; die Kardinalitäten sind dort (1,1).
Mann Frau
Person AdresseName
Wehrdienst-Status
Anzahl derKinder
Das Entity-Relationship Modell
Grundlagen der Datenbanksysteme I III-21
Beispiel für verbesserte Lesbarkeit:
schlecht:
Professor Lehrveranst.
Ausbilder Seminar
hält
hälthält
hält
besser:
Professor
Lehrveranst.
Ausbilder Seminar
LehrerPersonal
Das Entity-Relationship Modell
Grundlagen der Datenbanksysteme I III-22
Beispiel für verbesserte Lesbarkeit:
schlecht:
AB
C
D
E
A-D
B-D
B-EB-C
A-E
A-C
besser:
A
B
C D E
A-D
B-D
B-EB-C
A-EA-C
Das Entity-Relationship Modell
Grundlagen der Datenbanksysteme I III-23
Regeln zur Verbesserung der Lesbarkeit
• Eliminierung von ‘hängenden’ Subtypen
Professor Ausbilder
Lehrer
Lehrer Typ
• Eliminierung von ‘hängenden’ Entities
Buch Autor
Buch
(1,1) (1,1)
Titel Buch-Nr.Name
Titel Buch-Nr.
Autor
Das Entity-Relationship Modell
Grundlagen der Datenbanksysteme I III-24
• Schaffung von Subtypen bei MIN-CARD=0
Auftrag Auftrag
Rechnung
mit
(0,1)
(1,1)bearbeiteter
Auftrag(1,1) (1,1)
Rechnung
Status
oder eventuell auch
Auftrag Auftrag
Rechnung
(0,1)
(1,1) bearbeiteter
Auftrag
Status
Rechung
Das Entity-Relationship Modell
Grundlagen der Datenbanksysteme I III-25
Business Rules
Nicht alle Beschränkungen können mittels eines ER-
Modells ausgedrückt werden.
Beispiel:
Ein Angestellter einer Abteilung soll nicht mehr
verdienen, als der entsprechende Abteilungsleiter.
Zur Vollständigkeit muss jedem ER-Modell eine
Beschreibung zusätzlicher Beschränkungen beigefügt
werden. Diese zusätzlichen Beschreibungen werden
Business Rules genannt.
Das Entity-Relationship Modell
Grundlagen der Datenbanksysteme I III-26
Business Rules (im weitesten Sinne) können angesehen
werden als:
1. Die semantische Definition eines für Anwendungen
relevanten Konzeptes, genauer, die semantische
Definition
• eines Objektes,
• eines Attributes oder einer
• Relation
des ER-Modells.
Für diesen Fall werden natürlichsprachliche Sätze
verwendet, da es unmöglich ist hierfür eine präzise
Syntax zu definieren.
2. Integritätsbedingungen für die Daten einer
Anwendung (als zusätzliche Beschreibung der im
ER-Modell enthaltenen Bedingungen oder
zusätzliche Bedingungen).
3. Abgeleitete Bedingungen bzw. Folgerungen aus
anderen Bedingungen
(z.B. Brutto ist Summe aus Netto plus Steuer).
Das Entity-Relationship Modell
Grundlagen der Datenbanksysteme I III-27
Integritätsbedingungen und abgeleitete Bedingungen
sollten möglichst formal ausgedrückt werden.
Integritätsbedingungen können immer formal
ausgedrückt werden. Einen einheitlichen Standard gibt
es jedoch nicht.
Mögliche Schreibweise für Integritätsbedingungen:
<Konzept> muss | darf nicht <Ausdruck auf Konzept>
Beispiel:
Ein Angestellter darf nicht mehr Gehalt bekommen
als der Abteilungsleiter, zu dessen Abteilung der
Angestellte gehört.
Ein Abteilungsleiter muss zu der Abteilung gehören,
die er leitet.
Ein Abteilungsleiter muss mindestens bereits 10
Jahre in der Firma gearbeitet haben.
Das Entity-Relationship Modell
Grundlagen der Datenbanksysteme I III-28
Mögliche Schreibweise für abgeleitete Bedingungen:
<Konzept> ergibt sich aus <Operation auf Konzept>
Beispiel:
Die Anzahl der Mitarbeiter einer Abteilung ergibt sich aus der Summe der Mitarbeiter, die zu der
Abteilung gehören.