21
Dr. Brigitte Mathiak Kapitel 4 Grundlagen des relationalen Datenmodells

Dr. Brigitte Mathiak Kapitel 4 Grundlagen des relationalen Datenmodells

Embed Size (px)

Citation preview

Page 1: Dr. Brigitte Mathiak Kapitel 4 Grundlagen des relationalen Datenmodells

Dr. Brigitte Mathiak

Kapitel 4

Grundlagen des relationalen Datenmodells

Page 2: 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

Page 3: Dr. Brigitte Mathiak Kapitel 4 Grundlagen des relationalen Datenmodells

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

Page 4: Dr. Brigitte Mathiak Kapitel 4 Grundlagen des relationalen Datenmodells

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

Page 5: Dr. Brigitte Mathiak Kapitel 4 Grundlagen des relationalen Datenmodells

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

Page 6: Dr. Brigitte Mathiak Kapitel 4 Grundlagen des relationalen Datenmodells

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

Page 7: Dr. Brigitte Mathiak Kapitel 4 Grundlagen des relationalen Datenmodells

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

Page 8: Dr. Brigitte Mathiak Kapitel 4 Grundlagen des relationalen Datenmodells

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

Page 9: Dr. Brigitte Mathiak Kapitel 4 Grundlagen des relationalen Datenmodells

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

Page 10: Dr. Brigitte Mathiak Kapitel 4 Grundlagen des relationalen Datenmodells

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

Page 11: Dr. Brigitte Mathiak Kapitel 4 Grundlagen des relationalen Datenmodells

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 *

Page 12: Dr. Brigitte Mathiak Kapitel 4 Grundlagen des relationalen Datenmodells

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 *

Page 13: Dr. Brigitte Mathiak Kapitel 4 Grundlagen des relationalen Datenmodells

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

Page 14: Dr. Brigitte Mathiak Kapitel 4 Grundlagen des relationalen Datenmodells

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

Page 15: Dr. Brigitte Mathiak Kapitel 4 Grundlagen des relationalen Datenmodells

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

Page 16: Dr. Brigitte Mathiak Kapitel 4 Grundlagen des relationalen Datenmodells

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

Page 17: Dr. Brigitte Mathiak Kapitel 4 Grundlagen des relationalen Datenmodells

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

Page 18: Dr. Brigitte Mathiak Kapitel 4 Grundlagen des relationalen Datenmodells

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

Page 19: Dr. Brigitte Mathiak Kapitel 4 Grundlagen des relationalen Datenmodells

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

Page 20: Dr. Brigitte Mathiak Kapitel 4 Grundlagen des relationalen Datenmodells

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

Page 21: Dr. Brigitte Mathiak Kapitel 4 Grundlagen des relationalen Datenmodells

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