Entity Relationsship Modelle
Transcription
Entity Relationsship Modelle
Lehrstuhl für Angewandte Informatik IV Prof. Dr.-Ing. Stefan Jablonski Datenbanken und Informationssysteme I 02: Entity-Relationship-Modelle Prof. Dr.-Ing. Stefan Jablonski Telefon: +49 921 - 55 7620 Fax: +49 921 - 55 7622 E-Mail: Stefan.Jablonski@uni-bayreuth.de Überblick • • • Beispielanwendung Notation Grundlagen • Basiskonzepte der ER-Modellierung – – – – – – – – • Erweiterte ER-Modelle – – 09.12.2013 Entitäten und Attribute Wertebereich, Domäne Schlüsselattribute Beziehungstypen Rollen, Rekursive Beziehungstypen Kardinalität Mehrstellige Beziehungstypen Schwache Entitätstypen 2 Unterklassen, Oberklassen, Vererbung Vereinigung, Kategorien © 2013/14 · Lehrstuhl für Angewandte Informatik IV DBIS I Eine Beispielanwendung I • A company is organized into departments. Each department has a unique name, a unique number, and a particular employee who manages the department. We keep track of the start date when that employee began managing the department. A department may have several locations. • A department controls a number of projects, each of which has a unique name, a unique number, and a single location. • We store each employee’s name, social security number, address, salary, sex, and birth date. An employee is assigned to one department but may work on several projects, which are not necessarily controlled by the same department. We keep track of the number of hours per week that an employee works on each project. We also keep track of the direct supervisor of each employee. • We want to keep track of the dependents of each employee for insurance purposes. We keep each dependent’s first name, sex, birth date, and relationship to the employee. 09.12.2013 3 © 2013/14 · Lehrstuhl für Angewandte Informatik IV DBIS I Eine Beispielanwendung II DNUMBER FNAME Minit LNAME Address NAME SSN NumberOfEmployees Salary Sex N DNAME Location 1 WORKS_FOR BDate StartDate Department Employee 1 MANAGES 1 1 Controls 1 N Hours 1 Supervisor SUPERVISION N Supervisee DEPENDS-OF N N Project WORKS_ON N PName DEPENDENT Name 09.12.2013 4 Sex © 2013/14 · Lehrstuhl für Angewandte Informatik IV PNumber Location Relationship BirthDate DBIS I Notation (eine mögliche …) Symbol Bedeutung … ENTITY TYPE COMPOSITE ATTRIBUTE WEAK ENTITY TYPE DERIVED ATTRIBUTE RELATIONSHIP TYPE R E1 E2 TOTAL PARTICIPATION OF E2 IN R E2 CARDINALITY RATIO 1:N FOR E1:E2 IN R IDENTIFYING RELATIONSHIP TYPE E1 1 R N ATTRIBUTE ____ KEY ATTRIBUTE R (MIN, MAX) E STRUCTURAL CONSTRAINT (min, max) ON PARTICIPATION OF E IN R MULTI VALUED ATTRIBUTE 09.12.2013 5 © 2013/14 · Lehrstuhl für Angewandte Informatik IV DBIS I Grundlagen • Entity-Relationship-Modell – – – – – • Annahmen – – • Die betrachtete Miniwelt kann durch Objekte (Entities) und Beziehungen zwischen diesen Objekten (Relationships) beschrieben werden. Entities und Relationships werden durch Attribute (Eigenschaften) näher charakterisiert. Diese werden durch die Attributwerte beschrieben. Beispiel Miniwelt Schule – – – 09.12.2013 Datenmodell zur Darstellung des konzeptuellen Datenbankschemas für relationale Datenbanksysteme Standardisierte graphische Notation in Form des Entity-Relationship-Diagramms (ER-Diagramm) Resultat der Modellierung: Entity-Relationship-Modell (ER-Modell) des Anwendungsbereichs Kann systematisch in eine Menge von Relationenschemata überführt werden, welche die Grundlage für die Tabellen einer relationalen Datenbank bilden Datenmodelle zur konzeptuellen Modellierung beschreiben nur die Struktur der Daten und verfügen im Allgemeinen nicht über Operatoren zur Datenmanipulation ( Standardoperatoren: einfügen, ändern, löschen; lesen). 6 Lehrerin Thatcher, geb. 1980, aus Berlin Klasse 11, Raumnummer 202 Thatcher ist Klassenleiterin der Klasse 11 © 2013/14 · Lehrstuhl für Angewandte Informatik IV Thatcher hat_Klassenleitung_in Klasse 11 PersNr: 356 Wohnort: Berlin Geschlecht: w Geburtsjahr: 1980 Klassenzimmer: 202 Entity Relationship Attribut Attributwert DBIS I Von den Instanzen zum Schema (Typ) • Entitätstyp – • Beziehungstyp – • Menge gleichartiger Entities, d.h. Entities mit gleichen Attributen Menge gleichartiger Relationships (nicht nur gleiche Attribute, sondern auch gleiche Kardinalität, Partizität) Eigenschaften – – – – – Entitätstypen müssen nicht disjunkt sein Beziehungstypen stellen Beziehungen zwischen Entitätstypen her Ein Entitätstyp kann an mehreren Beziehungstypen beteiligt sein Entitätstyp, Beziehungstyp und Attribut entsprechen der Schemaebene Entität, Beziehung und Attributwert sind Instanzen Neumann Klasse 5 Thatcher hat_Klassenleitung_in PersNr:15 Wohnort: Passau Geschlecht: m Geburtsjahr: 1960 Klasse 11 hat_Klassenleitung_in Klassenzimmer: 101 PersNr: 356 Wohnort: Berlin Geschlecht: w Geburtsjahr: 1980 Klassenzimmer: 202 Subsumtion Lehrkraft Klasse hat_Klassenleitung_in PersNr Name Wohnort Geschlecht Geburtsjahr Name Klassenzimmer Entity Relationship Attribut Attributwert Konkrete Entitäten, Beziehungen und Attributwerte spielen in der Regel beim ER-Entwurf keine Rolle, weil die Modellierung auf Schemaebene stattfindet. Man benutzt sie aber als Beispiele, um Sachverhalte besser zu erkennen oder zu verstehen. 09.12.2013 7 © 2013/14 · Lehrstuhl für Angewandte Informatik IV DBIS I Basiskonzepte der ER-Modellierung 09.12.2013 8 © 2013/14 · Lehrstuhl für Angewandte Informatik IV DBIS I Entitäten und Attribute • Entität (Entity) – • Attribute – – – • Ein "Ding" der realen Welt mit einer unabhängigen Existenz … ein Objekt, welches physisch existiert (eine bestimmte Persion, Auto, Haus, Angestellter) … ein Objekt mit einer konzeptionellen Existenz (eine Firma, eine Arbeitsstelle, eine Vorlesung) Die spezifischen Eigenschaften einer Entität Beispiel: Angestellte haben einen Namen, ein Alter, eine Adresse, ein Gehalt, einen Job (Arbeitsbeschreibung) Ein spezieller Angestellte wird charakterisiert durch Werte (Ausprägungen) für die obigen Attribute Beispiele Name = John Smith e1 Address = 2311 Kirby, Houston, Texas 77001 Age = 55 Name = Sunco Oil c1 Headquarters = Houston President = John Smith HomePhone = 713-749-2630 09.12.2013 9 © 2013/14 · Lehrstuhl für Angewandte Informatik IV DBIS I Entitätstypen, Entitätsmengen, Entitäten I • Entitätstypen – – – – Eine Datenbank enthält normalerweise Gruppen von Entitäten, welche ähnlich sind Diese Entitäten haben die gleichen Attribute, aber jede Entität hat individuelle Werte für die Attribute Entitätstyp: Menge von Entitäten, welche die gleichen Attribute aufweisen. Jeder Entitätstyp wird durch Namen und Attribute beschrieben Ein Entitätstyp beschreibt das Schema oder die Intension dieser Entitätenmenge mit gleicher Struktur • • Entitätenmenge – – – Die Menge aller Entitäten eines bestimmten Entitätentyps, welcher zu einem bestimmten Zeitpunkt in der Datenbank liegt. Die Entitätenmenge wird über den gleichen Namen wie der Entitätentyp referenziert. Eine Entitätenmenge beschreibt die Extension eines Entitätentyps • 09.12.2013 Nicht einzelne Entitäten werden aufgezählt, sondern ihre Struktur wird beschrieben 10 Die einzelnen Entitäten werden dargestellt © 2013/14 · Lehrstuhl für Angewandte Informatik IV DBIS I Entitätstypen, Entitätsmengen, Entitäten II ENTITY TYPE: (Intension) ENTITY SET: (Extension) EMPLOYEE COMPANY (Name, Age, Salary) (Name, Headquarters, President) e1 (John Smith, 55, 80K) c1 (Sunco Oil, Houston, John Smith) e2 (Fred Brown, 40, 30 K) c2 (Fast Computer, Dallas, Bob King) e3 (Judy Clark, 25, 20 K) … … 09.12.2013 11 © 2013/14 · Lehrstuhl für Angewandte Informatik IV DBIS I Attribute I • Struktur – – Einfache Attribute Komposite Attribute • • Anzahl von Werten – – Einwertige Attribute Mehrwertige Attribute • • Eventuell: obere und untere Grenze für die Anzahl der Attributwerte Repräsentation – – Gespeicherte Attribute Abgeleitete Attribute • • 09.12.2013 Nützlich wenn sowohl das komposite als auch seine einzelnen Komponenten referenziert werden 12 Age (abgeleitet) und BirthDate (gespeichert) – beides Attribute von Person NumberOfEmployees (abgeleitet) – Attribut von Department © 2013/14 · Lehrstuhl für Angewandte Informatik IV DBIS I Attribute II • Nullwerte – Beispiele • • – – Der spezielle Wert NULL wird verwendet, um anzudeuten, dass eine Entität keinen Wert haben kann oder dass der Wert noch nicht bekannt ist Interpretationen • • • • • Nicht anwendbar: Attribut Geburtsname Unbekannt: Wert existiert, ist aber (momentan) nicht bekannt Unbekannt: Es ist nicht bekannt, ob der Wert existiert … Komplexe Attribute – – – – • Attribut ApartmentNumber einer Adresse Attribut CollegeDegrees Komposite und mehrwertige Attribute können geschachtelt werden Gruppierung: runde Klammern ( ) Trennung der Komponenten: Komma , Mehrwertige Attribute: geschweifte Klammern {} Beispiel {AddressPhone ( {Phone (AreaCode, PhoneNumber) }, Address (StreetAddress (Number, Street, ApartNo), City, State, Zip) ) } 09.12.2013 13 © 2013/14 · Lehrstuhl für Angewandte Informatik IV DBIS I Wertebereich, Domäne • Jedes einfache Attribut ist einem Wertebereich zugeordnet – – – Beschreibt die möglichen Werte, welche dieses Attribut für spezifische Entitäten einnehmen kann Beispiel: Integer, Dienstaltersstufe ist ganze Zahl zwischen 1 und 15 Wertebereiche werden zumeist nicht im ER-Modell dargestellt • Ein Attribut A eines Entitätstyps E, dessen Wertebereich V ist, ist, ist eine Funktion von E auf die Potenzmenge P(V): A : E P(V) • Wert eines Attributs A einer Entität e: A(e) • Darstellung der verschiedenen Arten von Attributen • – – – – – 09.12.2013 14 Nullwert: leere Menge Einwertiges Attribut: A(e) ist ein Einzelwert Mehrwertiges Attribut: A(e) ist nicht beschränkt Komposites Attribute A: Wertebereich ist das Kartesisches Produkt P(V1), P(V2), . . ., P(Vn), wobei V1, … , Vn die Wertebereiche der einfachen Komponenten von A sind: V = P(V1) x P(V2) x … x P(Vn) © 2013/14 · Lehrstuhl für Angewandte Informatik IV DBIS I Schlüsselattribute • Wichtigste Einschränkung bei Entitäten – • Schlüsseleigenschaft (Eindeutigkeit) von Attributen Innerhalb eines Entitätstyps wird eine Entität durch den Wert eines Attributes eindeutig identifiziert in der Entitätenmenge – – Ein solches Attribut wird Schlüsselattribut genannt: identifiziert eine Entität Manchmal identifiziert auch eine Menge von Attributen eine Entität • • • • Ein Schlüsselattribut (Menge von Schlüsselattributen) ist minimal Entitätstypen können mehrere Schlüsselattribute haben Manche Entitätstypen haben kein Schlüsselattribut: schwache Entitätstypen Künstliche Schlüsselattribute: Surrogate • Beispiele – – – – – 09.12.2013 15 Matrikelnummer: eindeutig für Studierende einer Universität SocialSecurityNumber: eindeutig für Personen (in USA) ISBN: eindeutig für Bücher LaufendeNummer: eindeutig für Rechnungen Surrogat Kraftfahrzeug??? © 2013/14 · Lehrstuhl für Angewandte Informatik IV DBIS I Superschlüssel, Schlüsselkandidaten, Primärschlüssel I • Jede Teilmenge der Attributmenge eines Entitätstyps anhand deren Wertkombination die Entitäten dieses Typs identifizierbar sind, heißt Superschlüssel dieses Entitytyps • Ein minimaler Superschlüssel, d.h. ein Superschlüssel mit einer minimalen Menge von Schlüsselattributen, heißt Schlüsselkandidat – Minimale Menge bedeutet dabei, dass aus dieser Menge kein Attribut weggelassen werden kann, ohne die Superschlüsseleigenschaft der Menge zu zerstören. • Einer der Schlüsselkandidaten eines Entitätstyps wird beim ER-Entwurf als Primärschlüssel ausgewählt und dient dann zur Identifizierung von Entities • Beispiel – In einer Schulverwaltung wird eine Klasse durch die Attribute Name und Klassenzimmer festgelegt. Jede Klasse hat dabei ihr eigenes Klassenzimmer. Superschlüssel: Klasse Schlüsselkandidaten: Name 09.12.2013 16 Klassenzimmer Primärschlüssel: © 2013/14 · Lehrstuhl für Angewandte Informatik IV - {Name, Klassenzimmer} - {Name} - {Klassenzimmer} - {Name} - {Klassenzimmer} je nach Festlegung - {Name} oder - {Klassenzimmer} DBIS I Superschlüssel, Schlüsselkandidaten, Primärschlüssel II • Zu einem Entitätstyp kann es mehrere Schlüsselkandidaten geben • Beispiel: Schüler einer Schulverwaltung – – • Die Wahl der Schlüssel, insbesondere der Primärschlüssel, hängt natürlich auch vom betrachteten Zeitraum oder dem Anwendungsbereich ab. – • Erster Schlüsselkandidat: Eintrittsjahr und laufende Nummer Zweiter Schlüsselkandidat: Schüler-Personalnummern Bei beschränktem Zeitraum bzw. Anwendungsbereich reicht in der Regel oft ein "kleiner" Primärschlüssel, d.h. ein Primärschlüssel, der in einem erweiterten Zeitraum oder Anwendungsbereich die Kriterien eines Superschlüssels nicht erfüllen würde. Beispiel: Studierende – Innerhalb einer Universität – innerhalb Bayerns – irgendwo • Statt "Superschlüssel" wird manchmal der Begriff "Schlüssel" verwendet. Oft wird auch der Primärschlüssel einfach als Schlüssel (Key) bezeichnet. • Die Entscheidung für einen bestimmten Schlüsselkandidaten als Primärschlüssel geschieht während der Modellierung des Anwendungsbereiches • Primärschlüssel werden im ER-Modell unterstrichen 09.12.2013 17 © 2013/14 · Lehrstuhl für Angewandte Informatik IV DBIS I Beziehungstypen, Beziehungsmengen, Beziehungen I • Konkatenation von Entitäten – – • Kartesisches Produkt von Entitäten – – • Die Konkatenation e1 * e2 zweier Entitäten e1 und e2 ist die Liste der Attribut-Wert-Paare, die durch das Hintereinanderschreiben der entsprechenden Listen für e1 und e2 entsteht. Analog wird die Konkatenation e1 * ... * en mehrerer Entitäten definiert. Das kartesische Produkt E1 x E2 zweier Entitätstypen E1 und E2 ist definiert als die Menge aller möglichen Konkatenationen ihrer Elemente: E1 x E2 = {e1 * e2 | e1 E1 und e2 E2} Analog wird das kartesische Produkt E1 x ... x En mehrerer Entitätstypen definiert. Beispiele – l1 = ((PersNr: 15), (Name: Neumann), (Geschlecht: m), (Wohnort: Passau), (Geburtsjahr: 1960)) k2 = ((Name: 5), (Klassenzimmer: 101)) Konkatenation l1 * k2 = ((PersNr: 15), (Name: Neumann), (Geschlecht: m), (Wohnort: Passau), (Geburtsjahr: 1950), (Name: 5), (Klassenzimmer: 101)) • – 09.12.2013 18 Entspricht der Beziehung: Lehrkraft Neumann hat die Klassenleitung der Klasse 5 Das Kartesische Produkt zwischen allen Lehrern und allen Klassen drückt die mögliche Klassenleitungsfunktion aller Lehrer aus. © 2013/14 · Lehrstuhl für Angewandte Informatik IV DBIS I Beziehungstypen, Beziehungsmengen, Beziehungen II • Ein Beziehungstyp (Relationship Type) R zwischen Entitätstypen E1, . . ., En definiert eine Menge von Beziehungen (Relationships) oder eine Beziehungsmenge (Relationship Set) zwischen Entitäten der beteiligten Entitätstypen • Die Beziehungsmenge R setzt sich aus Beziehungsinstanzen (Beziehungen) ri zusammen, wobei jedes ri n Entitäten (e1, . . ., en) verbindet, und jede Entität ej in ri Entität des entsprechenden Entitätstyps Ej, 1 ≤ j ≤ n, ist. • R bezeichnet sowohl den Beziehungstyp als auch die Beziehungsmenge • Ein Beziehungstyp ist eine mathematische Relation über E1, . . ., En, bzw. alternativ dazu eine Untermenge des Kartesischen Produkts E1 x E2 x . . . x En. • Jeder Entitätstyp E1, . . ., En nimmt am Beziehungstyp R teil; die Entitäten e1, . . ., en nehmen an der Beziehung ri = (e1, . . ., en) teil. • Informell: jede Beziehung ist eine Verknüpfung zwischen zwei oder mehreren Entitäten, wobei die Verknüpfung genau eine Entität der beteiligten Entitätstypen beinhaltet. 09.12.2013 19 © 2013/14 · Lehrstuhl für Angewandte Informatik IV DBIS I Beziehungstypen, Beziehungsmengen, Beziehungen III Employee Works_For w1 e1 w3 e3 d2 w5 e5 d3 w6 e6 … w7 e7 … … Veranschaulichung von Beziehungstypen – – Für jeden beteiligten Entitätstyp eine Spalte Für jede existierende Beziehung: eine Zeile taking Students Taking: 09.12.2013 d1 w4 e4 • Department w2 e2 20 Students Sally Sally Joe ... © 2013/14 · Lehrstuhl für Angewandte Informatik IV Courses Courses CS145 CS244 CS145 ... DBIS I Attribute für Beziehungstypen • Auch Beziehungstypen können Attribute haben – • Manchmal können Attribute von Beziehungstypen auch den beteiligten Entitäten zugeordnet werden (bei 1:1, 1:N); bei 1:N Beziehungstypen können sie nur zur N-Seite wandern – – – • Beispiel: Zahl der Stunden, welche ein Angestellter für ein Projekt arbeitet Beispiel (1:1): StartDate des Beziehungstyps MANAGES kann sowohl dem Entitätstyp EMPLOYEE oder DEPARTMENT zugeordnet werden Beispiel (1:N): Attribute StartDate des Beziehungstyps WORKS_FOR Über die Zuordnung eines solchen Attributs entscheidet der Designer; bei der Abbildung von ERDiagrammen nach Relationen (Tabellen) wird dieses Thema nochmals relevant Bei M:N Beziehungstypen können Attribute von Beziehungstypen nicht den Entitätstypen zugeordnet werden – Beispiel (N:N): Attribute Hours des M:N Beziehungstyps WORKS_ON semester Students 09.12.2013 21 © 2013/14 · Lehrstuhl für Angewandte Informatik IV subject repetition Taking Courses DBIS I Kardinalität (Funktionalität) und Partizipität • Kardinalität (Funktionalität) – – – Definiert Anzahl von Beziehungen, an welchen eine Entität teilnehmen kann Binäre Beziehungstypen: 1:1, 1:N, N:1, oder M:N Bestimmung • • • Binäre Beziehungstypen: "von links nach rechts" & "von rechts nach links" Tertiäre Beziehungstypen: "halte zwei Entitäten fest und bestimme die dritte" … Kardinalität x : y x E₁ • R E₂ Besagt, ob die Existenz einer Entität davon abhängt, dass sie in einer Beziehung benutzt wird. Auch die Partizipität muss multi-lateral betrachtet werden Arten – Total (Existenz-Abhängigkeit) • – 22 Beispiel: nur solche Personen werden angestellt, die sogleich einer Abteilung zugeordnet werden können Partiell • 09.12.2013 y Partizipität und Existenz-Abhängigkeit – – • x, y {1,n,m} Beispiel: Personen werden angestellt ohne sogleich einer Abteilung zugeordnet zu sein © 2013/14 · Lehrstuhl für Angewandte Informatik IV DBIS I Darstellungsformen • Darstellung der Kardinalität – – • Pfeil Kein Pfeil '1' 'N' ("genau 1" gibt es auch) Darstellung der Partizipität – – Durchgezogene Linie Gepunktete Linie 'muss' (notwendig) 'kann' (optional) Instanzebene Typebene Many-to-many Many-to-one One-to-one Fragen: Welche Partizipität wird in den Abbildungen gezeigt? Wie müssten die Abbildungen geändert werden, wenn "die andere" Partizipität dargestellt wird? 09.12.2013 23 © 2013/14 · Lehrstuhl für Angewandte Informatik IV DBIS I 1:1 Beziehungstypen • Ein 2-stelliger Beziehungstyp R zwischen den Entitätstypen E1 und E2 hat die Funktionalität 1:1, falls eine Entität aus E1 mit höchstens einer Entität aus E2 über R in Beziehung stehen kann und umgekehrt. R heißt dann 1:1 – Beziehungstyp • 1:1-Funktionalität – – • Seien E1 , E2 Entitätstypen und R E1 x E2 ein Beziehungstyp. Weiterhin seien x und x' Entitäten von E1 und y und y' Entitäten von E2. R ist ein 1:1 – Beziehungstyp, falls gilt: ( x, y ) R und ( x, y' ) R y = y' und ( x, y ) R und ( x', y ) R x = x' . Beispiel (alternative grafische Notationen!) Lehrkraft 1 E₁ 09.12.2013 24 © 2013/14 · Lehrstuhl für Angewandte Informatik IV hat_Klassenleitung_in R 1 Klasse E₂ DBIS I N:1 Beziehungstypen (analog: 1:N Beziehungstypen) • Ein 2-stelliger Beziehungstyp R zwischen den Entitätstypen E1 und E2 hat die Funktionalität 1:n, falls eine Entität aus E1 mit höchstens einer Entität aus E2, aber eine Entität aus E2 mit beliebig vielen Entitäten aus E1 über R in Beziehung stehen kann. R heißt dann n:1 – Beziehungstyp. • n:1-Funktionalität – – • Seien E1, E2 Entitätstypen und R E1 x E2 ein Beziehungstyp. Weiterhin seien x eine Entität von E1 und y und y' Entitäten von E2. R ist ein n:1 – Beziehungstyp, falls gilt: ( x, y ) R und ( x, y' ) R y = y' Beispiel (alternative grafische Notationen!) Schueler n E₁ 09.12.2013 25 © 2013/14 · Lehrstuhl für Angewandte Informatik IV gehoert_zu R 1 Klasse E₂ DBIS I N:N Beziehungstypen • Ein 2-stelliger Beziehungstyp R zwischen den Entitätstypen E1 und E2 hat die Funktionalität n:m, falls eine Entität aus E1 mit beliebig vielen Entitäten aus E2 über R in Beziehung stehen kann und umgekehrt. Es gelten also keine Einschränkungen. R heißt dann n:m Beziehungstyp. • Beispiel (alternative grafische Notationen!) Lehrkraft n E₁ 09.12.2013 26 © 2013/14 · Lehrstuhl für Angewandte Informatik IV hat_Lehrbefaehigung_in R m Fach E₂ DBIS I (min, max) – Notation • Verwendung der Kardinalität: nur die maximale Anzahl der Beziehungen mit einem Beziehungstyp ist relevant. – • Falls Anzahl größer als 1 ist, wird sie, ohne genauere Aussagen zu machen, als n oder m (d.h. beliebig viele) gesetzt. Die (min, max) – Notation erlaubt die Festlegung präziser Unter- und Obergrenzen. – – Damit auch Festlegung der minimalen Anzahl der Beziehungen Angabe eines Zahlenpaars (min, max) für jede an einem Beziehungstyp beteiligte Entität; bei unbekannten max-Wert: "*" (min₁, max₁) E₁ • E₂ Achtung: alles ist verdreht … E₁ E₁ 09.12.2013 (min₂, max₂) R 27 (min₁, max₁) X R (min₂, max₂) R © 2013/14 · Lehrstuhl für Angewandte Informatik IV Y E₂ E₂ x bzw. (min₂, max₂): Anzahl der Beziehungen eines Entities des Entity-Typs E₂ mit Entities des Entity-Typs E₁ y bzw. (min₁, max₁): Anzahl der Beziehungen eines Entities des EntitiyTyps E₁ mit Entities des Entity-Typs E₂ DBIS I Beispiel für (min, max) – Notation • Ein Fach (Wahl- oder Pflichtfach) hat 0 bis 2 Fachbetreuer. Theoretisch darf eine Lehrkraft beliebig viele Fachbetreuungen übernehmen. Lehrkraft (0;*) hat_Fachbetreuung_in (0,2) PersNr • Name Oder Lehrkraft n PersNr 09.12.2013 Fach 28 © 2013/14 · Lehrstuhl für Angewandte Informatik IV hat_Fachbetreuung_in m Fach Name DBIS I Rollen, Rekursive Beziehungstypen I Zur genaueren Charakterisierung von Entitätstypen in einem Beziehungstyp Entitätstypen spielen eine bestimmte Rolle in einem Beziehungstyp. Diese wird durch einen Rollennamen definiert. Rollennamen sind technisch in Beziehungstypen nicht notwendig, welche aus unterschiedlichen Entitätstypen bestehen Rollennamen unterstützen die Interpretation eines Beziehungstyps, wenn ein Entitätstyp mehr als einmal darin verknüpft ist Rekursive Beziehungstypen • • • • Beispiel • Entitätstyp PERSON Beziehungstyp ELTERNTEIL – KIND – – Beispiel – – Elternteil Entitätstyp EMPLOYEE Beziehungstyp SUPERVISION EMPLOYEE SUPERVISION e1 ist_Elternteil_von Person ist_Elternteil_von Person 1 e2 1 e3 e4 ohne Rollennamen Kind e6 mit Rollennamen e7 … 09.12.2013 29 © 2013/14 · Lehrstuhl für Angewandte Informatik IV s2 2 1 e5 s1 2 2 1 2 s3 s4 1 2 s5 s6 … DBIS I Rollen, Rekursive Beziehungstypen II • Asymmetrischer Beziehungstyp – • Beispiel: Ehe Symmetrischer Beziehungstyp – Beispiel: Freundschaft Buddies Married husband wife 1 2 Persons Persons Husband D1 D3 ... • 09.12.2013 Wife D2 D4 ... Sollten/können HUSBAND und WIFE durch symmetrischen Beziehungstyp SPOUSE ersetzt werden? 30 © 2013/14 · Lehrstuhl für Angewandte Informatik IV Buddy1 D1 D1 D2 D2 ... Buddy2 D2 D3 D1 D4 ... DBIS I Grad von Beziehungstypen • Der Grad beschreibt die Anzahl der Entitäten, welche an einem Beziehungstyp teilnehmen – – • Beispiel: Beziehungstyp WORKS_FOR hat Grad 2 Beispiel: Beziehungstyp SUPPLY hat Grad 3 Bezeichnungen (mehrstelliger Beziehungstyp) – – Grad 2: binärer Beziehungstyp Grad 3: tertiärer Beziehungstyp Supply Supplier r1 r2 r3 … Part p11 p22 … 09.12.2013 31 © 2013/14 · Lehrstuhl für Angewandte Informatik IV s1 s2 s3 s4 s5 s6 s7 … Project j111 j222 j333 … DBIS I Mehrstellige Beziehungstypen • Ein Beziehungstyp R ist eine Teilmenge des kartesisches Produkts der beteiligten Entitätstypen. Sind am Beziehungstyp mehr als zwei Entitätstypen beteiligt, spricht man von mehrstelligen Beziehungstypen. Für einen n-stelligen Relationship-Typ gilt: – R E1 x ... x En • Dreistellige Beziehungstypen kommen bei ER-Modellierungen häufig vor, höherstellige Beziehungen findet man dagegen selten. • Kardinalität – • Partizipität – 09.12.2013 Mit wie vielen Entities ei des Entitätstyp Ei steht das Entitäts-Tupel (e1 , ..., ei - 1 , ei + 1 , ..., en ) mit e1 E1 , ..., en En in Beziehung 32 Muss das Entitäts-Tupel (e1 , ..., ei - 1 , ei + 1 , ..., en ) mit einem ei Ei in Beziehung stehen? © 2013/14 · Lehrstuhl für Angewandte Informatik IV DBIS I Beispiele mehrstelliger Beziehungstypen • Dreistelliger Beziehungstyp R E1 x E2 x E3; Kardinalität x:y:z – – – Einem Tupel (e1 , e2 ) mit e1 aus E1 und e2 aus E2 werden höchstens z Entities e3 aus E3 zugeordnet. Einem Tupel (e1 , e3 ) mit e1 aus E1 und e3 aus E3 werden höchstens y Entities e2 aus E2 zugeordnet. Einem Tupel (e2 , e3 ) mit e2 aus E3 und e3 aus E3 werden höchstens x Entities e1 aus E1 zugeordnet. x E₁ y R Lehrkraft E₂ 1 z E₃ • n ist_Fachlehrkraft_von m Fach Beispiel – Zu einer Klasse und einem Fach kann es höchstens eine Lehrkraft geben, d.h. innerhalb einer Klasse dürfen nicht mehrere Lehrkräfte dasselbe Fach unterrichten. • – – Nicht jede Lehrkraft muss in jeder Klasse ein Fach unterrichten. Zu einer Lehrkraft und einem Fach kann es mehrere Klassen geben, d.h. eine Lehrkraft darf dasselbe Fach in unterschiedlichen Klassen unterrichten. • 33 Mindestens eine Lehrkraft muss das Fach unterrichten. Zu einer Klasse und einer Lehrkraft kann es mehrere Fächer geben, d.h. eine Lehrkraft kann eine Klasse durchaus mehr als einem Fach unterrichten. • 09.12.2013 Klasse Eine Lehrkraft muss ein bestimmtes Fach nicht unterrichten. © 2013/14 · Lehrstuhl für Angewandte Informatik IV DBIS I Bestimmen der Kardinalität eines tertiären Beziehungstyps • Halte jeweils zwei Entitäten fest und bestimme die Kardinalität der dritten Verknüpfung Supplier Part Supply Project 09.12.2013 34 © 2013/14 · Lehrstuhl für Angewandte Informatik IV DBIS I Existenzabhängigkeit • Meist sind Entitäten autonom und innerhalb ihrer Entitätenmenge über die Schlüsselattribute eindeutig identifizierbar. Ausnahme: Entitätstypen sind von einem anderen Entitätstyp abhängig. • Existenzabhängigkeit – – – • • Beispiel – – – Schulverwaltung verwaltet Räume: Schule besteht aus Gebäuden: Beziehungstyp – RAUM ist existenzabhängig, ist untergeordnet unter GEBÄUDE; GEBÄUDE ist dominant Entitätstyp RAUM (RaumNr) Entitätstyp GEBÄUDE (GebäudeNr) LIEGT_IN Weitere Bespiele – 09.12.2013 Ein Entitätstyp E1 heißt existenzabhängig von dem Entitätstyp E2 (über Beziehungstyp R), falls es einen n:1 – Relationship-Typ R mit R E1 x E2 gibt, so dass e1 ε E1 nur dann existieren kann, wenn es ein e2 ε E2 gibt, so dass (e1 , e2 ) ε R gilt, d.h. e1 über R mit e2 in Beziehung steht. E2 heißt dominant E1 heißt untergeordnet unter E2 (durch R) 35 Internet-Domänen, … © 2013/14 · Lehrstuhl für Angewandte Informatik IV DBIS I Schwache Entitätstypen I • Ein schwacher Entitätstyp hat keinen eigenen Schlüsselkandidaten – Entitäten eines schwachen Entitätstyps werden identifiziert, indem sie mit spezifischen Entitäten eines anderen Entitätstyps in Verbindung gebracht werden, wobei sie zur Identifikation einige eigene Attribute beitragen (Teilschlüssel). • • • Diskriminator – • Sei der Entitätstyp E1 dem Entitätstyp E2 untergeordnet durch R. Ein Diskriminator von E1 ist eine minimale Menge von Attributen von E1, deren Wertekombination für jedes Entity e1 aus E1 eine Unterscheidung unter den Elementen der Menge { e1 E1 | (e1, e2) R } ermöglicht. Für die Schlüsselkandidaten eines schwachen Entitätstyps gilt – – 09.12.2013 Identifizierender oder übergeordneter/besitzender Entitätstyp Identifizierender oder übergeordneter/besitzender Beziehungstyp 36 Sei der Entitätstyp E1 dem Entitätstyp E2 untergeordnet. Sei K ein Schlüsselkandidat von E2 und sei D ein Diskriminator von E1. Dann ist K D ein Schlüsselkandidat von E1. Der Primärschlüssel eines schwachen Entitätstyps E wird aus dem Primärschlüssel des zugehörigen dominanten Entitätstyps zusammen mit einem ausgewählten Diskriminator von E gebildet. © 2013/14 · Lehrstuhl für Angewandte Informatik IV DBIS I Schwache Entitätstypen II • Schwache Entitätstypen haben totale Partizipität (bzgl. identifizierenden Beziehungstyps) – • Beispiel: schwacher Entitätstyp DEPENDENT, verbunden mit EMPLOYEE – • 09.12.2013 Zwei "Angehörige" zweier unterschiedlicher Angestellten können die gleichen Attributwerte haben – sie sind aber dennoch zwei verschiedene Entitäten Schwache Entitätstypen können manchmal als komposite, mehrwertige Attribute dargestellt werden – – • Umkehrung gilt nicht Beispiel: DEPENDENT und EMPLOYEE Entwurfsfrage: wann ist welche Option die bessere? Schwache Entitätstypen treten oft stufenartig auf 37 © 2013/14 · Lehrstuhl für Angewandte Informatik IV DBIS I Beispiele schwacher Entitätstypen Diskriminator Primärschlüssel für Schwache ENT Primärschlüssel Konzept: Schwache ENT BEZ ENT name Login-Namen: name @ Logins name Internet-Domänen: 09.12.2013 38 Hosts Hosts name In2 © 2013/14 · Lehrstuhl für Angewandte Informatik IV 2ndary Domains name In1 Primary Domains DBIS I Entwurfsfragen • Wird "etwas" als Entität, Beziehungstyp oder Attribut abgebildet? – – • Lässt sich eine tertiäre Beziehung durch mehrere binäre Beziehungen ausdrücken? – • Faustregel 3: normalerweise nicht Beispiel: Archäologie – – – 09.12.2013 Faustregel 1: so einfach wie möglich Faustregel 2: zukünftige Dynamik berücksichtigen 39 Forscher (Finder) finden Fossilien, welche einer bestimmten Art angehören Fossilien erhalten immer gleich eine Identifikation (No) Manchmal ist die Art (noch) unbekannt © 2013/14 · Lehrstuhl für Angewandte Informatik IV DBIS I Lösungen 1, 2, 3 und 4 Height Weight 1 finder No Height refHeight 3 refWeight Fossils species Species Finds Fossils Finder No Weight finder_ 2 No finder refHeight species Fossils Species Height Weight refWeight Height Of No Fossils Found Weight refHeight 4 refWeight Finder finder_ 09.12.2013 40 © 2013/14 · Lehrstuhl für Angewandte Informatik IV DBIS I Diskussion • Lösung 1 – – – • Solange keine Zusatzinfo über Arten und Forscher nötig: gut geeignet Was macht man, wenn eine Gruppe von Forschern eine Fossile findet? Einfach Lösung 2 – Zusatzinfos über Arten mehrfach abgebildet Redundanz Akzeptabel, wenn sich die redundanten Daten nie ändern. Wenn aber doch … • – • Lösung 3 – – – • Gut geeignet Aufwändig Was ist die beste Lösung? – – 09.12.2013 Detailinformationen über alle beteiligten Entitäten möglich Problem, wenn Art noch nicht bestimmbar Aufwändig Lösung 4 – – • Einfach 41 Kann allgemein nicht bestimmt werden, hängt vom Kontext ab! Konkrete Bedingungen, Dynamik (Erweiterungen, Änderungen, etc.), Zugriffscharakteristiken (Anzahl Benutzer, Größe der Anfragen, etc.), etc. © 2013/14 · Lehrstuhl für Angewandte Informatik IV DBIS I Eine weitere Entwurfsfrage • • Entitäten: Project, Part, Supplier, tertiärer Beziehungstyp Supply Alternative: drei binäre Beziehungstypen • Fragen – – Sind die beiden Lösungen äquivalent? Was drücken die beiden Lösungen aus? Supplier Supplier uses Project 42 Part Part Supply 09.12.2013 delivers © 2013/14 · Lehrstuhl für Angewandte Informatik IV has Project DBIS I Einschub: Vorgehensweise beim Entwurf I 1. Festlegung der Entitäts- und Beziehungstypen 2. Angabe der Attribute, die die Entitäts- und Beziehungstypen eindeutig charakterisieren, bzw. die laut Anforderung notwendig sind 3. (evtl. Einführung einer Generalisierungs-Hierarchie) 4. Festlegung der Primärschlüssel der Entitätstypen 5. Angabe der Funktionalitäten (Kardinalität und Partizipität) 6. evtl. Festlegung der Domänen 09.12.2013 43 © 2013/14 · Lehrstuhl für Angewandte Informatik IV DBIS I Einschub: Vorgehensweise beim Entwurf II • Einstieg – • Wende einige der folgenden Regeln an – – – – – – • 09.12.2013 Modelliere ein bestimmtes Konzept als Entitätstyp, Attribut oder Beziehungstyp Ein Konzept wird zuerst als Attribut modelliert, dann als Beziehungstyp dargestellt, weil das Attribut eine Referenz zu einem anderen Entitätstyp näher beschreibt Ein Konzept muss näher beschrieben werden; es muss als eigener Entitätstyp modelliert werden Ein Konzept wird in verschiedenen Entitätstypen verwendet; daher wird es als eigener Entitätstyp modelliert Ein Konzept sollte Beziehungen eingehen; es muss als eigener Entitätstyp modelliert werden (Führe Spezialisierung / Generalisierung ein) Alle bisherigen Regeln können umgekehrt werden Der Entwurfsprozess ist iterativ! 44 © 2013/14 · Lehrstuhl für Angewandte Informatik IV DBIS I