Kapitel 4 - Relationale Modellierung

Download Report

Transcript Kapitel 4 - Relationale Modellierung

Kapitel 4
Dr. Brigitte Mathiak
Grundlagen
des relationalen Datenmodells

Lernziele
Grundbegriffe des Relationenmodells
Relationale Invarianten, insbesondere Vorkehrungen
zur Wahrung der referentiellen Integrität
Abbildung von UML-Diagrammen in Relationenschema
Datenbanken, SS 12
Kapitel 4: Grundlagen des Relationalen Modells
2
Basisdefinitionen
Seien D1, D2, ..., Dn Domänen (~ Wertebereiche oder Typen)
Relation: R  D1 x ... x Dn
Beispiel: Telefonbuch  string x string x integer
Tupel: t  R
Beispiel: t = („Mickey Mouse“, „Main Street“, 4711)
Schema: legt die Struktur der gespeicherten Daten fest
Beispiel:
Telefonbuch: {[Name: string, Adresse: string, Telefon#:integer]}
Darstellungsmöglichkeit für R: n-spaltige Tabelle
(Grad der Relation: n)
Datenbanken, SS 12
Kapitel 4: Grundlagen des Relationalen Modells
3
Telefonbuch
Name
Straße
Mickey Mouse
Main Street
Minnie Mouse
Broadway
Donald Duck
Broadway
Telefon#
4711
94725
95672
Telefonbuch: {[Name: string, Adresse: string, Telefon#:integer]}
Ausprägung: der aktuelle Zustand der Datenbasis
Kardinalität: Anzahl der Sätze (Tupel) in der Datenbasis
Schlüssel: minimale Menge von Attributen,
deren Werte ein Tupel eindeutig identifizieren
Primärschlüssel: wird unterstrichen
Einer der Schlüsselkandidaten wird als
Primärschlüssel ausgewählt
Hat eine besondere Bedeutung
bei der Referenzierung von Tupeln
Datenbanken, SS 12
Kapitel 4: Grundlagen des Relationalen Modells
4
RM: Grundregeln
• Jede Zeile (Tupel) ist eindeutig
und beschreibt ein Objekt (Entity) der Miniwelt
• Die Ordnung der Zeilen ist ohne Bedeutung
• Die Ordnung der Spalten ist ohne Bedeutung,
da sie eindeutigen Namen (Attributnamen) tragen
• Jeder Datenwert innerhalb einer Relation
ist ein atomares Datenelement
• Alle für Benutzer relevanten Informationen
sind ausschließlich durch Datenwerte ausgedrückt
Telefonbuch
Name
Straße
Mickey Mouse
Main Street
Minnie Mouse
Broadway
Datenbanken, SS 12
Kapitel 4: Grundlagen des Relationalen Modells
Telefon#
4711
94725
5
Telefonbuch
Name
Straße
Mickey Mouse
Main Street
Minnie Mouse
Broadway
Donald Duck
Broadway
Telefon#
4711
94725
95672
Was passiert wenn jemand mehr
als eine Telefonnummer hat?
(1 min; jeder für sich mit Zettel und Stift)
Datenbanken, SS 12
Kapitel 4: Grundlagen des Relationalen Modells
6
Telefonbuch
Name
Straße
Mickey Mouse
Main Street
Minnie Mouse
Broadway
Donald Duck
Broadway
Telefon#
4711
94725
95672
Was passiert wenn unter einer
Telefonnummer mehr als eine
Person lebt?
(1 min; jeder für sich mit Zettel und Stift)
Datenbanken, SS 12
Kapitel 4: Grundlagen des Relationalen Modells
7
RM: Fremdschlüssel
Der Fremdschlüssel zeigt auf den Primärschlüssel einer anderen
Relation.
Telefonbuch
->Personal.PersNr
Telefon#
00025
00028
Name
Mickey Mouse
Minnie Mouse
Donald Duck
Datenbanken, SS 12
4711
94725
Personal
Straße
Main Street
Broadway
Broadway
Kapitel 4: Grundlagen des Relationalen Modells
PersNr
00025
00028
00030
8
Abbildung UML - RM
Klasse 1
Kriterien
Assoziation
a..b
c..d
Relation 1
 Informationserhaltung
 Minimierung der Redundanz
 Minimierung des Verknüpfungsaufwandes
Klasse 2
Relation 2
aber auch:
 Natürlichkeit der Abbildung
 keine Vermischung von Objekten
 Verständlichkeit
Allgemeine Regeln:
 Jede Klasse muss als eigenständige Relation (Tabelle) mit einem
eindeutigen Primärschlüssel definiert werden.
 Assoziationen können als eigene Relationen definiert werden,
wobei die Primärschlüssel der zugehörigen Klassen
als Fremdschlüssel zu verwenden sind.
Wichtig -> Nur Referenzen auf existierende Schlüssel
Datenbanken, SS 12
Kapitel 4: Grundlagen des Relationalen Modells
9
Assoziationen N:1
Professoren
lesen
1
PersNr
Name
Rang
Raum
*
Vorlesungen
VorlNr
Titel
SWS
1. Verwendung von drei Relationen
Professoren ( PersNr, Name, Rang, Raum )
Vorlesungen ( VorlNr, Titel, SWS )
lesen ( VorlNr, ->Professoren.PersNr )
2. Besser: Verwendung von zwei Relationen
Professoren ( PersNr, Name, Rang, Raum )
Vorlesungen ( VorlNr, Titel, SWS, gelesenVon ->
Professoren.PersNr )
Regel:
Bei n:1 Assoziationen können Relationen mit gleichem Schlüssel
zusammengefasst werden - aber nur diese und keine anderen!
Datenbanken, SS 12
Kapitel 4: Grundlagen des Relationalen Modells
10
Ausprägung von Professoren und Vorlesungen
PersNr
2125
2126
2127
2133
2134
2136
2137
Vorlesungen
VorlNr
Titel
SWS Gelesen
Professoren
Von
Name
Rang Raum
5001
Grundzüge
4
2137
Sokrates
C4 226
5041
Ethik
4
2125
Russel
C4 232
5043 Erkenntnistheorie
3
2126
Kopernikus C3 310
5049
Mäeutik
2
2125
Popper
C3
52
4052
Logik
4
2125
Augustinus C3 309
5052 Wissenschaftstheorie 3
2126
Curie
C4
36
5216
Bioethik
2
2126
Kant
C4
7
5259 Der Wiener Kreis
2
2133
5022 Glaube und Wissen
2
2134
4630
Die 3 Kritiken
4
2137
Professoren
Datenbanken, SS 12
lesen
1
*
Vorlesungen
Kapitel 4: Grundlagen des Relationalen Modells
11
Vorsicht: So geht es NICHT
Professoren
PersNr
Name
Rang Raum
2125
Sokrates
C4 226
2125
Sokrates
C4 226
2125
Sokrates
C4 226
...
...
...
...
2134 Augustinus C3 309
2136
Curie
C4
36
Professoren
Datenbanken, SS 12
liest
5041
5049
4052
...
5022
??
Vorlesungen
VorlNr
Titel
SWS
5001
Grundzüge
4
5041
Ethik
4
5043 Erkenntnistheorie
3
5049
Mäeutik
2
4052
Logik
4
5052 Wissenschaftstheorie 3
5216
Bioethik
2
5259 Der Wiener Kreis
2
5022 Glaube und Wissen
2
4630
Die 3 Kritiken
4
lesen
1
*
Vorlesungen
Kapitel 4: Grundlagen des Relationalen Modells
12
Vorsicht: So geht es NICHT:
Folgen  Anomalien
Professoren
PersNr
Name
Rang
2125
Sokrates
C4
2125
Sokrates
C4
2125
Sokrates
C4
...
...
...
2134 Augustinus C3
2136
Curie
C4
Raum
226
226
226
...
309
36
liest
5041
5049
4052
...
5022
??
Vorlesungen
VorlNr
Titel
SWS
5001
Grundzüge
4
5041
Ethik
4
5043 Erkenntnistheorie
3
5049
Mäeutik
2
4052
Logik
4
5052 Wissenschaftstheorie 3
5216
Bioethik
2
5259 Der Wiener Kreis
2
5022 Glaube und Wissen
2
4630
Die 3 Kritiken
4
Update-Anomalie: Was passiert wenn Sokrates umzieht
Lösch-Anomalie: Was passiert wenn „Glaube und Wissen“ wegfällt
Einfügeanomalie: Curie ist neu und liest noch keine Vorlesungen
Datenbanken, SS 12
Kapitel 4: Grundlagen des Relationalen Modells
13
N:M Assoziationen
Studenten
MatrNr
Name
Semester
hören
*
*
Vorlesungen
VorlNr
Titel
SWS
Verwendung von drei Relationen
Studenten ( MatrNr, Name, Semester )
Vorlesungen ( VorlNr, Titel, SWS )
hören ( ->Vorlesungen.VorlNr, ->Studenten.MatrNr )
Regel:
Eine n:m-Assoziation muss durch eine eigene Relation dargestellt
werden. Die Primärschlüssel der zugehörigen Klassen treten
als Fremdschlüssel auf.
Datenbanken, SS 12
Kapitel 4: Grundlagen des Relationalen Modells
14
Ausprägung der Beziehung hören
hören
MatrNr VorlNr
26120
5001
27550
5001
27550
4052
28106
5041
28106
5052
28106
5216
Studenten
MatrNr
...
26120
...
27550
...
...
...
Studenten
MatrNr
Name
Semester
Datenbanken, SS 12
hören
*
*
Vorlesungen
VorlNr
...
5001
...
4052
...
...
...
Vorlesungen
Kapitel 4: Grundlagen des Relationalen Modells
VorlNr
Titel
SWS
15
Eine Klasse mit N:M Assoziation
*
Voraussetzungen
*
obligatorisch
Vorlesung
VorlNr
Titel
SWS
Darstellungsmöglichkeit:
Vorlesung (VorlNr, Titel, SWS)
Voraussetzungen (NeueVorlNr->Vorlesung.VorlNr,
AlteVorlNr->Vorlesung.VorlNr, obligatorisch)
Regel:
Die n:m-Assoziation muss auch hier durch eine eigene Relation
dargestellt werden. Primärschlüssel der zugehörigen Klasse
soll auch als Fremdschlüssel auftreten.
Datenbanken, SS 12
Kapitel 4: Grundlagen des Relationalen Modells
16
Generalisierung
RM sieht keine Unterstützung der Abstraktionskonzepte vor
 keine Maßnahmen zur Vererbung
(von Struktur, Integritätsbedingungen, Operationen)
 „Simulation“ der Generalisierung und Aggregation eingeschränkt möglich
Generalisierungsbeispiel:
Uni-Angehörige
ID
Name
Angestellte
TV-L Gruppe
Techniker
Wiss. Mitarbeiter
Erfahrung
Diplom
Spezialgebiet
Datenbanken, SS 12
Kapitel 4: Grundlagen des Relationalen Modells
Beamte
17
Generalisierung in RA
Lösungsmöglichkeit 1: vertikale Partitionierung
 jede Instanz wird entsprechend der Klassenattribute in der IS-AHierarchie zerlegt und in Teilen in den zugehörigen Klassen (Relationen)
gespeichert.
 nur das ID-Attribut wird dupliziert
Uni-Angehörige (ID, Name)
Angestellte (ID, TV_L_Gruppe)
Techniker (ID, Erfahrung)
WissMA (ID, Diplom, Spezialgebiet)
Beamte (ID, … )
Eigenschaften
 geringfügig erhöhte Speicherungskosten,
aber hohe Aufsuch- und Aktualisierungkosten
 Integritätsbed.: TECHNIKER.ID subsetof ANGESTELLTE.ID, usw.
 Instanzenzugriff erfordert implizite oder explizite Verbundoperationen
 :: Problembeispiel: Finde alle Spezialgebiete
Datenbanken, SS 12
Kapitel 4: Grundlagen des Relationalen Modells
18
Generalisierung in RA (1)

Lösungsmöglichkeit 2: horizontale Partitionierung
 jede Instanz ist genau einmal und vollständig
in ihrer „Hausklasse“ gespeichert.
 keinerlei Redundanz
Uni-Angehörige (ID, Name)
Angestellte (ID, Name, BAT)
Techniker (ID, Erfahrung, Name, BAT)
WissMA (ID, Diplom, Spezialgebiet, Name, BAT)
Beamte (ID, … )
Eigenschaften




niedrige Speicherungskosten und keine Änderungsanomalien
Eindeutigkeit von ID zwischen Relationen aufwendiger zu überwachen
Retrieval kann rekursives Suchen in Unterklassen erfordern.
:: Problembeispiel: Finde alle ANGESTELLTEN
Datenbanken, SS 12
Kapitel 4: Grundlagen des Relationalen Modells
19
Generalisierung in RA (3)

Lösungsmöglichkeit 3: volle Redundanz
 eine Instanz wird wiederholt in jeder Klasse, zu der sie gehört,
gespeichert.
 sie besitzt dabei die Werte der Attribute, die sie geerbt hat, zusammen
mit den Werten der Attribute der Klasse
Uni-Angehörige (ID, Name)
Angestellte (ID, Name, BAT)
Techniker (ID, Erfahrung, Name, BAT)
WissMA (ID, Diplom, Spezialgebiet, Name, BAT)
Beamte (ID, … )
Eigenschaften
 höherer Speicherplatzbedarf und Auftreten von Änderungsanomalien.
 einfaches Retrieval, da nur die Zielklasse (z. B. ANGESTELLTE)
aufgesucht werden muss
Datenbanken, SS 12
Kapitel 4: Grundlagen des Relationalen Modells
20
Zusammenfassung
Das Relationenmodell besteht aus Tabellen.
Relationenname
Attribut1
Attribut2
Attribut3
Daten
…
…
Der Primärschlüssel bestimmt den Inhalt des
Tupels. Daher muss er in der Relation einzigartig
sein. (Entity-Integrität)
falsch
ID
01
01
Ein Fremdschlüssel muss auf einen existierenden Schlüssel
zeigen oder null sein. (Referentielle Integrität) auch falsch
FK -> ID
02
UML-Klassendiagramme können in das Relationenmodell
überführt werden. Etwas Probleme machen Assoziationen und
Generalisierung.
Datenbanken, SS 12
Kapitel 4: Grundlagen des Relationalen Modells
21