2.4 Semantische Modelle
2.4.1 Semantischer Ansatz Basiselemente Semantischer Datenmodelle:
2.4.1 Der semantische Ansatz
• Entity - unterscheidbares Real World“ Objekt
”
Ebenen des Datenbankentwurfs (Wdh.):
• Property - Eigenschaft, die ein Objekt beschreibt
• konzeptionelle Ebene I logische Gesamtsicht des Anwenders auf die Daten I unabh¨ angig vom eingesetzten DBS-Typ
• Relationship - Zusammenhang zwischen Entities
Semantische Modelle unterschieden sich
• Implementierungsebene I konzeptionelle Datenstrukturen im Rahmen des eingesetzten DBS I bei relationalem DBS z.B. Tabellen • physische Ebene I konkrete Implementierung der Strukturen im Rahmen des eingesetzten DBS I betrachtete Strukturen: Datenbl¨ ocke, Zeiger, Indexstrukturen
• in der Art der unterst¨ utzten Relationships und
den Abstraktionsmechanismen f¨ ur Relationships (z.B. Abh¨angigkeit, Aggregation, Vererbung) • in der Darstellung der Basiselemente und insbesondere
der Relationships, z.B. durch I
I
Hochschule Niederrhein University of Applied Sciences
Dalitz: Datenbanksysteme Kap2.4. -1-
spezielle Diagrammsymbole und Linien (Entity-Relationship Modell) Darstellung als Funktionen (Funktionales Datenmodell)
Elektrotechnik und Informatik Faculty of Electrical Engineering and Computer Science
2.4.1 Semantischer Ansatz
Hochschule Niederrhein University of Applied Sciences
Dalitz: Datenbanksysteme Kap2.4. -3-
Elektrotechnik und Informatik Faculty of Electrical Engineering and Computer Science
2.4.1 Semantischer Ansatz Auch Relationales Modell hat diese Basiselemente: • Entity: Relation
Semantisches Modell
Hierarchisches Modell
Relationales Modell
konzeptionelle Ebene
• Property: Attribut, Primary Key Constraint
Implementierungsebene
• Relationship: Foreign Key Constraint
Objektrelato− nales Modell
Semantik ist aber unzureichend dargestellt: Schema 1
Semantisches Datenmodell
kunde kdnr# name adresse
• versucht mehr von Daten-Bedeutung (Semantik) zu erfassen modelliert auf konzeptioneller Ebene • unabh¨angig vom eingesetzten Datenbank-System kann in verschiedene DBS-Typen implementiert werden
Hochschule Niederrhein University of Applied Sciences
kd_ansp kdnr# apnr# name telefon
kunde kdnr# name adresse
kd_ansp kdnr apnr# name telefon
• Tabelle kd ansp ist abh¨angig von kunde,
¨ • bei Ubergang zu Implementierungsebene geht Information verloren ⇒ Designschritt nicht reversibel Dalitz: Datenbanksysteme Kap2.4. -2-
Schema 2
Elektrotechnik und Informatik Faculty of Electrical Engineering and Computer Science
d.h. repr¨ asentiert eigentlich eine Eigenschaft von Kunde
• Zusammenhang in Schema 1 nur implizit repr¨asentiert (Wodurch?) • diese Bedeutung ist in Schema 2 gar nicht repr¨asentiert Hochschule Niederrhein
Dalitz: Datenbanksysteme Kap2.4. -4-
University of Applied Sciences
Elektrotechnik und Informatik Faculty of Electrical Engineering and Computer Science
2.4.1 Semantischer Ansatz
2.4.2 ER Modell
Vorteile semantischer Modelle
Entity
• intuitiver verst¨andlich (auch f¨ur Nichtexperten!) • leichtere Modellierung durch gr¨oßere N¨ahe zur realen Welt“
• strong (regular) Entity
” Designer wird von Details der DBS entlastet (CASE-Tools)
eigenst¨andiges Objekt; kann unabh¨angig von anderen Objekten existieren
• grafische Notation (Diagramme) anschaulich und (wenn grob vereinfacht) pflichtenhefttauglich“ ”
• weak Entity
abh¨angiges Objekt; kann nur existieren wenn ein Objekt aus anderer Entity existiert
Nachteile semantischer Modelle • Diagramme bei gr¨oßeren Modellen nicht mehr praktikabel • Schritt zu SQL-DDL ist irreversibel ⇒ kein Reverse Engineering“ m¨ oglich ¨ ” ⇒ Anderungen an implementiertem Modell schwierig
strong Entity
• geringe Unterst¨utzung f¨ur Constraints und Tuning-Parameter • Unterscheidung Entity/Relationship oft k¨unstlich
weak Entity
⇒ direkte relationale Modellierung manchmal intuitiver Hochschule Niederrhein
Dalitz: Datenbanksysteme Kap2.4. -5-
University of Applied Sciences
Elektrotechnik und Informatik Faculty of Electrical Engineering and Computer Science
2.4.2 ER Modell
Hochschule Niederrhein University of Applied Sciences
Dalitz: Datenbanksysteme Kap2.4. -7-
Elektrotechnik und Informatik Faculty of Electrical Engineering and Computer Science
2.4.2 ER Modell Beispiel
Entity-Relationship (ER) Modell verbreitetstes semantisches Modell
Kunde
• 1976 von Chen vorgeschlagen
angestellt bei
Ansprech− partner
• beinhaltet bestimmte Diagrammnotation (ER Diagramm) • Ansprechpartner ist kein unabh¨angiges Objekt • existiert nur, wenn entsprechender Kunde auch existiert
• ist sp¨ater erweitert worden um Varianten der Vererbung (Spezialisierung, Generalisierung, Kategorien) • Einige Autoren (z.B. Elmasri, Navathe) unterscheiden zwischen der originalen Formulierung von Chen und den Erweiterungen (”extended ER“ bzw. EER”) ”
Bemerkungen: • Es ist oft nicht offensichtlich, ob eine Entity weak“ ist ” z.B. kann im Hersteller/Produkt Beispiel die Entity produkt sowohl als strong, als auch als weak aufgefasst werden (Warum?)
• Erweiterung des ER Modells auf allgemeine Softwareentwicklung (nicht nur DB-Design) in Form von OMT und UML UML (Unified Modelling Language”) benutzt aber andere ” Diagrammsymbole und Begriffe Hochschule Niederrhein
Dalitz: Datenbanksysteme Kap2.4. -6-
University of Applied Sciences
• ob weak oder strong h¨angt von logischer Sicht auf die Daten ab ⇒ Semantik der Entities wird modelliert Elektrotechnik und Informatik Faculty of Electrical Engineering and Computer Science
Hochschule Niederrhein
Dalitz: Datenbanksysteme Kap2.4. -8-
University of Applied Sciences
Elektrotechnik und Informatik Faculty of Electrical Engineering and Computer Science
2.4.2 ER Modell
2.4.2 ER Modell
Property (Attribut)
Relationship
• atomar, zusammengesetzt
• stellt Zusammenhang zwischen Entities her
Attribute werden durch Blasen dargestellt, zusammengesetzte Attribute (Strukturen) durch Zerlegung in weitere Blasen
• Darstellung durch Raute mit Linien zu beteiligten Entities • Anzahl beteiligter Entities heißt Grad der Relationship
• Schl¨ ussel
Schl¨ usselattribute werden unterstrichen
E3
• mehrwertig (mengenwertig)
mehrwertige Attribute erhalten doppelten Rand E1 Feld1
Attribut
Key
R2
E2
(Grad 3)
Feld2
Struktur
mehrw. Attribut
R1 (Grad 2)
E4
Feld3
Entity
Hochschule Niederrhein University of Applied Sciences
Dalitz: Datenbanksysteme Kap2.4. -9-
Elektrotechnik und Informatik Faculty of Electrical Engineering and Computer Science
2.4.2 ER Modell
Hochschule Niederrhein University of Applied Sciences
Dalitz: Datenbanksysteme Kap2.4. -11-
Elektrotechnik und Informatik Faculty of Electrical Engineering and Computer Science
2.4.2 ER Modell
Beispiel strasse
name
Relationship kann auch reflexiv sein, d.h. Objekte derselben Entity miteinander verkn¨ upfen:
ort
adresse Mitarbeiter
hnr
branche
Vorgesetzter von
hersteller
Relationship zwischen strong und weak Entity durch doppelten Rahmen gekennzeichnet:
Bemerkungen: • zusammengesetzte und mehrwertige Attribute sind eigentlich u ussig (siehe Diskussion zum Thema 1NF) ¨berfl¨
Kunde
• mehrwertige Attribute machen aber Semantik klarer
angestellt bei
Ansprechpartner
• bei großer Zahl Attribute sind Blasen nicht mehr darstellbar ⇒ als Spaltenvektor darstellen (vgl. UML Klassendiagramm) Hochschule Niederrhein
Dalitz: Datenbanksysteme Kap2.4. -10-
University of Applied Sciences
Elektrotechnik und Informatik Faculty of Electrical Engineering and Computer Science
Hochschule Niederrhein
Dalitz: Datenbanksysteme Kap2.4. -12-
University of Applied Sciences
Elektrotechnik und Informatik Faculty of Electrical Engineering and Computer Science
2.4.2 ER Modell
2.4.2 ER Modell
Kardinalit¨at einer Relationship
Relationships k¨ onnen auch Attribute haben
• gibt an wieviele Elemente derselben Entity an
Relationship beteiligt sein k¨onnen
Produkt
Lieferant
m
n
• durch Zahlen an Verbindungslinien angegeben
beliefert
Beispiel: Rabatt
Hersteller
1
n
stellt her
k
Produkt
Kunde • 1:n Beziehung zwischen Hersteller:Produkt
Verwischt Grenze zwischen Entity und Relationship Chen spricht von Relationship Relation“ ”
• ein Hersteller stellt mehrere (n) Produkte her • ein Produkt hat einen (1) Hersteller Hochschule Niederrhein University of Applied Sciences
Dalitz: Datenbanksysteme Kap2.4. -13-
Elektrotechnik und Informatik Faculty of Electrical Engineering and Computer Science
2.4.2 ER Modell
Hochschule Niederrhein
Faculty of Electrical Engineering and Computer Science
Komplettes Beispiel:
• 1:1 (One-to-One), 1:n (One-to-Many), nr
branche
name
Lieferant
n:m (Many-to-Many). Werte f¨ ur n,m > 0 • Wenn auch kein Element zul¨ assig, explizit Null mit
angeben, z.B. 0,1:1 oder 1:0,n n
1
stellt her
nr
strasse
n
plz
preis Rabatt
nr name
Kunde 1 name
strasse adresse plz
Lieferung
University of Applied Sciences
name
k
0,m
Hochschule Niederrhein
Produkt
beliefert
ort
ausge− liefert
m
n
adresse
Produkt
telefon
Dalitz: Datenbanksysteme Kap2.4. -14-
Elektrotechnik und Informatik
2.4.2 ER Modell
Kardinalit¨atstypen
Hersteller
University of Applied Sciences
Dalitz: Datenbanksysteme Kap2.4. -15-
nr
Ansprechpartner
Elektrotechnik und Informatik Faculty of Electrical Engineering and Computer Science
0,n
ange− stellt
ort
Hochschule Niederrhein
Dalitz: Datenbanksysteme Kap2.4. -16-
University of Applied Sciences
Elektrotechnik und Informatik Faculty of Electrical Engineering and Computer Science
2.4.3 ER → Relational
2.4.2 ER Modell Zusammenfassung ER-Notationen:
Strong Entities zusammengesetzte und mehrwertige Attribute k¨onnen schon auf der ER-Ebene nach dem Muster der Normalisierung (siehe erste Normalform) umgeformt werden
strong Entity
weak Entity
Relationship
Zuordnung strong/weak Entity
hnr
name
hnr
name ort
Attribut
partieller Schlüssel einer weak Entity
mehrwertiges Attribut
branche
E1 0,n
Schlüssel− attribut
hersteller
E2
1
R
hersteller
0,n hst− branche
adresse
Relationship mit Kardinalitäten
ort
0,m
strasse
branche
Hochschule Niederrhein University of Applied Sciences
Dalitz: Datenbanksysteme Kap2.4. -17-
Elektrotechnik und Informatik Faculty of Electrical Engineering and Computer Science
2.4.3 ER → Relational
strasse
nr name
Hochschule Niederrhein University of Applied Sciences
Dalitz: Datenbanksysteme Kap2.4. -19-
Elektrotechnik und Informatik Faculty of Electrical Engineering and Computer Science
2.4.3 ER → Relational Weak Entities (1)
Umwandlung ER in Relationales Schema
• eigene Relation • Primary Key = eigene Key Attribute + PK strong Entity ODER eigener k¨ unstlicher Schl¨ ussel (nicht empfohlen (Warum?)) wenn zusammengesetzte Keys unerw¨ unscht sind
Allgemeines Vorgehen • jede Entity wird Relation
Attribute und Primary Key (PK) werden u ¨bernommen • jede Relationship wird Relation Primary Key = alle PK’s beteiligter Entities
name nr
strasse Kunde
ort
1
Feinheiten
ange− stellt
• mehrwertige und zusammengesetzte Attribute • Behandlung von weak Entities
0,n
• nicht alle Relationships brauchen eigene Relation
Ansprechpartner
⇒ abh¨angig von Kardinalit¨at der Relationship nr
• Art der Foreign Key Constraints Hochschule Niederrhein
Dalitz: Datenbanksysteme Kap2.4. -18-
University of Applied Sciences
name
Elektrotechnik und Informatik Faculty of Electrical Engineering and Computer Science
telefon
kunde nr# name strasse ort
ansprechpartner kundenr# nr# name telefon
Hochschule Niederrhein
Dalitz: Datenbanksysteme Kap2.4. -20-
University of Applied Sciences
Elektrotechnik und Informatik Faculty of Electrical Engineering and Computer Science
2.4.3 ER → Relational
2.4.3 ER → Relational
Weak Entities (2)
One-To-Many Relationship (1) • 1:n Relationship kann wie n:m Relationship umgesetzt werden
abh¨angige Entity ist an andere strong Entity gebunden ⇒ bei Foreign Key Constraint folgende Optionen n¨otig:
• Unterschied: PK der Entity am 1-Ende“ nicht in PK der
” Relationship-Relation“ mit aufnehmen (Warum?) ”
ON DELETE CASCADE ON UPDATE CASCADE CREATE TABLE kunde ( nr INT8, name VARCHAR(30), strasse VARCHAR(30), ort VARCHAR(30), PRIMARY KEY (nr) );
CREATE TABLE ansprechpartner ( kundenr INT8 REFERENCES kunde(nr) ON DELETE CASCADE ON UPDATE CASCADE, nr INT, name VARCHAR(30), telefon VARCHAR(30), PRIMARY KEY (kundenr, nr) );
nr
name nr# name hersteller Hersteller 1 stellt her n Produkt
• on delete cascade bewirkt L¨ oschung von Ansprechpartner wenn referenzierter Kunde gel¨ oscht wird
nr# name produkt nr
• on update cascade ¨andert Fremdschl¨ ussel in Ansprechpartner mit bei Schl¨ ussel¨anderung des referenzierten Kunden Hochschule Niederrhein University of Applied Sciences
Dalitz: Datenbanksysteme Kap2.4. -21-
hersteller_produkt herstellernr produktnr#
name
Elektrotechnik und Informatik Faculty of Electrical Engineering and Computer Science
2.4.3 ER → Relational
Hochschule Niederrhein University of Applied Sciences
Dalitz: Datenbanksysteme Kap2.4. -23-
Faculty of Electrical Engineering and Computer Science
2.4.3 ER → Relational
Many-To-Many Relationship
One-To-Many Relationship (2)
• n:m Relationships werden eine eigene Relation
• Beobachtung: separate Relation hersteller produkt unn¨ otig
• Primary Key = PK’s aller beteiligten Entities
• Zusammenlegung mit produkt ergibt:
nr
Elektrotechnik und Informatik
nr# name hersteller
name
nr# name hersteller
nr# name kunde Kunde n
...
bezieht
hersteller_produkt herstellernr produktnr#
kunde_produkt kundenr# produktnr# ...
m nr# name produkt
• weniger Relationen • klarere Semantik: Hersteller Eigenschaft von Produkt • Aber: wenn oft kein Hersteller bekannt, vermeidet linke L¨osung NULL-Werte in Foreign Key Feld
name
• Foreign Key Constraints mit on update cascade Option Hochschule Niederrhein
Dalitz: Datenbanksysteme Kap2.4. -22-
nr# name herstellernr produkt
Vorteile:
Produkt nr
nr# name produkt
University of Applied Sciences
Elektrotechnik und Informatik Faculty of Electrical Engineering and Computer Science
Hochschule Niederrhein
Dalitz: Datenbanksysteme Kap2.4. -24-
University of Applied Sciences
Elektrotechnik und Informatik Faculty of Electrical Engineering and Computer Science
2.4.3 ER → Relational
2.4.3 ER → Relational
One-To-One Relationship
Zusammenfassung
• auch bei 1:1 Relationship keine eigene Relation n¨ otig • PK einer Entity als Foreign Key in andere Entity aufnehmen nr
name Personal 1
ER Modell Entity
Relation
nr# name personal
einfaches Attribut zusammengesetztes Attribut
Attribut mehrere Attribute
nr# name chefnr abteilung
Schl¨ usselattribut
Primary Key
mehrwertiges Attribut
Relation mit Fremdschl¨ ussel
1:1 oder 1:N Relationship
Fremdschl¨ ussel in Relation auf Seite der h¨ oheren Kardinalit¨at (Alternative: separate Relation)
N:M Relationship
Relation mit zwei Fremdschl¨ usseln
Relationship n-ten Grades
Relation mit n Fremdschl¨ usseln
Chef von 0,1
nr# name chefvon personal
Abteilung nr
nr# name abteilung
name
• obere L¨ osung ist besser (Warum?) • Regel: erweitere Tabelle am 0-Ende“
”
Hochschule Niederrhein University of Applied Sciences
Dalitz: Datenbanksysteme Kap2.4. -25-
Elektrotechnik und Informatik Faculty of Electrical Engineering and Computer Science
2.4.3 ER → Relational
Hochschule Niederrhein
Dalitz: Datenbanksysteme Kap2.4. -27-
a
vollst¨andig
• PK beteiligter Relationen als Foreign Keys
b
minimal bzw. redundanzfrei
• PK = PK’s beteiligter Relationen mit Kardinalit¨ at > 1
c
einfach und verst¨andlich
lieferant
beliefert
• Namenskonventionen belieferung lfnr# pdnr# kdnr# rabatt
Rabatt
• Mehrwert (?) von ER versus Relational
kunde
Hochschule Niederrhein
Dalitz: Datenbanksysteme Kap2.4. -26-
• Auswahl des Elements (Entity, Attribut, Relationship) • allgemeines Vorgehen (Top-Down, Bottom-Up)
k Kunde
Faculty of Electrical Engineering and Computer Science
Damit zusammenh¨angende Aspekte
produkt
m
n
Elektrotechnik und Informatik
Anforderungen an Datenmodell
• eigene Relation
Produkt
University of Applied Sciences
2.4.4 Entwurfsfragen
Relationship h¨oheren Grades
Lieferant
Relationales Modell
University of Applied Sciences
Elektrotechnik und Informatik Faculty of Electrical Engineering and Computer Science
Hochschule Niederrhein
Dalitz: Datenbanksysteme Kap2.4. -28-
University of Applied Sciences
Elektrotechnik und Informatik Faculty of Electrical Engineering and Computer Science
2.4.4 Entwurfsfragen
2.4.4 Entwurfsfragen
Namenskonvention
Wahl des Basiselements
• Namen von Objekten des Modells sollen Bedeutung
Oft gibt es mehrere M¨ oglichkeiten, einen Sachverhalt zu repr¨asentieren
entsprechen ⇒ leichter verst¨andlich • Konventionen erleichtern Verwendung
(leichter merkbar, Fremdschl¨ ussel erkennbar)
a
Attribut versus Entity und Relationship
b
Relationship versus Entity
Alternative a) ist echte Designfrage mit Auswirkungen auf Dateneingabe und Datenkonsistenz.
Beipielkonventionen (1) • Enit¨ aten konsistent im Singular oder Plural.
Alternative b) ist k¨ unstliches Problem im ER Modell
Beides sinnvoll: select * from kunden; select kunde.nr,kunde.name from kunde ...;
u ¨bliche Konvention: Singular • Name von Key und Bedeutung einheitlich, z.B. nr und name Hochschule Niederrhein University of Applied Sciences
Dalitz: Datenbanksysteme Kap2.4. -29-
• im Relationalen Modell kein Unterschied • ER Modell unterst¨ utzt Foreign Keys nur implizit durch Relationships und weak Entities • neuere Modelle und CASE-Tools erweitern ER um relationale Konzepte ⇒ Unterscheidung Entity/Relationship aufgehoben
Elektrotechnik und Informatik Faculty of Electrical Engineering and Computer Science
2.4.4 Entwurfsfragen
Hochschule Niederrhein University of Applied Sciences
Dalitz: Datenbanksysteme Kap2.4. -31-
Faculty of Electrical Engineering and Computer Science
2.4.4 Entwurfsfragen
Beispielkonventionen (2)
Attribut versus Entity + Relationship (1)
• Name Fremdschl¨ usselattribut = referenzierte Tabelle + PK
Betrachte Eigenschaft Branche“ eines Herstellers ” L¨osung 1:
hersteller nr# name branchenr
Elektrotechnik und Informatik
branche nr# name
name nr
branche hersteller
hersteller nr# name
hst_branche hstnr# branche#
• Name Relationship-Relation zusammengesetzt aus Namen der ER Modell
beteiligten Entities; ebenso bei weak Entities Branche n m Anspr.
n
1
Kunde
branche
• Branche als mehrwertiges Attribut modelliert
branche_kunde
• freie Text-Eingabe f¨ ur Branche m¨ oglich
⇒ leichte Eingabe (keine Referenzdatenpflege) ⇒ Auswertung u ¨ber Branche schwierig (z.B. Tippfehler)
kunde kunde_ansp
• Branchen nicht separat pflegbar sondern abh¨ angig von Hersteller
Hochschule Niederrhein
Dalitz: Datenbanksysteme Kap2.4. -30-
Relationales Modell
University of Applied Sciences
Elektrotechnik und Informatik Faculty of Electrical Engineering and Computer Science
Hochschule Niederrhein
Dalitz: Datenbanksysteme Kap2.4. -32-
University of Applied Sciences
Elektrotechnik und Informatik Faculty of Electrical Engineering and Computer Science
2.4.4 Entwurfsfragen
2.4.4 Entwurfsfragen
Attribut versus Entity + Relationship (2)
Entity versus Relationship (1)
L¨ osung 2:
Betrachte Modellierung eines Schachturniers nr
hersteller
Relationa− les Modell
nr#
name
hersteller
spieler nr# name elozahl
herstellernr# branchenr# hst_branche
nr name
• Relationales Modell ist offensichtlich
name
ER Modell
branche
nr#
name
partie runde# weissnr# schwarznr# ergebnis
branche
• ER Modell ist weniger offensichtlich • Branche als eigene, Hersteller-unabh¨ angige Entity modelliert
I
• keine freie Eingabe m¨ oglich, sondern Auswahlliste
I
⇒ Pflege separater Referenztabelle branche n¨otig ⇒ Auswertungen u ussel m¨oglich ¨ber Branchenschl¨ Hochschule Niederrhein University of Applied Sciences
Dalitz: Datenbanksysteme Kap2.4. -33-
Ursache: Foreign Keys kennt das ER Modell nicht tauchen nur implizit auf bei Relationship oder weak Entity ⇒ zwei Modellierungsalternativen
Elektrotechnik und Informatik Faculty of Electrical Engineering and Computer Science
2.4.4 Entwurfsfragen
Hochschule Niederrhein University of Applied Sciences
Dalitz: Datenbanksysteme Kap2.4. -35-
Elektrotechnik und Informatik Faculty of Electrical Engineering and Computer Science
2.4.4 Entwurfsfragen
Attribut versus Entity + Relationship (3)
Entity versus Relationship (2)
Alternative besteht nicht nur bei mehrwertigen Attributen, sondern bei allen Attributen
L¨osung 1: nr
n
• Verwende Referenztabelle, wenn Attributwerte nicht beliebig
sind, sondern aus (konfigurierbarer!) Werteliste kommen sollen • Unterschied zu Domain-Constraint (Check-Constraint):
name elozahl
runde trifft auf
Spieler m
ergebnis
Werteliste ¨anderbar ohne Schema¨anderung klausel art Versicherung nr
zahlweise
zahlweise kann über Constraint modelliert werden: Werte 1,2,4,6,12 sind fest Werte tragen Bedeutung für Berechnungen
Hochschule Niederrhein
Dalitz: Datenbanksysteme Kap2.4. -34-
• Partien modelliert als Relationship zwischen zwei Spielern • Probleme: I selbe Begegnung mehrmals m¨ oglich (gel¨ ost u ussel runde) ¨ber zus¨atzlichen Teilschl¨ I Wer hat Weiß, wer Schwarz? (w¨are allerdings bei anderer Sportart egal) I Eigentlich interessierendes Objekt Partie“ taucht gar nicht auf! ”
art und klausel müssen über Referenztabelle modelliert werden
University of Applied Sciences
Elektrotechnik und Informatik Faculty of Electrical Engineering and Computer Science
Hochschule Niederrhein
Dalitz: Datenbanksysteme Kap2.4. -36-
University of Applied Sciences
Elektrotechnik und Informatik Faculty of Electrical Engineering and Computer Science
2.4.4 Entwurfsfragen
2.4.4 Entwurfsfragen
Entity versus Relationship (3)
allgemeines Vorgehen
L¨ osung 2:
• Top-Down weiß
nr name
n
1 Spieler
elozahl
Partie 1
I
starte mit grobem Entwurf, der zunehmend verfeinert wird (z.B. durch Einf¨ uhrung von Referenztabellen)
I
Erleichtert Verst¨andnis des Systems, da zun¨achst aus der Vogelperspektive“ modelliert wird ”
runde
ergebnis
n schwarz
• Bottom-Up • Partien modelliert als weak Entity, die von
zwei strong Entities abh¨angt (⇒ FK’s gehen in PK ein) • trotz dieses kuriosen Konstrukts angemessener: I Information weiss/schwarz“ dargestellt ” I Partie“ als Hauptgegenstand der Anforderung taucht explizit auf ” Hochschule Niederrhein University of Applied Sciences
Dalitz: Datenbanksysteme Kap2.4. -37-
arbeite Details aus und f¨ uge sie zu Gesamtsystem zusammen
I
Gesamtverst¨andnis des Systems ist so schwerer zu gewinnen, Gefahr des Verlierens im Detail wegen K¨aferperspektive“ ”
Elektrotechnik und Informatik Faculty of Electrical Engineering and Computer Science
2.4.4 Entwurfsfragen
Hochschule Niederrhein University of Applied Sciences
Dalitz: Datenbanksysteme Kap2.4. -39-
Elektrotechnik und Informatik Faculty of Electrical Engineering and Computer Science
2.4.4 Entwurfsfragen
Entity versus Relationship (4)
In Praxis liefert Anforderungsanalyse meist vor allem Detailwissen ⇒ zun¨achst Bottom-Up Analyse n¨ otig vor Top-Down Design
Interessanterweise f¨ uhren beide ER-L¨osungen zu demselben Relationalen Modell spieler nr# name elozahl
I
Gesamt− überblick
partie runde# spieler1nr# spieler2nr# ergebnis
Top−Down Design
Bottom−Up Analyse
Folgerungen: ¨ • Ubergang ER → Relational ist irreversibel: aus Relationalen Schema l¨asst sich nicht mehr rekonstruieren, aus welchem ER Schema es erzeugt wurde
Datenmodell
Anforderungs− analyse
• Semantik von L¨ osung 1 (beide Spieler gleichwertig)
Abgleich Ergebnis
geht im Relationalen Modell verloren Hochschule Niederrhein
Dalitz: Datenbanksysteme Kap2.4. -38-
University of Applied Sciences
Elektrotechnik und Informatik Faculty of Electrical Engineering and Computer Science
Hochschule Niederrhein
Dalitz: Datenbanksysteme Kap2.4. -40-
University of Applied Sciences
Elektrotechnik und Informatik Faculty of Electrical Engineering and Computer Science
2.4.4 Entwurfsfragen
2.4.5 Vererbung
M¨ ogliches Top-Down Vorgehen:
Beispiel Fahrzeug
• Modellieren der wesentlichen Entities und Relationships
¨ (zwecks besseren Uberblicks noch keine Attribute) is−a • Erg¨ anzen der Schl¨ usselattribute
PKW
• Modellieren aller Entity-Eigenschaften als (ggf. mehrwertige)
LKW
Motorrad
Attribute • ein Objekt der Entity PKW geh¨ ort auch zur Entity Fahrzeug
• wo Auswahlliste f¨ ur Attributwerte gew¨ unscht, Attribute
• ein Objekt der Entity Fahrzeug kann zugleich zu einer oder
durch Relationships mit Referenztabellen ersetzen
(nicht hier, aber im allg.) auch zu mehreren Subklassen geh¨ oren • wenn ein Attribut von mehreren Entities verwendet wird,
• da IS-A Relationship sich auf genau ein Objekt bezieht, ist es
ebenfalls durch Referenzen auf neue Entity ersetzen (Warum?)
immer eine 1:1 Beziehung ⇒ Kardinalit¨atsangabe unn¨ otig • Subklassen k¨ onnen weitere spezifische Attribute haben
Hochschule Niederrhein University of Applied Sciences
Dalitz: Datenbanksysteme Kap2.4. -41-
Elektrotechnik und Informatik Faculty of Electrical Engineering and Computer Science
2.4.5 Vererbung
Hochschule Niederrhein
Dalitz: Datenbanksysteme Kap2.4. -43-
Elektrotechnik und Informatik Faculty of Electrical Engineering and Computer Science
2.4.5 Vererbung
Oft enth¨alt Entity A Objekte mit speziellen Eigenschaften, die nicht f¨ ur alle Objekte aus A relevant sind. ⇒ definiere special-case Entity B f¨ ur diese Objekte
Vergleich mit Vererbung in C++ ¨ • Ubereinstimmung
• B heißt Subklasse der Superklasse A
I
abgeleitete Klasse erbt alle Eigenschaften der Oberklasse, d.h. Subklasse = Superklasse + spezielle Eigenschaften
I
Objekt der Subklasse kann als Objekt der Superklasse behandelt werden
• Superklasse wird auch Generalisierung genannt,
Subklasse auch Spezialisierung • zwischen B und A besteht IS-A“ Relationship.
” grafische Darstellung dieser Relationship durch Dreieck
• Unterschied
• im allgemeinen mehrere Subklassen zu einer Superklasse
B A
University of Applied Sciences
I
in C++ hat Objekt einen bestimmten Datentyp, d.h. geh¨ort zu genau einer Klasse
I
im ER Modell kann ein Objekt zu einer ganzen Hierarchie von Entites geh¨oren
I
allerdings: in C++ Typumwandlung m¨oglich mittels dynamic cast
is−a C Hochschule Niederrhein
Dalitz: Datenbanksysteme Kap2.4. -42-
University of Applied Sciences
Elektrotechnik und Informatik Faculty of Electrical Engineering and Computer Science
Hochschule Niederrhein
Dalitz: Datenbanksysteme Kap2.4. -44-
University of Applied Sciences
Elektrotechnik und Informatik Faculty of Electrical Engineering and Computer Science
2.4.5 Vererbung
2.4.5 Vererbung
Spezialisierung einer Superklasse in mehrere Subklassen hat zwei verschiedene Eigenschaften:
Umwandlung in Relationales Modell Betrachte Spezialisierung der Superklasse A(k, a1 , . . . , an ) (k ist der Schl¨ ussel von A) mit m Subklassen B1 , . . . , Bm
• disjunkt oder u ¨berlappend kann ein Element der Superklasse in h¨ochstens einer Subklasse sein, ist die Spezialisierung disjunkt
a1
• total oder partiell muss ein Element der Superklasse in mindestens einer Subklasse sein, ist die Spezialisierung total
...
k
an
A
Da beide Eignschaften voneinander unabh¨angig sind, ergeben sich vier verschiedene Kombinationen
B1
Bm
...
Es gibt vier verschiedene Umwandlungsoptionen Hochschule Niederrhein University of Applied Sciences
Dalitz: Datenbanksysteme Kap2.4. -45-
Elektrotechnik und Informatik Faculty of Electrical Engineering and Computer Science
2.4.5 Vererbung
Elektrotechnik und Informatik
Hochschule Niederrhein University of Applied Sciences
Dalitz: Datenbanksysteme Kap2.4. -47-
Faculty of Electrical Engineering and Computer Science
2.4.5 Vererbung Option 1: Fahrzeug
Mensch disjunkt total
Erstelle f¨ ur A die Relation A(k#, a1 , . . . , an ) und f¨ ur jede Subklasse Bi eine Relation mit den Attributen {k#} ∪ {Attribute von Bi }.
disjunkt partiell
k#
Mann
Frau
PKW
a1
...
an
A
LKW B1 k#
Gitarre
b11
... b1k1
Bm
...
Lebewesen überlappend total
überlappend partiell
k# bm1
... bmkm
• erzeugt viele Relationen • geeignet f¨ ur disjunkt und u ¨berlappend
akustisch
elektrisch
Tier
Mensch
Hochschule Niederrhein
Dalitz: Datenbanksysteme Kap2.4. -46-
University of Applied Sciences
• geeignet f¨ ur total und partiell
Elektrotechnik und Informatik Faculty of Electrical Engineering and Computer Science
Hochschule Niederrhein
Dalitz: Datenbanksysteme Kap2.4. -48-
University of Applied Sciences
Elektrotechnik und Informatik Faculty of Electrical Engineering and Computer Science
2.4.5 Vererbung
2.4.5 Vererbung
Option 2:
Option 4:
Erstelle f¨ ur jede Subklasse Bi eine Relation mit den Attributen {k#, a1 , . . . , an } ∪ {Attribute von Bi }.
Erstelle eine Relation A mit den Attributen von A, den Attributen aller Subklassen und m boolschen Attributen t1 , . . . , tm , die Flags f¨ ur Subklassenzugeh¨ origkeiten sind.
a1
an
...
b11
... b1k1
B1
A k# a1
...
k#
k#
...
a1
an
bm1
... bmkm
Hochschule Niederrhein University of Applied Sciences
Elektrotechnik und Informatik Faculty of Electrical Engineering and Computer Science
2.4.5 Vererbung Option 3: Erstelle eine Relation A mit den Attributen von A, den Attributen aller Subklassen und einem Typ-Attribut t, das die Subklassenzugeh¨origkeit angibt. an
t
b11
... b1k1
...
bm1
... bmkm
A
Typ−Attribut
• erzeugt nur eine einzige Relation • nur geeignet f¨ ur disjunkte Spezialisierung (Warum?) • erzeugt ggf. zahlreiche Nullwerte (Welche?)
Hochschule Niederrhein
Dalitz: Datenbanksysteme Kap2.4. -50-
...
bm1
... bmkm
• wie bei Option 3 ggf. zahlreiche Nullwerte
nicht total ⇒ Objekte nicht in Subklasse nicht speicherbar nicht disjunkt ⇒ Redundanz durch Mehrfachspeicherung
...
... t m b11 ... b1k1
• geeignet f¨ ur u ¨berlappende Spezialisierung
• nur geeignet f¨ ur disjunkte und totale Spezialisierung:
a1
t1
• erzeugt nur eine einzige Relation
• erzeugt eine Relation weniger (die Superklasse)
k#
an
Flags für Subklassenzugehörigkeit
Bm
Dalitz: Datenbanksysteme Kap2.4. -49-
...
University of Applied Sciences
Elektrotechnik und Informatik Faculty of Electrical Engineering and Computer Science
Hochschule Niederrhein
Dalitz: Datenbanksysteme Kap2.4. -51-
University of Applied Sciences
Elektrotechnik und Informatik Faculty of Electrical Engineering and Computer Science