Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Prof. Dr. T. Kudraß1 Das Entity-Relationship-Modell.

Ähnliche Präsentationen


Präsentation zum Thema: "Prof. Dr. T. Kudraß1 Das Entity-Relationship-Modell."—  Präsentation transkript:

1 Prof. Dr. T. Kudraß1 Das Entity-Relationship-Modell

2 Prof. Dr. T. Kudraß2 Ein Phasenmodell der Softwareentwicklung Implementierung Analyse Design oder Entwurf Abnahme und Einführung Wartung und Pflege

3 Prof. Dr. T. Kudraß3 Datenbankentwurf im Softwareentwicklungsprozess

4 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

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

6 Prof. Dr. T. Kudraß6 Das ER-Modell - Analyse

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

8 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 adr stadt strasse

9 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 Personen pnr Darstellung: Attributname unterstrichen

10 Prof. Dr. T. Kudraß10 ER-Modell - Beziehungen Zwischen Entitäten gibt es Beziehungen (Relationships), die auch Attribute haben können. Beziehungen beschreiben einen Zusammenhang zwischen Entitäten, der im Allgemeinen durch ein Verb ausdrückt wird. Gleichartige Beziehungen zwischen Entitäten der gleichen Entity-Menge werden zu Beziehungsmengen zusammengefasst. Arbeitet AbteilungAngestellter

11 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 E 1, E 2,.... E n : R E 1 x E 2 x.... x E n R ist binär oder vom Grad 2, falls n = 2 ist. n heißt der Grad der Beziehung.

12 Prof. Dr. T. Kudraß12 Beispiele (1) gehalt aname budget anr seit name leitet Abteilung Manager pnr gehalt aname budget anr seit name arbeitet Abteilung Angestellter pnr gehalt pname dauer pnr seit name arbeitet Projekt Angestellter pnr 1 1 1n mn

13 Prof. Dr. T. Kudraß13 Beispiele (2) verheiratet Person Ehefrau Ehemann 1 1 Angestellter vorgesetzt untergeordnet 1 n rapportiert Teil oberes Teil unteres Teil m n zusammen- gesetzt Zwischen den gleichen Entity-Mengen können jeweils unterschiedliche Relationship-Mengen definiert werden. arbeitet Projekt Angestellter mn leitet 1n

14 Prof. Dr. T. Kudraß14 Kardinalität von Beziehungen 1:1 1:n m:n leitet / wird_geleitet Manager Abteilung ManagerMitarbeiter arbeitet mit / für Mitarbeiter Projekt arbeitet an / bearbeitet von

15 Prof. Dr. T. Kudraß15 Integritätsbedingungen in Relationships Verfeinerung der Semantik einer Beziehung Sei R E 1 D E 2... D E n card(R, E i ) = (min,max) bedeutet, daß jedes Element aus E i in wenigstens min und höchstens max Ausprägungen von R enthalten sein muß (mit 0 min max, max 1) Graphische Darstellung RE2E2 E1E1 (min 1,max 1 )(min 2,max 2 ) Verfeinerung der Semantik einer Beziehung e 1 nimmt an (min 1,max 1 ) Beziehungen von Typ R teil e 2 nimmt an (min 2,max 2 ) Beziehungen von Typ R teil leitet Abteilung Angestellter arbeitet_in Beispiel (1,1) (0,1) (1,1)(1,*)

16 Prof. Dr. T. Kudraß16 Komplexität binärer Relationships Kompl.BemerkungBeispiel (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:1Ehe zwischen Ehemännern und Frauen (0,1)(0,1)Allgemeine 1:1Ehe 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

17 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 name alter name Kinder Angestellter pnr hat (0,*) (1,1) Jedes Entity aus Kinder muß an der Beziehung teilnehmen (total Participation Constraint)

18 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 name pnr Angestellter gehalt stundensatz ISA Interner vertrags_nr stundenzahl

19 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 budge t id pid startdatum pbudget name bis Abteilung Projects Sponsors Angestellter kontrolliert gehalt name pnr seit

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

21 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

22 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

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

24 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

25 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 strasse plz stadt Angestellter (0,*) (1,*)

26 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 Dauer Es entsteht eine ternäre Beziehung name Angestellter pnr gehalt Arbeitet_in von bis name budget id Abteilung name Angestellter pnr gehalt Arbeitet_in von bis name budget id Abteilung Dauer

27 Prof. Dr. T. Kudraß27 Ternäre Beziehungen Ternäre Beziehungen können nicht automatisch in binäre Beziehungen aufgebrochen werden titel Vorlesung empfiehl t nam e isbn Buch Professor titel Vorlesung V-B name isbn Buch Professor P-VP-B

28 Prof. Dr. T. Kudraß28 Ternäre Beziehungen (Forts.) Hier verlieren wir die Information, daß Heuer das Buch 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 für DB3, ohne daß ein Professor diese Vorlesung hält oder das Buch empfiehlt

29 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


Herunterladen ppt "Prof. Dr. T. Kudraß1 Das Entity-Relationship-Modell."

Ähnliche Präsentationen


Google-Anzeigen