Beispiel 1: ER-Modell
Beispiel 1: ER-Modell
Beispiel 1: ER-Modell
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