12.01.2015 Aufrufe

Beispiel 1: ER-Modell

Beispiel 1: ER-Modell

Beispiel 1: ER-Modell

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Das Entity-Relationship <strong>Modell</strong><br />

<strong>Beispiel</strong> 1: <strong>ER</strong>-<strong>Modell</strong><br />

P<strong>ER</strong>SON<br />

NAME<br />

AGE<br />

( 1 , n )<br />

FAN<br />

COACH<br />

PLAY<strong>ER</strong><br />

PRESIDENT<br />

( 1 , 1 ) ( 1 , 1 )<br />

( 1 , 1 )<br />

( 1 , 1 )<br />

SUPPORTS<br />

MANAGES PLAYS _ FOR IS _ PRESIDENT<br />

( 1 , n )<br />

( 1 , 1 ) ( 1 , n )<br />

( 1 , 1 )<br />

NAME<br />

TEAM<br />

( 1 , n )<br />

( 1 , n )<br />

( 1 , n )<br />

DATE<br />

PLAYS _<br />

AGAINST<br />

PRACTICES<br />

( 1 , n )<br />

ATTENDS<br />

( 1 , n )<br />

NUMB<strong>ER</strong><br />

DATE<br />

GAME<br />

( 1 , 1 )<br />

FINAL _ SCORE ( 0 , 1 )<br />

ATTENDANCE ( 0 , 1 )<br />

TIME<br />

TAKES<br />

PLACE _ AT<br />

( 0 , n )<br />

STADIUM<br />

LOCATION<br />

SIZE<br />

NAME<br />

Grundlagen der Datenbanksysteme I<br />

III-15


Das Entity-Relationship <strong>Modell</strong><br />

<strong>Beispiel</strong> 2: <strong>ER</strong>-<strong>Modell</strong><br />

NAME<br />

STATE<br />

CITY<br />

( 0 , n )<br />

BIRTHPLACE<br />

_ OF<br />

( 1 , 1 )<br />

P<strong>ER</strong>SON<br />

LAST _ NAME<br />

AGE<br />

( 0 , n )<br />

NAME<br />

TELEPHONE<br />

RESIDENCE _<br />

CITY _ OF<br />

BELONGS _ TO<br />

( 1 , n )<br />

DEPARTMENT<br />

( 1 , 1 )<br />

( 1 , 1 )<br />

( 0 , n )<br />

STUDENT<br />

PROFESSOR<br />

( 0 , n )<br />

( 0 , n )<br />

SEMEST<strong>ER</strong> SEMEST<strong>ER</strong><br />

ENROLLED PLANNED<br />

GRADUATE _<br />

STUDENT<br />

( 1 , 1 )<br />

ADVISED _<br />

BY<br />

GRADE<br />

START _ APPOINTMENT<br />

( 1 , n )<br />

( 1 , n )<br />

COURSE<br />

( 1 , n )<br />

TITLE<br />

TAUGHT _<br />

BY<br />

( 1 , 2 )<br />

T<strong>ER</strong>MINATE _<br />

APPOINTMENT<br />

VISITING _<br />

PROFESSOR<br />

( 3 , 5 )<br />

MEETS<br />

( 1 , n )<br />

ROOM<br />

ROOM _ NO<br />

BUILDING<br />

( 1 , n )<br />

TIME<br />

DAY<br />

HOUR<br />

Grundlagen der Datenbanksysteme I<br />

III-16


Das Entity-Relationship <strong>Modell</strong><br />

<strong>Beispiel</strong> 3: <strong>ER</strong>-<strong>Modell</strong><br />

(1,n)<br />

RESEARCH_<br />

REPORT<br />

NUMB<strong>ER</strong><br />

TITLE<br />

AUTHORS<br />

(1,1)<br />

ADDRESSES<br />

(1,n)<br />

RESEARCH_<br />

TOPIC<br />

(1,n)<br />

ON<br />

(1,n)<br />

PRODUCES<br />

(1,n)<br />

RESEARCH_<br />

PROJECT<br />

(1,1)<br />

(1,n)<br />

IS_PRINCIPAL_<br />

INVESTIGATOR<br />

WORKS_<br />

ON<br />

(0,n)<br />

(0,n)<br />

EMPLOYEE<br />

NAME<br />

S.S.N.<br />

