DAS ENTITY-RELATIONSHIP MODELL · Das Entity-Relationship Modell Grundlagen der Datenbanksysteme I...

28
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

Transcript of DAS ENTITY-RELATIONSHIP MODELL · Das Entity-Relationship Modell Grundlagen der Datenbanksysteme I...

Page 1: DAS ENTITY-RELATIONSHIP MODELL · Das Entity-Relationship Modell Grundlagen der Datenbanksysteme I III-2 Elemente des ER-Modells • Entitäten Klassen von Objekten der realen Welt.

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

Page 2: DAS ENTITY-RELATIONSHIP MODELL · Das Entity-Relationship Modell Grundlagen der Datenbanksysteme I III-2 Elemente des ER-Modells • Entitäten Klassen von Objekten der realen Welt.

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)

Page 3: DAS ENTITY-RELATIONSHIP MODELL · Das Entity-Relationship Modell Grundlagen der Datenbanksysteme I III-2 Elemente des ER-Modells • Entitäten Klassen von Objekten der realen Welt.

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

Page 4: DAS ENTITY-RELATIONSHIP MODELL · Das Entity-Relationship Modell Grundlagen der Datenbanksysteme I III-2 Elemente des ER-Modells • Entitäten Klassen von Objekten der realen Welt.

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.

Page 5: DAS ENTITY-RELATIONSHIP MODELL · Das Entity-Relationship Modell Grundlagen der Datenbanksysteme I III-2 Elemente des ER-Modells • Entitäten Klassen von Objekten der realen Welt.

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.

Page 6: DAS ENTITY-RELATIONSHIP MODELL · Das Entity-Relationship Modell Grundlagen der Datenbanksysteme I III-2 Elemente des ER-Modells • Entitäten Klassen von Objekten der realen Welt.

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

Page 7: DAS ENTITY-RELATIONSHIP MODELL · Das Entity-Relationship Modell Grundlagen der Datenbanksysteme I III-2 Elemente des ER-Modells • Entitäten Klassen von Objekten der realen Welt.

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

Page 8: DAS ENTITY-RELATIONSHIP MODELL · Das Entity-Relationship Modell Grundlagen der Datenbanksysteme I III-2 Elemente des ER-Modells • Entitäten Klassen von Objekten der realen Welt.

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)

Page 9: DAS ENTITY-RELATIONSHIP MODELL · Das Entity-Relationship Modell Grundlagen der Datenbanksysteme I III-2 Elemente des ER-Modells • Entitäten Klassen von Objekten der realen Welt.

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

Page 10: DAS ENTITY-RELATIONSHIP MODELL · Das Entity-Relationship Modell Grundlagen der Datenbanksysteme I III-2 Elemente des ER-Modells • Entitäten Klassen von Objekten der realen Welt.

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

Page 11: DAS ENTITY-RELATIONSHIP MODELL · Das Entity-Relationship Modell Grundlagen der Datenbanksysteme I III-2 Elemente des ER-Modells • Entitäten Klassen von Objekten der realen Welt.

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)

Page 12: DAS ENTITY-RELATIONSHIP MODELL · Das Entity-Relationship Modell Grundlagen der Datenbanksysteme I III-2 Elemente des ER-Modells • Entitäten Klassen von Objekten der realen Welt.

Das Entity-Relationship Modell

Grundlagen der Datenbanksysteme I III-12

Attribute

Person Stadtgeboren

in

(1,1) (0,n)

Name ID BerufGeburtstag

Name # Einwohner

Page 13: DAS ENTITY-RELATIONSHIP MODELL · Das Entity-Relationship Modell Grundlagen der Datenbanksysteme I III-2 Elemente des ER-Modells • Entitäten Klassen von Objekten der realen Welt.

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

Page 14: DAS ENTITY-RELATIONSHIP MODELL · Das Entity-Relationship Modell Grundlagen der Datenbanksysteme I III-2 Elemente des ER-Modells • Entitäten Klassen von Objekten der realen Welt.

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

Page 15: DAS ENTITY-RELATIONSHIP MODELL · Das Entity-Relationship Modell Grundlagen der Datenbanksysteme I III-2 Elemente des ER-Modells • Entitäten Klassen von Objekten der realen Welt.

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 )

Page 16: DAS ENTITY-RELATIONSHIP MODELL · Das Entity-Relationship Modell Grundlagen der Datenbanksysteme I III-2 Elemente des ER-Modells • Entitäten Klassen von Objekten der realen Welt.

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 )

Page 17: DAS ENTITY-RELATIONSHIP MODELL · Das Entity-Relationship Modell Grundlagen der Datenbanksysteme I III-2 Elemente des ER-Modells • Entitäten Klassen von Objekten der realen Welt.

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)

Page 18: DAS ENTITY-RELATIONSHIP MODELL · Das Entity-Relationship Modell Grundlagen der Datenbanksysteme I III-2 Elemente des ER-Modells • Entitäten Klassen von Objekten der realen Welt.

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

Page 19: DAS ENTITY-RELATIONSHIP MODELL · Das Entity-Relationship Modell Grundlagen der Datenbanksysteme I III-2 Elemente des ER-Modells • Entitäten Klassen von Objekten der realen Welt.

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

Page 20: DAS ENTITY-RELATIONSHIP MODELL · Das Entity-Relationship Modell Grundlagen der Datenbanksysteme I III-2 Elemente des ER-Modells • Entitäten Klassen von Objekten der realen Welt.

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

Page 21: DAS ENTITY-RELATIONSHIP MODELL · Das Entity-Relationship Modell Grundlagen der Datenbanksysteme I III-2 Elemente des ER-Modells • Entitäten Klassen von Objekten der realen Welt.

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

Page 22: DAS ENTITY-RELATIONSHIP MODELL · Das Entity-Relationship Modell Grundlagen der Datenbanksysteme I III-2 Elemente des ER-Modells • Entitäten Klassen von Objekten der realen Welt.

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

Page 23: DAS ENTITY-RELATIONSHIP MODELL · Das Entity-Relationship Modell Grundlagen der Datenbanksysteme I III-2 Elemente des ER-Modells • Entitäten Klassen von Objekten der realen Welt.

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

Page 24: DAS ENTITY-RELATIONSHIP MODELL · Das Entity-Relationship Modell Grundlagen der Datenbanksysteme I III-2 Elemente des ER-Modells • Entitäten Klassen von Objekten der realen Welt.

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

Page 25: DAS ENTITY-RELATIONSHIP MODELL · Das Entity-Relationship Modell Grundlagen der Datenbanksysteme I III-2 Elemente des ER-Modells • Entitäten Klassen von Objekten der realen Welt.

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.

Page 26: DAS ENTITY-RELATIONSHIP MODELL · Das Entity-Relationship Modell Grundlagen der Datenbanksysteme I III-2 Elemente des ER-Modells • Entitäten Klassen von Objekten der realen Welt.

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

Page 27: DAS ENTITY-RELATIONSHIP MODELL · Das Entity-Relationship Modell Grundlagen der Datenbanksysteme I III-2 Elemente des ER-Modells • Entitäten Klassen von Objekten der realen Welt.

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.

Page 28: DAS ENTITY-RELATIONSHIP MODELL · Das Entity-Relationship Modell Grundlagen der Datenbanksysteme I III-2 Elemente des ER-Modells • Entitäten Klassen von Objekten der realen Welt.

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.