DB8-Das RDM

Werbung
!
%
#
$
#
$
"
#
$
3. Das Relationale Datenmodell
1.
2.
3.
4.
5.
6.
7.
8.
Datenstruktur und Integritätsbedingungen
Abbildung zwischen ERM und RDM
Implementierung in SQL
Anomalien und Normalformen des RDM
Relationenalgebra und Abfragen
Modellexterne Integritätsbedingungen, Trigger und Checks
Entwurfskonzepte für relationale Datenbanken
ODBC
Elemente der Datenmodelle
ERM:
RDM
• Entitätstypen,
• Beziehungstypen,
• Attribut-Wertebemengen,
•
•
•
•
• Spezialisierungen.
Relationen (Tupelmengen)
Schlüssel
Integritätsbedingungen
Attribut-Wertemengen
R(Attr1, Attr2,..,AttrN)
Integritätsbedingung 1
…
IntegritätsbedingungN
(c)schmiedecke 06
DB-8 - RDM
Die wichtigsten Begriffe des RDM
Datenbankschema - Menge von Relationenschemata
Relationenschema - Objekttyp im UoD, Relation (+ evtl. Integritätsbedingungen)
R(Attr1, Attr2,..,AttrN)
Integritätsbedingung 1
…
Integritätsbedingung N
Attribut
- Objekteigenschaft (mit Wertebereich)
Relation
- Teilmenge des kart. Produkts der Attribut-Wertebereiche,
R(Attr1, Attr2,…,AttrN) ⊂ W(Attr1)xW(Attr2)x…xW(AttrN)
- grundlegende Datenstruktur des RDM (Tabelle)
Tupel
Rel.-Schema
Attr1
Attr2
…
AttrN
Tupel
W11
W12
…
W1N
W21
W22
…
W2N
- Tabellenzeile
- Objekt des Objekttyps
Integritätsbedingg.Beschreibung der zulässigen
Tupel einer Relation
(c)schmiedecke 06
DB-8 - RDM
Relation
Eigenschaften von Relationen
-
zweidimensionale Tabelle
Beschränkung auf “atomare” Attributwerte
Eindeutigkeit der Tupel, Variabilität der Tupelposition
Eindeutigkeit des Attributnamens, Variabilität der
Attributposition
- Information für den Benutzer ausschließlich durch Werte
ausgedrückt
- Darstellung relationenübergreifender Information durch
Fremdschlüssel
- Normalformenlehre (NFL) für den Aufbau von
Relationenschemata
(c)schmiedecke 06
DB-8 - RDM
Schlüssel
• Tupel besitzen eindeutige Identität
• Schlüssel:
– identifizierende Attributmenge
– im Extremfall alle Attribute
• Primärschlüssel
– minimale identifizierende Attributmenge
– ggf. Auswahl unter Schlüsselkandidaten
• Fremdschlüssel
– Attributmenge, die Primärschlüssel einer (referenzierten) Relation ist
– stellt Beziehung zu jeweils einem Tupel her
– kann auch Teil des Primärschlüssels der referenzierenden Relation sein
Hinweis: Oft werden Surrogatschlüssel, d.h.künstliche Primärschlüssel (IDs)
gebildet, weil die natürlichen Primärschlüssel zu komplex sind,
d.h. aus zu
(c)schmiedecke
06 vielen Attributen bestehen.
DB-8 - RDM
Integritätsbedingungen
• Modellinhärente (allgemeine) Integritätsbedingungen:
– Primärschlüsselbedingung (Relationen-Integrität)
Die Werte der Primärschlüsssel sind eindeutig und nicht "null".
– Fremdschlüsselbedingung (Referentielle Integrität)
Zu jedem Wert eines Fremdschlüssels muss ein
Primärschlüssel-Wert in der referenzierten Relation existieren.
• Schemaspezifische (oder anwendungsspezifische)
Integritätsbedingungen
– beliebige, durch das UoD bedingte Integritätsbedingungen
z.B. Existenzabhängigkeit, Wertemengenbegrenzung
– implementierungspezifische Integritätsbedingungen
z.B. Zeitstempelattribut für jedes Tupel,
max. Relationengröße vor Archivierung
(c)schmiedecke 06
DB-8 - RDM
Abbildung des ERM auf das RDM
•
Primäres Transformationsziel:
•
Weitere Ziele
•
Formale Transformationsregeln
•
Faustregeln
– Gleichwertigkeit
– d.h. Erhaltung der Informationskapazität:
im relationalen Datenbankschema sollen genauso viel Daten zulässig sein wie im
ERM
– Entscheidend ist die Abbildung der Beziehungen und anwendungsspezifischen
Integritätsbedingungen
–
–
–
–
minimale Redundanz
minimale Anzahl von Relationen
minimaler Verlust an Semantik
Natürlichkeit/Verständlichkeit des resultierenden Schemas
– geeignet für die automatische Transformation
– minimale Redundanz angestrebt
– Ergebnis oft unübersichtlich, schwer durchschaubar
– erfordern Sachkenntnis des Übersetzers
– flexible Lösungen zugunsten der Lesbarkeit
– minimale Relationenzahl angestrebt
(c)schmiedecke 06
DB-8 - RDM
Formale Transformationsregeln
• jeder Entitytyp wird auf eine Relation abgebildet
• jeder Beziehungstyp wird auf eine Relation abgebildet
• jedes mehrwertige Attribut wird auf eine Relation
abgebildet
• jede Spezialisierung wird auf eine Relation abgebildet
• (die Regel-Details werden hier weggelassen)
• Danach werden nach festen Regeln Tabellen wieder
zusammengefasst.
(c)schmiedecke 06
geht immer, führt aber
über eine "Tabellenflut" zu
nicht gut
nachvollziehbaren
Strukturen
DB-8 - RDM
Beispielmodell
Konzeptuelles
Schema:
1,*
Fachbereich
0,*
1,1
Gehört zu
Ist Dekan
Ist eingeschrieben
0,1
1,1
Dozent
(c)schmiedecke 06
1,1
0,*
Prüfung
DB-8 - RDM
0,*
Student
Intuitive Transformation
• Fachbereich(FB, FBBez, Dekan)
• Dozent(DozID, Name, Kontakt, FB)
• Student(Matr, Name, Beginn, Kontakt, FB)
• Prüfung(DozID, Matr, Fach, Datum, Note)
Legende: Primärschlüssel, Fremdschlüssel
(c)schmiedecke 06
DB-8 - RDM
Faustregeln
1.
2.
3.
Zunächst werden die Primärschlüssel der
Entitätstypen bestimmt.
Jeder Entitätstyp wird auf eine Relation
abgebildet
Skalare Attribute werden unmittelbar
übernommen
(c)schmiedecke 06
DB-8 - RDM
Faustregeln
4.
Für jedes mehrwertige Attribut A einer Relation R wird eine
Relation angelegt, die den Primärschlüssel von R und das
Attribut A enthält (sowie einen Diskriminator zur Bildung eines
Primärschlüssels)
Telefon
Matr.
Kontakt
Student
Matr
TelPos
Kontakt
272727
1
03055446677
272727
2
[email protected]
292929
1
040666666
PS aus Student
(c)schmiedecke 06
DB-8 - RDMPS
Diskriminator
Faustregeln
5.
1:1-Beziehungstypen werden auf Fremdschlüssel in einer der beteiligten
Relationen abgebildet.
Optimierung: FS ggf. bei der existenzabhängigen Relation anlegen – ermöglicht NOT
NULL-Bedingung und spart Speicherplatz
Alternative: Verschmelzung zu einer Relation
widerspricht aber der 3.Normalform
6.
1:N-Beziehungstypen werden auf Fremdschlüssel in der "Kind"-Relation
abgebildet.
7.
M:N-Beziehungstypen werden auf eine Relation abgebildet, deren
Primärschlüssel aus den Primärschlüsseln der beteiligten Relationen besteht.
Attribute des Beziehungstyps werden dieser Relation zugeordnet.
DozID.
Dozent
M
Prüfung
N
Matr.
Fach
Note
Matr
DozID
Fach
Note
272727
1
27
1.3
272727
2
14
2.7
292929
1
27
3.0
Student
(c)schmiedecke 06
DB-8 - RDM
Faustregeln
8.
Ternäre (und höhere) Beziehungtypen werden auf eine
Relation abgebildet, deren Primärschlüssel aus den
Primärschlüsseln der beteiligten Relationen besteht. Attribute
des Beziehungstyps werden dieser Relation zugeordnet.
DozID.
Dozent
Note
FachID
M
Prüfung
Fach
N
Matr.
Student
(c)schmiedecke 06
DB-8 - RDM
Matr
DozID
FachID
Note
272727
1
27
1.3
272727
2
14
2.7
292929
1
27
3.0
Faustregeln
9.
Rekursive Relationshiptypen vom Typ 1:1 oder 1:N werden als FS in dieselbe
Relation abgebildet, sonst eigene Relation wie bei M:N
Alternative: immer Abbildung auf eine Relation wie bei M:N
10.
Für Spezialisierungen werden Relationen für den Supertyp und alle Subtypen
angelegt, die alle denselben PS haben. Gemeinsame Attribute werden bein
Supertyp angelegt, spezielle bei den Subtypen. Der Supertyp erhält zusätzlich
ein diskriminierendes Attribut (Typkennzeichen) – bei nicht disjunkter Zerlegung
mehrere.
Student
Matr.
Student
DirektStudent
(c)schmiedecke 06
AufbauStudent
DirektStudent
DB-8 - RDM
Matr
Typ
Name
272727
D
Stefan
282828
A
Karsten
292929
A
Hanna
Matr
Abi
Praktikum
272727
2000
Stefan
(c)schmiedecke 06
DB-8 - RDM
Herunterladen