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