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