03_entity-relationship
Das Entity-Relationship Modell
D AS
E NTITY-R ELATIONSHIP M ODELL
(E-R M ODEL)
? 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
Elemente des ER-Modells
? Entit?ten
Klassen von Objekten der realen Welt.
Person
? Beziehungen
Aggregationen von Entit?ten.
Person
Haus
Lebt in
(0,m)
(0,n)
?Attribute
Klassen von Werten, die Eigenschaften von Entit?ten und Beziehungen repr?sentieren.
Person Name Adresse Telefon
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.
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:
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
ER-Schema:
Instanz:
Person = { p1, p2, p3 } Stadt = { c1, c2, c3 }
Lebt_in = {
N-n?re Beziehung:
Kurs
Raum
Findet statt
Tag
Ring:
Angestellter
managt
Manager von
Untergebener von
Kardinalit?ten:
Kurs
Raum
Findet statt
Tag
(1,3)
(0,40)
(0,n)
Angestellter
managt Manager von
Untergebener von
(0,n)
(0,1)
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
Angestellter
managt Manager von
Untergebener von
(0,n)
(0,1)
one-to-many, optional
Bestellung Rechnung
liefern (0,1)
(1,1)
one-to-one, verbindlich
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:
(1,1)
default
Kardinalit?t
Attribute
Weitere Elemente des ER-Modells
? Generalisierung, Hierarchien zwischen Entit?ten.
? Zusammengesetzte Attribute: Aggregation von Attributen die etwas gemeinsam haben.
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.
einfacher Schlüssel
Name
Geb.Datum
Geb.Ort
zusammengesetzter Schlüssel
Beispiel 1: ER-Modell
Beispiel 2: ER-Modell
Beispiel 3: ER-Modell
NAME PHONE S.S.N.
TITLE OFFICE
Diskussion - 1
Kann man Entities von Attributen sicher unterscheiden?
M?belstück
Farbe
hat
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.
Diskussion - 2
Wann sollte man Generalisierungen benutzen?
Antwort: Immer dann, wenn man die
Untermengen mit speziellen
Eigenschaften charakterisieren kann.
Status Kinder
Diskussion - 3
Wo sollen die Attribute innerhalb einer Generalisierungs-hierarchie platziert werden?
Antwort: An der h?chstm?glichen Position;
die Kardinalit?ten sind dort (1,1).
Status Kinder