relationaledatenbankenfortsetzung

Werbung
Relationale Datenbanken - Fortsetzung
7 Anforderungen an ein Datenbanksystem (DBS)





Datenunabhängigkeit vom Programm: Für eine Datenbank (DB) können verschiedene Datenbankmanagementsysteme
(DBMS) genutzt werden. Dies ermöglicht einen Umstieg auf eine andere Verwaltungssoftware.
Redundanzfreiheit: Im Idealfall soll keine Information mehrfach gespeichert werden. Gründe: Sparen von Speicherplatz,
Vermeidung von Anomalien. Völlige Redundanzfreiheit kann in der Regel nicht erreicht werden.
Datenintegrität: Die Daten und Informationen sollen vollständig, korrekt und widerspruchsfrei sein. Dazu sollen folgende
strukturellen Integritätsbedingungen eingehalten werden:
o Eindeutigkeit: Jede Relation besitzt einen Primärschlüssel, dessen Wert für jeden Datensatz einzigartig ist.
o Bereichsintegrität: Attribute können nur Werte aus einem bestimmten Wertebereich annehmen.
o Referentielle Integrität: Jeder Wert eines Fremdschlüssel muss in der referenzierten Relation tatsächlich als
Primärschlüssel vorkommen.
Mehrbenutzerzugriff: Mehrere Anwender sollen gleichzeitig mit der Datenbank arbeiten können.
Flexibilität bei der Auswertung der Daten: Alle Informationen, die sich in den Daten „verstecken“, sollen auch praktisch
ermittelt werden können.
8 Phasen der Datenmodellierung
Phase
beinhaltet
Bedeutung
Analysephase
Informationsstruktur in Textform und
semantisches Modell, bei uns ER-Diagramme
Entwurfsphase
logisches Modell, bei uns relationales Modell
„Tabellenköpfe“
Physische Phase
Definition der Relationen, bei uns Entwerfen von
Tabellen in Access
Erster Schritt zur Strukturierung der Informationen.
Das Ergebnis ist noch nicht präzise genug für die
physische Phase.
Aufbereitung des semantischen Modells, damit
anschließend die physische Phase erfolgen kann.
Am Ende der physischen Phase steht das Gerüst der
Datenbank und die Daten können eingegeben
werden.
Von der Analysephase zur Entwurfsphase
Entitätsmenge oder Beziehung
Abbildungsregel für das relationale Modell
Entitätsmenge
1:1-Beziehung
Regel 1
Regel 2
1:n-Beziehung
Regel 3
m:n- -Beziehung
Regel 4
Jede Entitätsmenge muss als eigenständige Relation definiert werden.
Es genügt eine Relation. Aus Datenschutzgründen oder für selten benötigte
Informationen kann eine eigene Relation definiert werden.
Primärschlüssel der 1-Relation ist Fremdschlüssel in der n-Relation. Keine
eigene Beziehungsmengen-Relation notwendig.
Jede komplex-komplexe Beziehungsmenge muss als eigenständige Relation
definiert werden. Die Primärschlüssel der zugehörigen Entitätsmengen treten
als Fremdschlüssel in der Beziehungsmengen-Relation auf.
21
Von der Analysephase zur Entwurfsphase, neu
Ein anderer Begriff für Entitätsmenge ist Objekttyp
Entitätsmenge oder Beziehung
Abbildungsregel für das relationale Modell, neu
Entitätsmenge
1:1-Beziehung
Regel 1
Regel 2
1:n-Beziehung
Regel 3
m:n-Beziehung
Regel 4
Jede Entitätsmenge muss als eigenständige Relation definiert werden.
Es können zwei eigene Relationen definiert werden (z.B. aus
Datenschutzgründen), müssen aber nicht.
Es genügen die zwei Relationen, die nach Regel 1 definiert werden müssen.
Primärschlüssel der 1-Relation (z.B. Ort-ID in Tabelle PLZ) wird als
Fremdschlüssel in der n-Relation (Orts_NR in Tabelle Mitglied) hinzugefügt.
Neben den beiden eigenständigen Relationen nach Regel 1 muss mindestens
eine weitere Relation definiert werden. Diese enthält dann die
Primärschlüssel der ersten beiden Relationen als Fremdschlüssel, um eine
Zuordnung zu ermöglichen.
22
Veranschaulichung von Regel 4 am Beispiel Verein
wohnen in
Orte
betreiben
Sportarten
Mitglieder
Bild 8-1: E-R-Diagramm des Modells Sportverein
n
m
betreiben
Mitglieder
Sportarten
Bild 8-2: Beziehung Mitglieder betreiben Sportarten
Sportarten
Fussball
Handball
........
Schwimmen
Mitglieder
Huber
Hans
Klaubmann
Anita
Müller
Petra
...........
......
Liebel
Sieglinde
Bild 8-3: Beispieldaten für die Beziehung Mitglieder betreiben Sportarten
Mit zwei Tabellen lässt sich die Beziehung Mitglieder betreiben Sportarten nicht umsetzen, wenn man redundante Daten
vermeiden möchte.
Lösung: Regel 4
1
m
Mitglieder
1
n
Sportarten
Zuordnung: M-Nr-Sport-Nr
Bild 8-4: m:n-Beziehung aufgesplittet Zuordnung: M-Nr-Sport-Nr
1
2
3
4
5
Mitglieder
Huber
Maier
Schmidt
...
...
...........
...
...
...
...
...
...
Zuordnung ...
1
1
1
4
2
1
3
2
4
2
4
4
...
...
Sportarten
1
...
2
...
3
...
4
...
...
...
Bild 8-5: Beispieldaten für die Beziehungen Zuordnung: M-Nr-Sport-Nr
23
Anwendung der Abbildungsregeln
Regel 1: Jede Entitätsmenge muss als eigenständige Relation definiert werden.
Mitglieder
M-ID
Nachname
Vorname
Geburtsdatum
Geschlecht
Straße
Sportarten
Sport-ID
Sportart
Beitrag
PLZ
Ort-ID
PLZ
Ort
Regel 4: Die m:n-Beziehung zwischen Mitglieder und Sportarten muss mit
(mindestens) einer weiteren Relation hergestellt werden.
Zuordnung: M-Nr-Sport-Nr
M-Nr
Sport-Nr
Regel 3: Für alle 1:1- und 1:n-Beziehungen gilt:
Eine eigene Beziehungsmengen-Tabelle ist nicht notwendig: Aufnahme des
Primärschlüssels der 1-Relation in der n-Relation (hier:Orts-Nr).
Sportarten
Sport-ID
Sportart
Beitrag
1
n
Zuordnung: M-Nr-Sport-Nr
M-Nr
Sport-Nr
PLZ
Ort-ID
PLZ
Ort
n
1
1
n
Mitglieder
M-ID
Vorname
Nachname
Geburtsdatum
Geschlecht
Straße
Orts-Nr
Bild 8-6: Entstehung des relationalen Datenbankschemas des Beispiels Verein im Überblick
24
Erweiterung des Modells
Fall 1: Verein5 ( ein Trainer / Betreuer pro Mannschaft)
m
Orte
Sportarten
1
1
betreiben
wohnen in
haben
n
n
1
trainieren
Mitglieder
n
n
zahlen
n
spielen in
m
1
n
Mannschaften
Grundbeiträge
Bild 4-14: E-R-Diagramm der Datenbank Verein5
n
Sportarten
Sport-ID
Sportart
Beitrag
Mannschaften
Mannsch-ID
Sportart-Nr
Mannschaftsbez
Trainer
Trainingstag
T-Beginn
T-Ende
T-Ort
1
n
Spieler
Mannschafts-Nr
Spieler-Nr
n
n
1
1
Zuordnung: Mitglieder-Sportart
Mitglieds-Nr
Sportart-ID
1
n
1
n
Grundbeiträge
Beitrags-Nr
Beitragsgruppe
Grundbeitrag
PLZ
Ort-ID
PLZ
Ort
1
n
Mitglieder
M-Nr
Vorname
Nachname
Geburtsdatum
Geschlecht
Straße
Orts-Nr
Tel
G-Beitrags-Nr
1
n
1
Bild 8-7: Relationales Modell der Datenbank Verein5
25
Fall 2: Verein6 ( mehrere Trainer / Betreuer pro Mannschaft)
m
Orte
Sportarten
1
1
betreiben
wohnen in
haben
n
n
m
trainieren
Mitglieder
n
n
zahlen
n
spielen in
m
1
n
Mannschaften
Grundbeiträge
Bild 4-16: E-R-Diagramm der Datenbank Verein6
Mannschaften
n
Mannsch-ID
Sportart-Nr
Mannschaftsbez
Trainingstag
T-Beginn
T-Ende
T-Ort
1
n
1
Spieler
Mannschafts-Nr
Spieler-Nr
n
Trainer
Mannsch-Nr
Trainer-Nr
Sportarten
1
Sport-ID
Sportart
Beitrag
1
n
Zuordnung: Mitglieder-Sportart
1
Mitglieds-Nr
Sport-Nr
n
1
n
PLZ
Ort-ID
PLZ
Ort
Grundbeiträge
Beitrags-ID
Beitragsgruppe
Grundbeitrag
1
n
1
n
Mitglieder
1
M-ID
Vorname
Nachname
Geburtsdatum
Geschlecht
Straße
Orts-Nr
Tel
Beitrags-Nr
n
Bild 4-17: Relationales Modell der Datenbank Verein6
26
Normalisierung
Befolgt man die drei Phasen der Datenmodellierung sind die Relationen meist automatisch in der dritten Normalform.
Frage: Wie werden Relationen in die erste Normalform gebracht?
Alle Attribute müssen elementar (atomar) sein (Beispiel: Aus Adresse wird Straße, PLZ und Ort). Wiederholungsgruppen (z.B. eine
Trackliste einer CD) in eigene Tabellen auslagern.
Frage: Wie werden Relationen in die zweite Normalform gebracht?
Attribute, die nicht voll funktional abhängig vom Primärschlüssel sind ausfindig machen und in eine eigene Relation auslagern.
Frage: Wie werden Relationen in die dritte Normalform gebracht?
Attribute, die transitiv funktional abhängig vom Primärschlüssel sind ausfindig machen und in eine eigene Relation auslagern.
27
Zugehörige Unterlagen
Herunterladen