Download Datenbanken
Transcript
Datenbanken 2.1.3.1 Die Normalisierung als Zerlegungsprozeß 1) Problemstellung Fallbeispiel: Gesucht ist ein Datenmodell für eine relationale Datenbank, das die Entitätstypen PERSON (Mitarbeiter), ABTEILUNG, PRODUKT berücksichtigt. Eine Analyse führt zu folgenden Fakten: 1. 2. 3. 4. 5. Fakt Fakt Fakt Fakt Fakt 6. Fakt 7. Fakt 8. Fakt 9. Fakt Ein Mitarbeiter hat einen Namen und einen Wohnort. Er ist in einer Abteilung tätig und arbeitet an mehreren Produkten jeweils eine vorbestimmte Zeit. Jede Abteilung hat einen Namen. Jedem Produkt ist ein Name zugeordnet. In einer Abteilung sind mehrere Personen tätig. An einem Produkt arbeiten in der Regel mehrere Personen. Erkennbar sind: - Entitäten (PERSON, ABTEILUNG, PRODUKT) - Beziehungen zwischen Entitäten (vgl. 3.,4.,8.,9. Fakt) - Entitätsattribute (vgl. 1.,2.,6.,7. Fakt) - ein Beziehungsattribut (vgl. 5 Fakt) 2) Nichtnormalisierte Relation Die Fakten lassen sich alle in der folgenden Tabelle zusammen fassen: PERSON_UN(PE#,NAME,WOHNORT, A#, 101 Hans Regensburg 1 102 Rolf Nürnberg 2 103 Udo München 2 104 Paul Regensburg 1 A-NAME,PR#, PR-NAME, ZEIT) Physik 11,12 A,B 60,40 Chemie 13 C 100 Chemie 11,12,13 A,B,C 20,50,30 Physik 11,13 A,C 80,20 Nachteile dieser Zusammenfassung sind: 1. Die Anzahl der Elemente variiert von Zeile zu Zeile (schwierige Handhabung) 2. Mit nichtnormalisierten Relationen gibt es Schwierigkeiten bei Speicheropera-tionen (Verletzung realitätskonformer Sachverhalte) 3. Komplexe Verifikations-Programme sind erforderlich, die sicherstellen, daß ein und dasselbe, redundant auftretende Faktum auch nach der Speicheroperation durchgehend den gleichen Wert aufweist. 166