TITLE<br />

PHONE<br />

OFFICE<br />

NAME<br />

CODE<br />

(1,1)<br />

NAME<br />

(0,n)<br />

(1,1)<br />

AMOUNT<br />

DATE<br />

FUNDED_<br />

BY<br />

SUP<strong>ER</strong>-<br />

VISES<br />

GRANT_NUMB<strong>ER</strong><br />

(1,n)<br />

AGENCY<br />

NAME<br />

ADDRESS<br />

CONTACT_EMPLOYEE<br />

Grundlagen der Datenbanksysteme I<br />

III-17


Das Entity-Relationship <strong>Modell</strong><br />

Diskussion - 1<br />

Kann man Entities von Attributen sicher unterscheiden<br />

Möbelstück<br />

Farbe<br />

Möbelstück<br />

hat<br />

Farbe<br />

Antwort: JA !<br />

• Entities sind Klassen von Objekten der realen Welt und<br />

nehmen keine Werte an.<br />

• Attribute dagegen sind beschreibende Eigenschaften<br />

und nehmen Werte an.<br />

Die Wahl ist dabei abhängig vom Kontext.<br />

Farbe<br />

(1,n)<br />

besteht<br />

aus<br />

(1,n)<br />

Lack<br />

Nr.<br />

Name<br />

Intensität<br />

Menge<br />

Name<br />

Preis<br />

Grundlagen der Datenbanksysteme I<br />

III-18


Das Entity-Relationship <strong>Modell</strong><br />

Diskussion - 2<br />

Wann sollte man Generalisierungen benutzen<br />

Person<br />

Mann<br />

Frau<br />

Person<br />

blonde<br />

Haare<br />

graue<br />

Haare<br />

schwarze<br />

Haare<br />

braune<br />

Haare<br />

Antwort:<br />

Immer dann, wenn man die<br />

Untermengen mit speziellen<br />

Eigenschaften charakterisieren kann.<br />

Person<br />

Mann<br />

Frau<br />

Wehrdienst<br />

Status<br />

Anzahl der<br />

Kinder<br />

Grundlagen der Datenbanksysteme I<br />

III-19


Das Entity-Relationship <strong>Modell</strong><br />

Diskussion - 3<br />

Wo sollen die Attribute innerhalb einer Generalisierungshierarchie<br />

platziert werden<br />

Person<br />

Name<br />

Wehrdienst-Status<br />

Mann<br />

Frau<br />

Anzahl der<br />

Kinder<br />

Adresse<br />

Adresse<br />

Antwort: An der höchstmöglichen Position;<br />

die Kardinalitäten sind dort (1,1).<br />

Person<br />

Name<br />

Adresse<br />

Mann<br />

Frau<br />

Wehrdienst-<br />

Status<br />

Anzahl der<br />

Kinder<br />

Grundlagen der Datenbanksysteme I<br />

III-20


Das Entity-Relationship <strong>Modell</strong><br />

<strong>Beispiel</strong> für verbesserte Lesbarkeit:<br />

schlecht:<br />

Professor<br />

hält<br />

Lehrveranst.<br />

hält<br />

hält<br />

Ausbilder<br />

hält<br />

Seminar<br />

besser:<br />

Personal<br />

Lehrer<br />

Lehrveranst.<br />

Professor<br />

Ausbilder<br />

Seminar<br />

Grundlagen der Datenbanksysteme I<br />

III-21


Das Entity-Relationship <strong>Modell</strong><br />

<strong>Beispiel</strong> für verbesserte Lesbarkeit:<br />

schlecht:<br />

B<br />

B-D<br />

A<br />

B-E<br />

B-C<br />

D<br />

A-C<br />

A-D<br />

C<br />

E<br />

A-E<br />

besser:<br />

A-C<br />

A<br />

A-E<br />

A-D<br />

C D E<br />

B-D<br />

B-C<br />

B<br />

B-E<br />

Grundlagen der Datenbanksysteme I<br />

III-22


Das Entity-Relationship <strong>Modell</strong><br />

Regeln zur Verbesserung der Lesbarkeit<br />

• Eliminierung von ‘hängenden’ Subtypen<br />

Lehrer<br />

Lehrer<br />

Typ<br />

Professor<br />

Ausbilder<br />

