dr. brigitte mathiak kapitel 4 grundlagen des relationalen datenmodells
TRANSCRIPT
Dr. Brigitte Mathiak
Kapitel 4
Grundlagen des relationalen Datenmodells
Lernziele
Grundbegriffe des Relationenmodells
Relationale Invarianten, insbesondere Vorkehrungen zur Wahrung der referentiellen Integrität
Abbildung von UML-Diagrammen in Relationenschema
2
Datenbanken für Mathematiker, WS 11/12 Kapitel 4: Grundlagen des Relationalen Modells
3
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 für Mathematiker, WS 11/12 Kapitel 4: Grundlagen des Relationalen Modells
4
TelefonbuchName Straße Telefon#
Mickey Mouse Main Street 4711Minnie Mouse Broadway 94725Donald Duck Broadway 95672
Telefonbuch: {[Name: string, Adresse: string, Telefon#:integer]}
Ausprägung: der aktuelle Zustand der DatenbasisKardinalitä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 für Mathematiker, WS 11/12 Kapitel 4: Grundlagen des Relationalen Modells
5
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
TelefonbuchName Straße Telefon#
Mickey Mouse Main Street 4711Minnie Mouse Broadway 94725
Datenbanken für Mathematiker, WS 11/12 Kapitel 4: Grundlagen des Relationalen Modells
Was passiert wenn jemand mehr als eine Telefonnummer hat?(1 min; jeder für sich mit Zettel und Stift)
Datenbanken für Mathematiker, WS 11/12 Kapitel 4: Grundlagen des Relationalen Modells 6
TelefonbuchName Straße Telefon#
Mickey Mouse Main Street 4711Minnie Mouse Broadway 94725Donald Duck Broadway 95672
Was passiert wenn unter einer Telefonnummer mehr als eine
Person lebt?(1 min; jeder für sich mit Zettel und Stift)
Datenbanken für Mathematiker, WS 11/12 Kapitel 4: Grundlagen des Relationalen Modells 7
TelefonbuchName Straße Telefon#
Mickey Mouse Main Street 4711Minnie Mouse Broadway 94725Donald Duck Broadway 95672
RM: Fremdschlüssel
Der Fremdschlüssel zeigt auf den Primärschlüssel einer anderen Relation.
Datenbanken für Mathematiker, WS 11/12 Kapitel 4: Grundlagen des Relationalen Modells 8
Telefonbuch->Personal.PersNr Telefon#
00025 471100028 94725
PersonalName Straße PersNr
Mickey Mouse Main Street 00025Minnie Mouse Broadway 00028Donald Duck Broadway 00030
Datenbanken für Mathematiker, WS 11/12 Kapitel 4: Grundlagen des Relationalen Modells 9
Abbildung UML - RM
Kriterien Informationserhaltung Minimierung der Redundanz Minimierung des Verknüpfungsaufwandes
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
AssoziationKlasse 1 Klasse 2
a..b c..d
Relation 2Relation 1
Datenbanken für Mathematiker, WS 11/12 Kapitel 4: Grundlagen des Relationalen Modells 10
Assoziationen N:1
1. Verwendung von drei RelationenProfessoren ( PersNr, Name, Rang, Raum )Vorlesungen ( VorlNr, Titel, SWS )lesen ( VorlNr, ->Professoren.PersNr )
2. Besser: Verwendung von zwei RelationenProfessoren ( PersNr, Name, Rang, Raum ) Vorlesungen ( VorlNr, Titel, SWS, gelesenVon ->
Professoren.PersNr )
Regel: Bei n:1 Assoziationen können Relationen mit gleichem Schlüsselzusammengefasst werden - aber nur diese und keine anderen!
lesenProfessoren Vorlesungen
1 *PersNrNameRangRaum
VorlNrTitelSWS
Datenbanken für Mathematiker, WS 11/12 Kapitel 4: Grundlagen des Relationalen Modells 11
Ausprägung von Professoren und Vorlesungen
Professoren
PersNr Name Rang Raum
2125 Sokrates C4 226
2126 Russel C4 232
2127 Kopernikus C3 310
2133 Popper C3 52
2134 Augustinus C3 309
2136 Curie C4 36
2137 Kant C4 7
Vorlesungen
VorlNr Titel SWS Gelesen Von
5001 Grundzüge 4 2137
5041 Ethik 4 2125
5043 Erkenntnistheorie 3 2126
5049 Mäeutik 2 2125
4052 Logik 4 2125
5052 Wissenschaftstheorie
3 2126
5216 Bioethik 2 2126
5259 Der Wiener Kreis 2 2133
5022 Glaube und Wissen 2 2134
4630 Die 3 Kritiken 4 2137lesen
Professoren Vorlesungen1 *
Datenbanken für Mathematiker, WS 11/12 Kapitel 4: Grundlagen des Relationalen Modells 12
Vorsicht: So geht es NICHT
Professoren
PersNr Name Rang Raum liest
2125 Sokrates C4 226 5041
2125 Sokrates C4 226 5049
2125 Sokrates C4 226 4052
... ... ... ... ...
2134 Augustinus C3 309 5022
2136 Curie C4 36 ??
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
lesenProfessoren Vorlesungen
1 *
Datenbanken für Mathematiker, WS 11/12 Kapitel 4: Grundlagen des Relationalen Modells 13
Vorsicht: So geht es NICHT: Folgen Anomalien
Update-Anomalie: Was passiert wenn Sokrates umziehtLösch-Anomalie: Was passiert wenn „Glaube und Wissen“ wegfälltEinfügeanomalie: Curie ist neu und liest noch keine Vorlesungen
Professoren
PersNr Name Rang Raum liest
2125 Sokrates C4 226 5041
2125 Sokrates C4 226 5049
2125 Sokrates C4 226 4052
... ... ... ... ...
2134 Augustinus C3 309 5022
2136 Curie C4 36 ??
VorlesungenVorlNr Titel SWS5001 Grundzüge 45041 Ethik 45043 Erkenntnistheorie 35049 Mäeutik 24052 Logik 45052 Wissenschaftstheori
e3
5216 Bioethik 25259 Der Wiener Kreis 25022 Glaube und Wissen 24630 Die 3 Kritiken 4
Datenbanken für Mathematiker, WS 11/12 Kapitel 4: Grundlagen des Relationalen Modells 14
N:M Assoziationen
Verwendung von drei RelationenStudenten ( 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.
hörenStudenten Vorlesungen
* *MatrNrName
Semester
VorlNrTitelSWS
Datenbanken für Mathematiker, WS 11/12 Kapitel 4: Grundlagen des Relationalen Modells 15
Ausprägung der Beziehung hören
Studenten
MatrNr ...
26120 ...
27550 ...
... ...
hören
MatrNr VorlNr26120 500127550 500127550 405228106 504128106 505228106 5216
Vorlesungen
VorlNr ...
5001 ...
4052 ...
... ...
hörenStudenten Vorlesungen
* *MatrNrName
Semester
VorlNrTitelSWS
Datenbanken für Mathematiker, WS 11/12 Kapitel 4: Grundlagen des Relationalen Modells 16
Eine Klasse mit N:M Assoziation
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.
VorlesungVoraussetzungen *
*
obligatorisch VorlNrTitelSWS
Datenbanken für Mathematiker, WS 11/12 Kapitel 4: Grundlagen des Relationalen Modells 17
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:
Wiss. Mitarbeiter
TV-L Gruppe
Techniker
Beamte
IDName
DiplomSpezialgebiet
Erfahrung
Angestellte
Uni-Angehörige
Datenbanken für Mathematiker, WS 11/12 Kapitel 4: Grundlagen des Relationalen Modells 18
Generalisierung in RA
Lösungsmöglichkeit 1: vertikale Partitionierung jede Instanz wird entsprechend der Klassenattribute in der IS-A-
Hierarchie 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 für Mathematiker, WS 11/12 Kapitel 4: Grundlagen des Relationalen Modells 19
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 für Mathematiker, WS 11/12 Kapitel 4: Grundlagen des Relationalen Modells 20
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
Zusammenfassung
Das Relationenmodell besteht aus Tabellen.
Der Primärschlüssel bestimmt den Inhalt des Tupels. Daher muss er in der Relation einzigartig sein. (Entity-Integrität)
Ein Fremdschlüssel muss auf einen existierenden Schlüssel zeigen oder null sein. (Referentielle Integrität)
UML-Klassendiagramme können in das Relationenmodell überführt werden. Etwas Probleme machen Assoziationen und Generalisierung.
Datenbanken für Mathematiker, WS 11/12 Kapitel 4: Grundlagen des Relationalen Modells 21
Relationenname
Attribut1 Attribut2 Attribut3
Daten … …
falsch
ID
01
01
auch falsch
FK -> ID
02