Prof. Dr. T. Kudraß1 Das Entity-Relationship-Modell.
-
Upload
ursel-annen -
Category
Documents
-
view
109 -
download
0
Transcript of Prof. Dr. T. Kudraß1 Das Entity-Relationship-Modell.
Prof. Dr. T. Kudraß 1
Das Entity-Relationship-Modell
Prof. Dr. T. Kudraß 2
Ein Phasenmodell der Softwareentwicklung
Implementierung
Analyse
Design oder Entwurf
Abnahme und Einführung
Wartung und Pflege
Prof. Dr. T. Kudraß 3
Datenbankentwurf im Softwareentwicklungsprozess
Anwendungsentwurf
Dokumentation
Datenbankentwurf
Datenbankimplementierung
Anwendungsimplementierung
Prof. Dr. T. Kudraß 4
Phasen des DB-Entwurfs• Requirements-Analyse
– Welche Daten?– Welche (häufigen) Operationen?– Welche Anwendungen?– Nicht-funktionale Anforderungen, z.B. Performance
• Konzeptueller DB-Entwurf– Spezifikation der gesammelten Anforderungen in einer high-level-
Darstellung (z.B. ER-Modell)• Logischer DB-Entwurf
– Übersetzung des konzeptuellen DB-Entwurfs in ein Schema im Datenmodell des Ziel-DBMS (zumeist relationales DBMS)
• Schema-Verfeinerung– Normalisierung des relationalen Schemas soweit erforderlich
(Nutzung Normalformen-Theorie)• Physischer DB-Entwurf
– Phys. Entwurfsentscheidungen (Index, Clusters) entsprechend Last-Profilen und Performance-Anforderungen
• Security-Entwurf– Definition von Benutzergruppen, Rollen, Zugriffsrechten
Prof. Dr. T. Kudraß 5
Konzeptueller DB-Entwurf
• Konzeptueller Entwurf– Entity-Relationship-Modell ist traditioneller Ansatz– Was sind die Entitäten und die Beziehungen im
gewählten Weltausschnitt?– Welche Information über diese Entitäten und
Beziehungen sollen in der DB gespeichert werden (Informationsbedarfsanalyse)?
– Was sind die Integritätsbedingungen (oder Business Rules), die gelten müssen?
– Ein DB-Schema kann graphisch im ER-Modell repräsentiert werden (ER-Diagramm)
– Ein ER-Diagramm läßt sich in ein relationales Schema übersetzen (logischer DB-Entwurf)
Prof. Dr. T. Kudraß 6
Das ER-Modell - Analyse
SchuleXY
Name
Alter
Klasse
Schüler
DM
DMDM
Entitäten
Entity -Menge Attribute
Attributwerte
Michael
10 JahreKlasse 4
ist S
chüler v
on
seit Juli 1993
Beziehung
Beziehungs-eigenschaft
.
Prof. Dr. T. Kudraß 7
Das ER-Modell - Entität und Entity-Menge
Eine Entität (Entity) ist • ein Objekt der realen Welt, • ein individuelles und eindeutig identifizierbares
Exemplar von Dingen, Begriffen oder Personen
Entity: “A thing that has a real or individual existence in reality or in mind“ (Webster)
Gleichartige Entitäten werden zu Entity-Mengen (Entity set) zusammengefasst.
Prof. Dr. T. Kudraß 8
Das ER-Modell - Attribute von Entity-Mengen
Attribut
Ein Attribut ist eine Eigenschaft, die allen Entitäten einer Entity-Menge gemeinsam ist. Eine Entität wird durch ihre Attributwerte beschrieben.
•optional•obligatorisch name
Darstellung als Oval
name
adrstadt
strasse
Prof. Dr. T. Kudraß 9
Das ER-Modell - Schlüssel
• Ein Schlüssel ist eine minimale Menge von Attributen, die die zugeordnete Entität eindeutig identifizieren. • Sie kann aus einem oder mehren Attributen zusammengesetzt sein. • Schlüsselattribute sind immer obligatorisch.• Mehrere Kandidaten möglich, z.B. Ausweis-Nr. oder Sozialversicherungs-Nr. bei PersonenpnrDarstellung: Attributname unterstrichen
Prof. Dr. T. Kudraß 10
ER-Modell - Beziehungen
• Zwischen Entitäten gibt es Beziehungen (Relationships), die auch Attribute haben können.
• Beziehungen beschreiben einen Zusammenhangzwischen Entitäten, der im Allgemeinen durch ein Verbausdrückt wird.
• Gleichartige Beziehungen zwischen Entitäten dergleichen Entity-Menge werden zu Beziehungsmengenzusammengefasst.
Arbeitet AbteilungAngestellter
Prof. Dr. T. Kudraß 11
Beziehungen im ER-Modell
Aktivitäten zwischen Entitäten werden durch Beziehungen beschrieben
Mathematische Beschreibung einer Beziehung:
Ein Beziehung R (Relationship) ist eine Relation im mathematischen Sinne, also eine Teilmenge des kartesischen Produkts der Entity-Mengen E1, E2,.... En:
R E1 x E2 x.... x En
R ist binär oder vom Grad 2, falls n = 2 ist. n heißt der Grad der Beziehung.
Prof. Dr. T. Kudraß 12
Beispiele (1)
gehaltaname
budgetanr
seitname
leitet AbteilungManager
pnr
gehaltaname
budgetanr
seitname
arbeitet AbteilungAngestellter
pnr
gehaltpname
dauerpnr
seitname
arbeitet ProjektAngestellter
pnr
1 1
1n
m n
Prof. Dr. T. Kudraß 13
Beispiele (2)
verheiratetPerson
Ehefrau
Ehemann
1 1
Angestellter
vorgesetzt
untergeordnet
1 n rapportiert
Teil
oberes Teil
unteres Teil
m nzusammen- gesetzt
Zwischen den gleichen Entity-Mengen können jeweils unterschiedliche Relationship-Mengen definiert werden.
arbeitet
ProjektAngestellter
m n
leitet1 n
Prof. Dr. T. Kudraß 14
Kardinalität von Beziehungen
1:1
1:n
m:n
leitet / wird_geleitet
Manager Abteilung
Manager Mitarbeiter
arbeitet mit / für
Mitarbeiter Projekt
arbeitet an / bearbeitet von
Prof. Dr. T. Kudraß 15
Integritätsbedingungen in Relationships• Verfeinerung der Semantik einer Beziehung
Sei R E1 E2 En
card(R, Ei) = (min,max) bedeutet, daß jedes Element aus Ei in wenigstens min und höchstens max Ausprägungen von R enthalten sein muß (mit 0 min max, max 1)
• Graphische Darstellung
R E2E1
(min1,max1) (min2,max2)
Verfeinerung der Semantik einer Beziehunge1 nimmt an (min1,max1) Beziehungen von Typ R teil
e2 nimmt an (min2,max2) Beziehungen von Typ R teil
leitet AbteilungAngestellter
arbeitet_in
Beispiel(1,1)(0,1)
(1,1) (1,*)
Prof. Dr. T. Kudraß 16
Komplexität binärer Relationships
Kompl. Bemerkung Beispiel
(1,1)(1,1) Strenge 1:1-Beziehung, umkehrbar eindeutige Funktion
Ehe zwischen Ehemännern und Ehefrauen
(1,1)(0,1)(0,1)(1,1)
Partielle 1:1 Ehe zwischen Ehemännern und Frauen
(0,1)(0,1) Allgemeine 1:1 Ehe zwischen Männern und Frauen
(1,1)(1,*)(1,*)(1,1)
Strenge hierarchische Beziehung
Angestellte in einer Abteilung
(1,1)(0,*)(0,*)(1,1)
Funktionale Abhängigkeit ohne Existenzbedingung
Beziehung zwischen Männern (potentiellen Vätern) und Kindern
(0,1)(1,*)(0,1)(0,*)(1,*)(0,1)(0,*)(0,1)
Allgemeine hierarch. Beziehung (1:n)
(k,l)(r,s) Âllgemeine m:n-Beziehung (l,s 1)
Angestellte arbeiten für Projekte
Prof. Dr. T. Kudraß 17
Schwache Entities• Schwaches Entity (weak entity) kann eindeutig
identifiziert werden nur über den Primärschlüssel einer anderen (Owner) Entity.
• Owner Entity und Weak Entity müssen in einer 1:n-Beziehung stehen (ein Owner, mehrere Weak Entities)
gehalt
namealtername
KinderAngestellter
pnr
hat
(0,*) (1,1)
Jedes Entity aus Kinder muß an der Beziehung teilnehmen (total Participation Constraint)
Prof. Dr. T. Kudraß 18
ISA-Beziehung• Vererbung von Attributen (vgl. OO Sprachen)• A “is a“ B heißt: Jedes A Entity ist zugleich auch ein B Entity• Overlap Constraints: Kann Joe zugleich ein Fest-Angestellter
und ein Contractor sein (erlaubt / nicht erlaubt)?• Covering Constraints: Kann jeder Angestellte in Intern oder
Extern klassifiziert werden (ja/nein)• Nutzen von ISA:
– Hinzufügen von Attributen spezifisch für einen Subtyp– Identifizieren von Entities, die an Beziehungen teilnehmen
(Generalisierung)
Extern
namepnr
Angestellter
gehalt
stundensatzISA
Interner
vertrags_nr
stundenzahl
Prof. Dr. T. Kudraß 19
Aggregation*• Zur Modellierung von Relationships zwischen Entity-
Mengen und Relationship-Mengen• Erlaubt es, eine Relationship-Menge (z.B. “Sponsors“) als
eine Entity-Menge zu betrachten, um an einer anderen Relationship teilzunehmen
budgetidpid
startdatum
pbudgetname
bis
AbteilungProjects Sponsors
Angestellter
kontrolliert
gehaltname
pnr
seit
Prof. Dr. T. Kudraß 20
Konzeptueller Entwurf im ER-Modell• Entwurfsentscheidungen
– Sollte ein Konzept als Entity oder Attribut modelliert werden?– Sollte ein Konzept als Entity oder Relationship modelliert
werden?– Bestimme die Beziehungen: Binär oder ternär? Aggregation?
• Constraints im ER-Modell– Möglichst viel Datensemantik sollte erfaßt werden– Einige Constraints können mit den Mitteln des ER nicht
ausgedrückt werden (z.B. Wertabhängigkeiten zwischen Attributen)
Prof. Dr. T. Kudraß 21
Checkliste zum Finden von Entitäten
• Lassen sich konkrete Objekte identifizieren?– Reale Objekte– Formulare als Vorlage für Entitäten.
• Zu welchen Kategorien gehören die Entitäten?– Konkrete Objekte– Personen und deren Rollen– Informationen über Aktionen– Orte– Organisationen– Schnittstellen des System
• Liegt ein aussagefähiger Entity-Mengen-Name vor?• Wann liegt keine Entität vor
Prof. Dr. T. Kudraß 22
Checkliste zum Finden von Attributen• Ist ein Attribut problemrelevant?
• Gehört ein Attribut zu einer Entität oder zu einer Beziehung?
• Welche Attribute können als Schlüsselattribute dienen?
• Ist der Attributname geeignet?
– sprechende Namen– Eindeutigkeit
• Welche Datentypen liegen vor?– Standarddatentypen : NUMBER, Date, VARCHAR
• Liegen für Attribute bestimmte Domänen, das heißt festgelegte Wertebereiche vor?
– männlich, weiblich
– Wochentage
Prof. Dr. T. Kudraß 23
Checkliste zum Finden von Beziehungen• Liegen zwischen Entitäten permanente Beziehungen vor ?
• Ist eine Benennung der Beziehung sinnvoll ?
• Existieren zwischen Entitäten mehrere Beziehungen ?– Prüfen Sie, ob die Beziehungen
- eine unterschiedliche Bedeutung besitzen- unterschiedliche Kardinalitäten haben- unterschiedliche Optionalität besitzen- ob es sich um eine Kann- oder eine Muß–Beziehung handelt.
• Gehören Attribute zu einer Beziehung? Eventuell´Beziehung in eine Entität umformen
• Ist eine Benennung der Beziehung sinnvoll ?– Läßt sich die Beziehung in eine Kategorie einordnen ?
- Das Ganze und seine Teile- Der Behälter und sein Inhalt ( z.B. Flugzeug und Pilot)- Kollektion und ihre Mitglieder ( z.B. Firma, Angestellte)- Konfiguration von Teilen zu einem Ganzen ( z.B. Szenen zu
einem Film)- Teile können nicht vom Ganzen getrennt werden ( München
ist Teil von Bayern)
- Tupel/Element (Fahrzeug besteht aus Auto und Eigentümer)
Prof. Dr. T. Kudraß 24
Künstliche Schlüsselattribute
• künstliches Schlüsselattribut (surrogate key)– zusätzliches Attribut ohne Anwendung in der realen Welt– i.d.R. Datentyp: NUMBER– dient zur eindeutigen Identifizierung der Entities der
zugehörigen Entity-Menge – ersetzen einen aus mehreren Attributen
zusammengesetzten Primärschlüssel; diese Attribute werden Zweitschlüssel
– weniger Attribute bei Verwendung des Primärschlüssels als Fremdschlüssel
– einfacherer Index-Aufbau– schnellere Suche
Prof. Dr. T. Kudraß 25
Entity vs. Attribut• Sollte Adresse ein Attribut von Angestellter sein oder ein
Entity (in Beziehung zu Angestellter)• Abhängig von der Benutzung der Adress-Information und der
Semantik der Daten– Wenn mehrere Adressen pro Angestellter vorhanden, dann sollte
Adresse ein eigenständiges Entity sein (wenn mengenwertige Attribute ausgeschlossen sind)
– Wenn die Struktur der Adresse wichtig ist, d.h. Zugriff auf Bestandteile der Adresse (wie Stadt), dann muß Adresse als separates Entity modelliert werden (mit atomaren Attributwerten)
Adresse
strasseplz
stadt
Angestellter
(0,*)
(1,*)
Prof. Dr. T. Kudraß 26
Entity vs. Attribut (Forts.)
• So ist es nicht möglich, die Mitarbeit eines Angestellten über mehrere Zeiträume zu modellieren (ähnlich wie mehrere Adressen eines Mitarbeiters) Ersetzen der zeitbezogenen Attribute (von,bis) durch das neue Entity DauerEs entsteht eine ternäre Beziehung
name
Angestellter
pnr gehalt
Arbeitet_in
von bisname
budgetid
Abteilung
name
Angestellter
pnr gehalt
Arbeitet_in
von bis
namebudgetid
Abteilung
Dauer
Prof. Dr. T. Kudraß 27
Ternäre Beziehungen• Ternäre Beziehungen können nicht automatisch in binäre
Beziehungen aufgebrochen werden
titel
Vorlesung empfiehlt
name
isbn
Buch
Professor
titel
Vorlesung V-B
name
isbn
Buch
Professor
P-V P-B
Prof. Dr. T. Kudraß 28
Ternäre Beziehungen (Forts.)empfiehlt Professor Vorlesung Buch
Heuer DB1 1-234
Heuer DB2 9-876
Saake DB1 9-876
Saake DB2 9-876
P-V Prof Vorl
Heuer DB1
Heuer DB2
Saake DB1
Saake DB2
P-B Prof Buch
Heuer 1-234
Heuer 9-876
Saake 9-876
V-B Vorl Buch
DB1 1-234
DB2 9-876
DB1 9-876
Hier verlieren wir die Information, daß Heuer das Buch 9-876 nur für die Vorlesung DB2 aber nicht für DB1 empfiehlt.
Könnten auch zusätzliche (fragwürdige) Information abspeichern, die sonst nicht darstellbar wäre, z.B. das Buch 7-000 für DB3, ohne daß ein Professor diese Vorlesung hält oder das Buch empfiehlt
Prof. Dr. T. Kudraß 29
Konzeptueller Entwurf (Zusammenfassung)• Konzeptueller Entwurf folgt der Anforderungsanalyse• Ergebnis: eine “high-level“ Beschreibung der zu speichernden
Daten• ER-Modell populär für konzeptuellen Entwurf• Basis-Konstrukte: Entities, Relationships, Attribute (von Entities
und Relationships)• Zusätzliche Konstrukte: Weak Entities, ISA-Beziehungen,
Aggregation• Constraints (Integritätsbedingungen) im ER:
– Kardinalitätsrestriktionen (1:1, 1:n, m:n)– Komplexität von Beziehungen in min,max-Notation (Participation
Constraints)– Overlap/Covering-Constraints in ISA-Hierarchien– Bestimmen von Constraints wichtig für guten DB-Entwurf– Einige Constraints (z.B. funktionale Abhängigkeiten) lassen sich im ER-
Modell nicht ausdrücken• Entwurf ist subjektiv
– Entity vs. Attribut, Entity vs. Relationship, Binär oder Ternär, mit oder ohne ISA, mit oder ohne Aggregation