• Eliminierung von ‘hängenden’ Entities<br />

Buch<br />

(1,1) (1,1)<br />

Autor<br />

Titel<br />

Buch-Nr.<br />

Name<br />

Buch<br />

Autor<br />

Titel<br />

Buch-Nr.<br />

Grundlagen der Datenbanksysteme I<br />

III-23


Das Entity-Relationship <strong>Modell</strong><br />

• Schaffung von Subtypen bei MIN-CARD=0<br />

Status<br />

Auftrag<br />

(0,1)<br />

Auftrag<br />

(1,1)<br />

bearbeiteter<br />

Auftrag<br />

(1,1) (1,1)<br />

mit<br />

Rechnung<br />

Rechnung<br />

oder eventuell auch<br />

Status<br />

Auftrag<br />

(0,1)<br />

Auftrag<br />

(1,1)<br />

Rechnung<br />

bearbeiteter<br />

Auftrag<br />

Rechung<br />

Grundlagen der Datenbanksysteme I<br />

III-24


Das Entity-Relationship <strong>Modell</strong><br />

Business Rules<br />

Nicht alle Beschränkungen können mittels eines <strong>ER</strong>-<br />

<strong>Modell</strong>s ausgedrückt werden.<br />

<strong>Beispiel</strong>:<br />

Ein Angestellter einer Abteilung soll nicht mehr<br />

verdienen, als der entsprechende Abteilungsleiter.<br />

Zur Vollständigkeit muss jedem <strong>ER</strong>-<strong>Modell</strong> eine<br />

Beschreibung zusätzlicher Beschränkungen beigefügt<br />

werden. Diese zusätzlichen Beschreibungen werden<br />

Business Rules genannt.<br />

Grundlagen der Datenbanksysteme I<br />

III-25


Das Entity-Relationship <strong>Modell</strong><br />

Business Rules (im weitesten Sinne) können angesehen<br />

werden als:<br />

1. Die semantische Definition eines für Anwendungen<br />

relevanten Konzeptes, genauer, die semantische<br />

Definition<br />

• eines Objektes,<br />

• eines Attributes<br />

oder einer<br />

• Relation<br />

des <strong>ER</strong>-<strong>Modell</strong>s.<br />

Für diesen Fall werden natürlichsprachliche Sätze<br />

verwendet, da es unmöglich ist hierfür eine präzise<br />

Syntax zu definieren.<br />

2. Integritätsbedingungen für die Daten einer<br />

Anwendung (als zusätzliche Beschreibung der im<br />

<strong>ER</strong>-<strong>Modell</strong> enthaltenen Bedingungen oder<br />

zusätzliche Bedingungen).<br />

3. Abgeleitete Bedingungen bzw. Folgerungen aus<br />

anderen Bedingungen<br />

(z.B. Brutto ist Summe aus Netto plus Steuer).<br />

Grundlagen der Datenbanksysteme I<br />

III-26


Das Entity-Relationship <strong>Modell</strong><br />

Integritätsbedingungen und abgeleitete Bedingungen<br />

sollten möglichst formal ausgedrückt werden.<br />

Integritätsbedingungen können immer formal<br />

ausgedrückt werden. Einen einheitlichen Standard gibt<br />

es jedoch nicht.<br />

Mögliche Schreibweise für Integritätsbedingungen:<br />

muss | darf nicht <br />

<strong>Beispiel</strong>:<br />

Ein Angestellter darf nicht mehr Gehalt bekommen<br />

als der Abteilungsleiter, zu dessen Abteilung der<br />

Angestellte gehört.<br />

Ein Abteilungsleiter muss zu der Abteilung gehören,<br />

die er leitet.<br />

Ein Abteilungsleiter muss mindestens bereits 10<br />

Jahre in der Firma gearbeitet haben.<br />

Grundlagen der Datenbanksysteme I<br />

III-27


Das Entity-Relationship <strong>Modell</strong><br />

Mögliche Schreibweise für abgeleitete Bedingungen:<br />

ergibt sich aus <br />

<strong>Beispiel</strong>:<br />

Die Anzahl der Mitarbeiter einer Abteilung ergibt<br />

sich aus der Summe der Mitarbeiter, die zu der<br />

Abteilung gehören.<br />

Grundlagen der Datenbanksysteme I<br />

III-28

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!