Informatik Normalisierung / ERM 1 Normalisierung Szenario [nach Zehnder; Informationssysteme und Datenbanken. Teubner, 1989] Die Firma EDV-Soft beschäftigt die Personen Müller, Meyer, Schultze, Schmidt. Für die betriebsinterne Verwaltung wurden die Mitarbeiternummern 1, 2, 3, 4 vergeben. Müller und Schmidt sind der Abteilung 1 "Agrar", Meyer und Schultze der Abteilung 2 "Öko" unterstellt. Gemeinsam werden drei Projekte "A", "B", "C" mit den Projektnummern 1, 2, 3 bearbeitet. Die anteiligen Bearbeitungseinheiten (BE) sind: Müller am Projekt A mit 80 BE und am Projekt B mit 20 BE Meyer am Projekt C mit 100 BE Schultze am Projekt A mit 30 BE, an den Projekten B und C mit 40 BE Schmidt am Projekt A mit 50 BE und am Projekt C mit 50 BE Objekt Eigenschaft Feldname Abteilung Abteilungsname Abt_Name Abteilungsnummer Abt_Nummer Projekt Projektname Prj_Name Projektnummer Prj_Nummer Mitarbeiter Mitarbeitername Mit_Name Mitarbeiternummer Mit_Nummer??? Bearbeitungszeit Mi_Prj_Zeit B-Stdg. FB LOEL HSA ab WS 16/17 1 / 12
Informatik Normalisierung / ERM 2 Entwurf einer Relation Relation Personal mit den Attributen Mit_Nummer Mit_Name Abt_Nummer Abt_Name Prj_Nummer Prj_Name Mi_Prj_Zeit Personaltabelle der Firma EDV-Soft Mit_Nummer Mit_Name Abt_Nummer Abt_Name Prj_Nummer Prj_Name Mi_Prj_Zeit 1 Müller 1 Agrar 1, 2 A, B 80, 20 2 Meyer 2 Öko 3 C 100 3 Schultze 2 Öko 1, 2, 3 A, B, C 30, 40, 40 4 Schmidt 1 Agrar 1, 3 A, C 50, 50 B-Stdg. FB LOEL HSA ab WS 16/17 2 / 12
Informatik Normalisierung / ERM 3 Erste Normalform Eine Relation liegt in der 1. NF vor, wenn die enthaltenen Attribute nur einfache Werte (atomare Informationen) aufweisen, d.h. Aufzählungen, Mengen sind ausgeschlossen und evtl. vorhandene innere Strukturen von Attributwerten dürfen nicht benutzt werden. [Zehnder] Mitarbeiter-Projekt-Relation Mit_Nummer Mit_Name Abt_Nummer Abt_Name Prj_Nummer Prj_Name Mi_Prj_Zeit 1 Müller 1 Agrar 1 A 80 1 Müller 1 Agrar 2 B 20 2 Meyer 2 Öko 3 C 100 3 Schultze 2 Öko 1 A 30 3 Schultze 2 Öko 2 B 40 3 Schultze 2 Öko 3 C 40 4 Schmidt 1 Agrar 1 A 50 4 Schmidt 1 Agrar 3 C 50 => einfache Auswertung => aufwändige Datenpflege B-Stdg. FB LOEL HSA ab WS 16/17 3 / 12
Informatik Normalisierung / ERM 4 Identifikationsschlüssel Ein Identifikationsschlüssel ist ein Attribut oder eine minimale Attributskombination, die jedes Tupel einer Relation identifiziert (und deren Wert sich während der Existenz des Tupels nicht ändert). [Zehnder] Ein zusammengesetzter Schlüssel ist dann minimal, wenn ohne Verlust der eindeutigen Identifizierbarkeit kein Attribut der Attributskombination weggelassen werden kann. Zweite Normalform Eine Relation ist in der 2. NF, wenn sie in der 1. NF ist und jedes nicht zum Identifikationsschlüssel gehörende Attribut voll vom Identifikationsschlüssel abhängig ist. [Zehnder] => d.h. es gibt keine (Teil-)Abhängigkeiten der Nichtschlüssel-Felder von Schlüsselteilen (d.h. von einzelnen Feldern eines zusammengesetzten Schlüssels) B-Stdg. FB LOEL HSA ab WS 16/17 4 / 12
Informatik Normalisierung / ERM 5 Projekt-Relation Projekt(Prj_Nummer, Prj_Name) Prj_Nummer Prj_Name 1 A 2 B 3 C Mitarbeiter-Relation Mitarbeiter(Mit_Nummer, Mit_Name, Abt_Nummer, Abt_Name) Mit_Nummer Mit_Name Abt_Nummer Abt_Name 1 Müller 1 Agrar 2 Meyer 2 Öko 3 Schultze 2 Öko 4 Schmidt 1 Agrar Zeit-Relation Zeit(Mit_Nummer, Prj_Nummer, Mi_Prj_Zeit) Mit_Nummer Prj_Nummer Mi_Prj_Zeit 1 1 80 1 2 20 2 3 100 3 1 30 3 2 40 3 3 40 4 1 50 4 3 50 B-Stdg. FB LOEL HSA ab WS 16/17 5 / 12
Informatik Normalisierung / ERM 6 Dritte Normalform Eine Relation befindet sich in der 3. NF, wenn sie in der 2.NF ist und keine Abhängigkeiten zwischen Nichtschlüssel-Feldern bestehen. Projekt-Relation Projekt(Prj_Nummer, Prj_Name) wie in 2. NF Zeit-Relation Zeit(Mit_Nummer, Prj_Nummer, Mi_Prj_Zeit) wie in 2. NF Mitarbeiter-Relation Mit_Nummer Mit_Name Abt_Nummer Abteilungs-Relation Abt_Nummer Abt_Name 1 Müller 1 1 Agrar 2 Meyer 2 2 Öko 3 Schultze 2 4 Schmidt 1 => aufwändige Auswertung => einfache Datenpflege B-Stdg. FB LOEL HSA ab WS 16/17 6 / 12
Informatik Normalisierung / ERM 7 Attribute der 3. Normalform lokales Attribut: kommt nur in einer Relation und nicht im Identifikationsschlüssel vor im Bsp.: Abt_Name, Prj_Name, Mit_Name, Mi_Prj_Zeit globales Attribut: kommt mindestens in einer Relation im Identifikationsschlüssel vor im Bsp.: Abt_Nummer, Prj_Nummer, Mit_Nummer B-Stdg. FB LOEL HSA ab WS 16/17 7 / 12
Informatik Normalisierung / ERM 8 Beziehungen in der 3. Normalform Eine Zuordnung (Assoziation) legt fest, wie viele Elemente aus einer Relation R1 einem Element aus der Relation R2 zugeordnet sein können. Typen Assoziationstyp Elemente aus R2, die jedem Element aus R1 zugeordnet sind 1 einfach genau eins c bedingt keins oder eins m mehrfach mindestens eins mc mehrfach-bedingt keins, eins oder mehrere Kombiniert man eine Zuordnung (R1, R2) mit ihrer Gegen -Zuordnung (R2, R1), so erhält man die Beziehung (relationship) zwischen den beiden betrachteten Relationen. B-Stdg. FB LOEL HSA ab WS 16/17 8 / 12
Informatik Normalisierung / ERM 9 graphische Darstellung eines normalisierten Modells 1. Relationen - durch Rechtecke Student Fachbereich 2. Beziehungen - durch Linien zwischen verbundenen Relationen Student m 1 Fachbereich Jeder Student gehört zu genau einem Fachbereich, jeder Fachbereich hat mindestens einen Studierenden. B-Stdg. FB LOEL HSA ab WS 16/17 9 / 12
Informatik Normalisierung / ERM 10 Vorlesungsbeispiel: Beziehungen zwischen den Relationen Projekt Zeit Mitarbeiter Abteilung Prj_Nummer Mit_Nummer Mit_Nummer Abt_Nummer Prj_Name Prj_Nummer Mit_Name Abt_Name Mi_Prj_Zeit Abt_Nummer Beispiel Buchausleihe Leser Ausleihe Buch Leser-Nr Leser-Nr Buch-Nr Name Buch-Nr Autor Adresse Leihtermin Titel Geburtsdatum Erscheinungsjahr B-Stdg. FB LOEL HSA ab WS 16/17 10 / 12
Informatik Normalisierung / ERM 11 Vorlesungsbeispiel: ERM-Ansatz EDV-Soft 1 Mitarbeiter bearbeitet Projekt(e) Projekt wird bearbeitet von Mitarbeiter(n) Mitarbeiter gehört zu Abteilung(en) Abteilung hat Mitarbeiter B-Stdg. FB LOEL HSA ab WS 16/17 11 / 12
Informatik Normalisierung / ERM 12 Vorlesungsbeispiel: ERM-Ansatz EDV-Soft 2 Variante 1 Projekte werden bearbeitet von Mitarbeiter gehört zu Abteilung(en) Variante 2 Projekte werden bearbeitet von Mitarbeiter Abteilung bzw. Abteilung Mitarbeiter bearbeitet Projekte B-Stdg. FB LOEL HSA ab WS 16/17 12 / 12