Datenbanken Logischer Datenbankentwurf ER-Modell → Relationales Modell • Entity-Types werden zu Relationenschemata – Alle Attribute des Entity-Types werden zu Attributen des Relationenschemas. – Schlüssel bleiben erhalten. – Falls mehrere Schlüssel existieren, wird ein Primärschlüssel gewählt. (Der Primärschlüssel sollte möglichst einfach sein.) Günter M. Goetz 69 Datenbanken Logischer Datenbankentwurf ER-Modell → Relationales Modell • Jeder Relation-Type wird je Komplexität der Beziehung in ein eigenes Relationenschema überführt, bzw. in eines der anderen integriert. E1 AE1 Günter M. Goetz [a,b] R [c,d] E2 AE2 70 1 Datenbanken Logischer Datenbankentwurf E1 AE1 .. .. .. E1 R E2 AE2 .. .. .. .. .. .. .. AE1 AE2 [0,1] R [0,n] AE1 E2 AE2 Günter M. Goetz 71 Datenbanken Logischer Datenbankentwurf E1 AE1 .. .. .. R E2 AE2 .. .. .. .. .. .. .. AE1 AE2 *Alternativ kann auch der Primärschlüssel aus E1 als Primärschlüssel definiert werden. E1 AE1 Günter M. Goetz [0,1] R [0,1] E2 AE2 72 2 Datenbanken Logischer Datenbankentwurf E1 AE1 .. .. .. E1 R E2 AE2 .. .. .. .. .. .. .. AE1 AE2 [0,n] R [0,m] E2 AE1 AE2 Günter M. Goetz 73 Datenbanken Logischer Datenbankentwurf E1 AE1 .. .. .. E1 AE1 Günter M. Goetz R .. .. .. .. AE1 AE2 [1,1] R [1,n] E2 AE2 74 3 Datenbanken Logischer Datenbankentwurf R .. .. .. .. AE1 AE2 *Alternativ kann auch der Primärschlüssel aus E1 als Primärschlüssel definiert werden. E1 [1,1] AE1 R [1,1] E2 AE2 Günter M. Goetz 75 Datenbanken Logischer Entwurf • Verbesserung des resultierenden Schemas anhand von Gütekriterien: – Normalisierung – Minimalität • Festlegung funktionaler Abhängigkeiten: – Die funktionale Abhängigkeit X→Y wird definiert als: Unterscheiden sich zwei Tupel einer Relation in den Attributen X nicht, so haben sie auch gleiche Werte für die Attribute Y. Günter M. Goetz 76 4 Datenbanken Normalisierung • Normalisierung wird durchgeführt aufgrund von 3 verschiedenen Anomalien, die in nicht normalisierten relationalen Datenbanken auftreten – Einfüge-Anomalie – Lösch-Anomalie – Änderungs-Anomalie Abonnement Kunde Zeitschrift Adresse Preis Günter M. Goetz 77 Datenbanken Normalisierung 1. Normalform: – Alle Attribute einer Relation sind 'atomar' Kursnr 3D32 Günter M. Goetz Teilnehmer David, Fänger, Kircheis, Scholz, Schubert Kursnr 3D32 3D32 3D32 3D32 3D32 Teilnehmer David Fänger Kircheis Scholz Schubert 78 5 Datenbanken Normalisierung 2. Normalform – Relation entspricht der ersten Normalform und – Nichtschlüsselfelder hängen ausschließlich vom Gesamtschlüssel, nicht von einem Teilschlüssel Kursnr Teilnehmer funktional ab Kursnr 3D32 3D32 3D32 3D32 3D32 9B25 9B25 73V5 Kursbezeichnung Datenbanken Datenbanken Datenbanken Datenbanken Datenbanken Datenbanken Datenbanken Relationenalgebra Teilnehmer David Fänger Kircheis Scholz Schubert Meier Müller Schulze 3D32 3D32 3D32 3D32 3D32 9B25 9B25 73V5 Kursnr 3D32 9B25 73V5 David Fänger Kircheis Scholz Schubert Meier Müller Schulze Kursbezeichnung Datenbanken Datenbanken Relationenalgebra Günter M. Goetz 79 Datenbanken Normalisierung 3. Normalform – Relation entspricht der zweiten Normalform und – Nichtschlüsselfelder hängen nicht von anderen Nichtschlüsselfeldern funktional ab Fahrgestellnummer WFA34523XX3452355 WFA34543YY3464566 XCF3465H345H34566 Günter M. Goetz Modell Ford Focus TD4 Ford Focus 1.9i BMW 318i Fahrzeuglinie Ford Focus Ford Focus BMW 3er Fahrgestellnummer WFA34523XX3452355 WFA34543YY3464566 XCF3465H345H34566 Modell Ford Focus TD4 Ford Focus 1.9i BMW 318i Modell Ford Focus TD4 Ford Focus 1.9i BMW 318i Fahrzeuglinie Ford Focus Ford Focus BMW 3er 80 6 Datenbanken Logischer Entwurf - Minimalität "Die Minimalität des Datenbankschemas bedeutet, daß wir zwar Normalformen und andere Eigenschaften durch Aufspalten in mehrere Relationenschemata erreichen wollen, dass wir aber möglichst wenig Relationenschamata erzeugen wollen, die den Anforderungen genügen. Können wir also die dritte Normalform mit 4 Schemata erreichen, ist das besser als das Erreichen desselben Kriteriums mit sechs Relationenschemata." (Heuer, Saake, 2000) Günter M. Goetz 81 7
© Copyright 2025 ExpyDoc