Datenbanken 6: Normalisierung

Ähnliche Dokumente
Datenbanken 6: Normalisierung

Datenbanken Unit 7: Normalisierung ctd.

Datenbanken Unit 5: Funktionale Abhängigkeit

Relationale Entwurfstheorie (Teil 2)

Übung 9. Tutorübung zu Grundlagen: Datenbanken (Gruppen Do-T24 / Do-T31 WS 2016/2017)

8. Tutorübung zu Grundlagen: Datenbanken

Datenbanken Unit 11: Erstellen u. Ändern von Datenbanken und Tabellen Verbindung von Java auf Datenbanken

3. Normalform. Redundanz: Land mehrfach gespeichert Anomalien?

Datenbanken Unit 3: Das relationale Modell

Zerlegung einer Relation

Datenbanken Unit 3: Das relationale Modell

Rückblick: Relationales Modell

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

Grundlagen: Datenbanken

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Dr. Thomas Neumann

5. Relationale Entwurfstheorie

Aufgabe 7. Sei die Schema R(A, B, C, D, E) mit folgenden fkt. Abh.:

Normalisierung II. Ziele

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

Kapitel DB:VII (Fortsetzung)

Rückblick: Relationale Entwurfstheorie

Datenbanken Unit 2: Das ER-Modell

Informationssysteme. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Sommersemester

mit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 18. Juni 2007

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

2. Übungsblatt 3.0 VU Datenmodellierung

Gruppe A Bitte tragen Sie SOFORT und LESERLICH Namen und Matrikelnr. ein, und legen Sie Ihren Studentenausweis bereit.

Übung Datenbanksysteme Normalformen

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Dr. Thomas Neumann

Kapitel 6 Relationale Entwurfstheorie. Funktionale Abhängigkeiten Normalformen Normalisierung durch Dekomposition

Datenbanken und SQL. Kapitel 3. Datenbankdesign Teil 1: Normalformen. Edwin Schicker: Datenbanken und SQL

Datenbanken (Übung 12)

Kapitel 11: Relationale Entwurfstheorie

Themenübersicht Relationale Entwurfstheorie. Inhalt

Grundlagen: Datenbanken

Kapitel 7: Normalformen

2. Übungsblatt 3.0 VU Datenmodellierung

Kapitel 7: Normalformen

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

Kapitel 7: Normalformen

Datenmanagement Übung 5

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird.

Gruppe B Bitte tragen Sie SOFORT und LESERLICH Namen und Matrikelnr. ein, und legen Sie Ihren Studentenausweis bereit.

Datenbanken 1 Sommersemester 2014/

Wir haben folgende Ausprägung der Relation Studenten:

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

2. Übungsblatt 3.0 VU Datenmodellierung

4. Normalformen. Qualitätsanforderungen an Tabellen. Klassische Normalformen (1,. 2., 3.) Spezielle Normalformen

S.Müllenbach Datenbanken Informationsanalyse Normalformen- 1. Kurse. Name TNR ...

Datenbanksysteme und Datenmodellierung

Datenbankensysteme Aufgabenblatt 2

Relationale Datenbanken

Vorlesung Datenbanktheorie. Church-Rosser-Eigenschaft der Verfolgungsjagd. Berechnung von chase(t, t, Σ) Vorlesung vom Mittwoch, 05.

Lösungen der Übungsaufgaben von Kapitel 12

Introduction to Data and Knowledge Engineering

Transkript:

Datenbanken 6: Normalisierung 26. IV. 2016

Outline 1 Organisatorisches 2 SQL 3 Überblick Datenbankdesign 4 Normalisierung Erste Normalform Zweite Normalform Dritte Normalform Boyce-Codd Normal Form Vierte Normalform

Organisatorisches In zwei Wochen, am 10. Mai findet der zweite Zwischentest statt. Aufsicht übernimmt Martin Antenreiter. VO entfällt an diesem Tag. Fragestunde bereits nächste Woche

SQL Nachbesprechung Zwischentest korrelierte Subqueries

Nachbesprechung Zwischentest LIKE vs. = COUNT vs. SUM Subquery statt WHERE HAVING statt WHERE DISTINCT für Abgabesystem

Datenbankdesign bisher: zeichne Entitäten, Relationen, und Attribute in ein ER-Diagramm leite aus dem ER-Diagramm ein Datenbankschema ab Nun beschäftigen wir uns mit einem verfeinerten Zugang ( Normalisierung ). Die Grundlage dafür ist der Begriff der funktionalen Abhängigkeit.

Funktionale Abhängigkeit Zur Erinnerung: Definition (funktionale Abhängigkeit) Gegeben sei ein abstraktes relationales Datenbankschema R sowie (Mengen von) Attribute(n) α, β in R. Wir sagen, dass β funktional abhängig von α ist (α β), wenn für alle Realisierungen R of R: Immer wenn zwei Tupel (Zeilen) dieselben Werte für α haben, so haben sie auch gleiche Werte für β. Achtung: Für unsere Belange ist nur diese Art von Abhängigkeit relevant. Andere Formen von Abhängigkeit (z.b. Korrelation) spielen keine Rolle und dürfen nicht mit funktionaler Abhängigkeit verwechselt werden!

Normalisierung: Ausblick Wir kennen inzwischen: funktionale Abhängigkeiten (FDs) Eigenschaften guter Zerlegungen (Verlustlosigkeit, Abhängigkeitserhaltung)

Normalisierung: Ausblick Wir kennen inzwischen: funktionale Abhängigkeiten (FDs) Eigenschaften guter Zerlegungen (Verlustlosigkeit, Abhängigkeitserhaltung) Wir hätten gerne: guten Weg, um eine gegebene Relation R in kleinere Relationen zu zerlegen

Normalisierung: Ausblick Wir kennen inzwischen: funktionale Abhängigkeiten (FDs) Eigenschaften guter Zerlegungen (Verlustlosigkeit, Abhängigkeitserhaltung) Wir hätten gerne: guten Weg, um eine gegebene Relation R in kleinere Relationen zu zerlegen Wir machen dies über: Schritt-für-Schritt Normalisierung Mit jedem Schritt erreichen wir eine höhere Normalisierungsstufe (1 bis 4).

Normalisierung: Ausblick Wir hätten gerne: guten Weg, um eine gegebene Relation R in kleinere Relationen zu zerlegen Wir machen dies über: Schritt-für-Schritt Normalisierung Mit jedem Schritt erreichen wir eine höhere Normalisierungsstufe (1 bis 4). Normalisierung erreicht: verlustlose Zerlegung manchmal auch abhängigkeitserhaltende Zerlegung In den entstehenden Relationen gibt es nur mehr interessante FDs zwischen Schlüssel- und Nichtschlüsselattributen.

Normalisierung Alternatives Material zu Normalisierung: Kapitel 2 von Andreas Meier: Relationale und postrelationale Datenbanken, Springer (innerhalb der MUL frei als pdf zum Download)

Erste Normalform Outline 1 Organisatorisches 2 SQL 3 Überblick Datenbankdesign 4 Normalisierung Erste Normalform Zweite Normalform Dritte Normalform Boyce-Codd Normal Form Vierte Normalform

Erste Normalform Erste Normalform Definition (1NF) Eine Relation ist in 1NF, wenn alle Attribute atomar sind. Diese Voraussetzung haben wir bereits gemacht. Beispiel einer Tabelle/Relation, die nicht in 1NF: Vater Mutter Kinder Karl Maria {Fritz, Franziska} Ronald Elisabeth {Hannes, Kathrin} Andreas Marianne {Sophia}

Erste Normalform Erste Normalform Beispiel Beispiel einer Tabelle/Relation, die nicht in 1NF: Vater Mutter Kinder Karl Maria {Fritz, Franziska} Ronald Elisabeth {Hannes, Kathrin} Andreas Marianne {Sophia} kann leicht in 1NF konvertiert werden: Vater Mutter Kind Karl Maria Fritz Karl Maria Franziska Ronald Elisabeth Hannes Ronald Elisabeth Kathrin Andreas Marianne Sophia

Zweite Normalform Outline 1 Organisatorisches 2 SQL 3 Überblick Datenbankdesign 4 Normalisierung Erste Normalform Zweite Normalform Dritte Normalform Boyce-Codd Normal Form Vierte Normalform

Zweite Normalform Zweite Normalform Definition (2NF) Eine Relation ist in 2NF, wenn sie in 1NF ist und jedes Nichtschlüsselattribut voll funktional abhängig von jedem Kandidatenschlüssel ist. (Zur Erinnerung: β ist voll funktional abhängig von α, wenn α β mit α minimal.) Intuition: Jedes Attribut im Schlüssel ist wichtig.

Zweite Normalform Zweite Normalform Beispiel Betrachten folgende Tabelle mit Studenteninformationen: (Annahme: nur ein Studium pro Student) Vname Nname MNr Stkz Studium LvaNr Lva Datum Note Wie sieht Schlüssel in dieser Tabelle aus? D.h. welche Werte müssen festgelegt werden, um eine Zeile eindeutig zu identifizieren?

Zweite Normalform Zweite Normalform Beispiel Betrachten folgende Tabelle mit Studenteninformationen: (Annahme: nur ein Studium pro Student) Vname Nname MNr Stkz Studium LvaNr Lva Datum Note Wie sieht Schlüssel in dieser Tabelle aus? D.h. welche Werte müssen festgelegt werden, um eine Zeile eindeutig zu identifizieren? Legt man Matrikelnummer, Lehrveranstaltungsnummer sowie Datum fest, kann es zu den gegebenen Werten nur eine Zeile in der Tabelle geben. {MNr,LvaNr,Datum} bildet (Super-)Schlüssel der Tabelle.

Zweite Normalform Zweite Normalform Beispiel Vname Nname MNr Stkz Studium LvaNr Lva Datum Note Listen für jedes Nichtschlüsselattribut jene Schlüsselattribute auf, von denen es voll funktional abhängt: Vname: Nname: Stkz: Studium: Lva: Note:

Zweite Normalform Zweite Normalform Beispiel Vname Nname MNr Stkz Studium LvaNr Lva Datum Note Listen für jedes Nichtschlüsselattribut jene Schlüsselattribute auf, von denen es voll funktional abhängt: Vname: MNr Nname: Stkz: Studium: Lva: Note:

Zweite Normalform Zweite Normalform Beispiel Vname Nname MNr Stkz Studium LvaNr Lva Datum Note Listen für jedes Nichtschlüsselattribut jene Schlüsselattribute auf, von denen es voll funktional abhängt: Vname: MNr Nname: MNr Stkz: Studium: Lva: Note:

Zweite Normalform Zweite Normalform Beispiel Vname Nname MNr Stkz Studium LvaNr Lva Datum Note Listen für jedes Nichtschlüsselattribut jene Schlüsselattribute auf, von denen es voll funktional abhängt: Vname: MNr Nname: MNr Stkz: MNr Studium: Lva: Note:

Zweite Normalform Zweite Normalform Beispiel Vname Nname MNr Stkz Studium LvaNr Lva Datum Note Listen für jedes Nichtschlüsselattribut jene Schlüsselattribute auf, von denen es voll funktional abhängt: Vname: MNr Nname: MNr Stkz: MNr Studium: MNr Lva: Note:

Zweite Normalform Zweite Normalform Beispiel Vname Nname MNr Stkz Studium LvaNr Lva Datum Note Listen für jedes Nichtschlüsselattribut jene Schlüsselattribute auf, von denen es voll funktional abhängt: Vname: MNr Nname: MNr Stkz: MNr Studium: MNr Lva: LvaNr Note:

Zweite Normalform Zweite Normalform Beispiel Vname Nname MNr Stkz Studium LvaNr Lva Datum Note Listen für jedes Nichtschlüsselattribut jene Schlüsselattribute auf, von denen es voll funktional abhängt: Vname: MNr Nname: MNr Stkz: MNr Studium: MNr Lva: LvaNr Note: MNr, LvaNr, Datum

Zweite Normalform Zweite Normalform Beispiel Vname Nname MNr Stkz Studium LvaNr Lva Datum Note Listen für jedes Nichtschlüsselattribut jene Schlüsselattribute auf, von denen es voll funktional abhängt: Vname: MNr Nname: MNr Stkz: MNr Studium: MNr Lva: LvaNr Note: MNr, LvaNr, Datum Diese Tabelle ist nicht in 2NF!

Zweite Normalform Zweite Normalform Beispiel bekommen 2NF, indem Attribute, die von derselben Menge von Schlüsselattributen abhängen, in einer Tabelle zusammengefasst werden: MNr Vname Nname Stkz Studium LvaNr Lva MNr LvaNr Datum Note Falls es kein Nichtschlüsselattribut gibt, das vom gesamten Schlüssel abhängt, gibt es eine zusätzliche Tabelle, die nur die Schlüsselwerte enthält!

Dritte Normalform Outline 1 Organisatorisches 2 SQL 3 Überblick Datenbankdesign 4 Normalisierung Erste Normalform Zweite Normalform Dritte Normalform Boyce-Codd Normal Form Vierte Normalform

Dritte Normalform Dritte Normalform Definition (3NF) Eine Relation ist in 3NF, wenn sie in 1NF ist und für jede FD α β mindestens eine der folgenden Bedingungen gilt: 1 β α, d.h. die FD α β ist trivial, 2 β ist in einem Kandidatenschlüssel enthalten, 3 α ist ein Superschlüssel. Insbesondere ist eine Relation nicht in 3NF, wenn es FDs zwischen Attributen gibt, die nicht Teil eines (Kandidaten-/Super-)Schlüssels sind. Intuition: wollen keine FDs zwischen Nichtschlüsselattributen

Dritte Normalform Dritte Normalform Beispiel Beispiel. MNr Vname Nname Stkz Studium LvaNr Lva MNr LvaNr Datum Note

Dritte Normalform Dritte Normalform Beispiel Beispiel. MNr Vname Nname Stkz Studium LvaNr Lva MNr LvaNr Datum Note Die FD Stkz Studium erfüllt keine der Bedingungen zur 3NF..

Dritte Normalform Dritte Normalform Beispiel Beispiel. Zerlegung, die 3NF erfüllt: MNr Vname Nname Stkz Stkz Studium LvaNr Lva MNr LvaNr Datum Note

Dritte Normalform Synthesealgorithmus für 3NF Gegeben: Relation R, Menge F von FDs Wir wollen: verlustlose und abhängigkeitserhaltende Zerlegung R 1,..., R n, sodass jedes R i in 3NF ist Algorithmus: 1 Bestimme kanonische Überdeckung F c von F (siehe Unit 5). 2 Lege für jede FD α β in F c eine Relation R α := α β an (und bestimme entsprechende Menge von FDs F α ). 3 Wenn eine der Relationen R α einen Kandidatenschlüssel von R enthält, sind wir fertig. Ansonsten lege weitere Relation R κ für einen Kandidatenschlüssel κ von R an (mit F κ = ). 4 Lösche Relationen R α, die in anderen Relationen R α enthalten sind, d.h. R α R α.

Dritte Normalform Synthesealgorithmus Beispiel Betrachten folgende Tabelle mit Studenteninformationen: (Annahme: nur ein Studium pro Student) Vname Nname MNr Stkz Studium LvaNr Lva Datum Note Funktionale Abhängigkeiten: MNr Vname, Nname, Stkz, Studium Stkz Studium LvaNr Lva MNr, LvaNr, Datum Note

Dritte Normalform Synthesealgorithmus Beispiel Betrachten folgende Tabelle mit Studenteninformationen: (Annahme: nur ein Studium pro Student) Vname Nname MNr Stkz Studium LvaNr Lva Datum Note Kanonische funktionale Abhängigkeiten: MNr Vname, Nname, Stkz Stkz Studium LvaNr Lva MNr, LvaNr, Datum Note

Dritte Normalform Synthesealgorithmus Beispiel Betrachten folgende Tabelle mit Studenteninformationen: (Annahme: nur ein Studium pro Student) Vname Nname MNr Stkz Studium LvaNr Lva Datum Note Tabellen: MNr, Vname, Nname, Stkz Stkz, Studium LvaNr, Lva MNr, LvaNr, Datum, Note

Dritte Normalform Synthesealgorithmus Beispiel Betrachten folgende Tabelle mit Studenteninformationen: (Annahme: nur ein Studium pro Student) Vname Nname MNr Stkz Studium LvaNr Lva Datum Note Tabellen: MNr, Vname, Nname, Stkz Stkz, Studium LvaNr, Lva MNr, LvaNr, Datum, Note Die letzte Tabelle enthält Kandidatenschlüssel der ursprünglichen Tabelle, also sind wir fertig.

Boyce-Codd Normal Form Outline 1 Organisatorisches 2 SQL 3 Überblick Datenbankdesign 4 Normalisierung Erste Normalform Zweite Normalform Dritte Normalform Boyce-Codd Normal Form Vierte Normalform

Boyce-Codd Normal Form Boyce-Codd Normalform Definition (BCNF) Eine Relation ist in BCNF, wenn sie in 1NF ist und für jede FD α β mindestens eine der folgenden eine der folgenden Bedingungen gilt: 1 β α, d.h. die FD α β ist trivial, 2 α ist ein Superschlüssel. Unterschied zu 3NF: β darf nicht mehr Teil eines Kandidatenschlüssels sein. Intuition: Wie für 3NF wollen wir für BCNF keine FDs zwischen Nichtschlüsselattributen haben (inkl. Attribute, die Teil eines Kandidatenschlüssels sind, aber nicht als Primärschlüssel verwendet werden).

Boyce-Codd Normal Form Boyce-Codd Normalform Beispiel Beispiel. MNr LvaNr Semester Semesterabk Datum Note WS 2015/16 W15 Die Relation zwischen Semester und Semesterabk ist 1:1, sodass { MNr, LvaNr, Semester, Datum } ein Kandidatenschlüssel ist. Wir haben FDs: {Semester} {Semesterabk} und {Semesterabk} {Semester} Weder Semster noch Semesterabk ist Superschlüssel, noch sind die FDs trivial. Tabelle ist nicht in BCNF

Boyce-Codd Normal Form Boyce-Codd Normalform Beispiel Lösung: neue Tabelle für Semester MNr LvaNr Semesterabk Datum Note Semesterabk Semester

Boyce-Codd Normal Form Dekompositionsalgorithmus für BCNF Gegeben: Wir wollen: Relation R, Menge F von FDs Zerlegung R 1,..., R n in BCNF Dekompositionsalgorithmus: Initialisiere Z := {R}; while (es gibt R i in Z, das nicht in BCNF) do 1 Finde FD α β in R i mit α β = und α R i. 2 Zerlege R i in R i1 := α β und R i2 := R i β. 3 Ersetze R i in Z durch R i1 und R i2, d.h. Z := (Z {R i }) {R i1, R i2 }.

Boyce-Codd Normal Form 3NF vs. BCNF Der Synthesealgorithmus garantiert Zerlegung, die verlustlos, abhängigkeitserhaltend und in 3NF ist. Der Dekompositionsalgorithmus garantiert Zerlegung, die verlustlos und in BCNF ist.

Boyce-Codd Normal Form 3NF vs. BCNF Der Synthesealgorithmus garantiert Zerlegung, die verlustlos, abhängigkeitserhaltend und in 3NF ist. Der Dekompositionsalgorithmus garantiert Zerlegung, die verlustlos und in BCNF ist. Unglücklicherweise gilt: In einigen Fällen ist eine BCNF Zerlegung nicht abhängigkeitserhaltend. In diesen Fällen gibt man sich mit 3NF zufrieden.

Vierte Normalform Outline 1 Organisatorisches 2 SQL 3 Überblick Datenbankdesign 4 Normalisierung Erste Normalform Zweite Normalform Dritte Normalform Boyce-Codd Normal Form Vierte Normalform

Vierte Normalform Vierte Normalform und mehrwertige Abhängigkeiten Beispiel: möchten gerne Sprach- und Sportkurse für Studierende in Tabelle speichern: MNr Sprachkurs Sportkurs 1335335 Italienisch Schifahren 1335335 Italienisch Fechten 1335335 Italienisch Fußball 1335335 Spanisch Schifahren 1335335 Spanisch Fechten 1335335 Spanisch Fußball Es ist offensichtlich keine gute Idee, zwei (oder mehr) N : M Relationen in einer Tabelle zu speichern.

Vierte Normalform Mehrwertige Abhängigkeiten Die Abhängigkeiten {MNr} {Sprachkurs} und {MNr} {Sportkurs} sind sogenannte mehrwertige Abhängigkeiten (MVDs). Idee: Bei FD α β bestimmt gegebener Wert für α eindeutig einen Wert für β. Bei MVD α β bestimmt gegebener Wert für α eindeutig eine Menge von Werten für β. Definition (MVD) β ist mehrwertig abhängig von α (Notation: α β), wenn es für alle Tupel mit identischen α-werten mehrere Tupel mit vertauschten β-werten gibt. (MVDs sind eine Verallgemeinerung von FDs.)

Vierte Normalform Mehrwertige Abhängigkeiten Definition (MVD) β ist mehrwertig abhängig von α (Notation: α β), wenn es für alle Tupel mit identischen α-werten mehrere Tupel mit vertauschten β-werten gibt. Im Beispiel: Wenn es Zeilen 1335335, Italienisch, Fechten und 1335335, Spanisch, Fußball gibt, dann auch Zeilen 1335335, Spanisch, Fechten und 1335335, Italienisch, Fußball.

Vierte Normalform Vierte Normalform Idee: Keine Tabelle enthält mehr als eine mehrwertige Relation. Definition (4NF) Eine Relation R ist in 4NF, wenn sie in 1NF ist und für jede MVD α β mindestens eine der folgenden Bedingungen gilt: 1 die MVD α β ist trivial, d.h. entweder β α oder β = R α, 2 α ist ein Superschlüssel von R. Anmerkung: Jede Relation in 4NF ist auch in BCNF.

Vierte Normalform Vierte Normalform Beispiel MNr Sprachkurs Sportkurs 1335335 Italienisch Schifahren 1335335 Italienisch Fechten 1335335 Italienisch Fußball 1335335 Spanisch Schifahren 1335335 Spanisch Fechten 1335335 Spanisch Fußball MVDs: {MNr} {Sprachkurs} und {MNr} {Sportkurs} Tabelle nicht in 4NF

Vierte Normalform Vierte Normalform Beispiel Beispiel. MNr Sprachkurs 1335335 Italienisch 1335335 Spanisch MNr Sportkurs 1335335 Schifahren 1335335 Fechten 1335335 Fußball

Vierte Normalform Verallgemeinerter Dekompositionsalgorithmus für 4NF Gegeben: Relation R, Menge F von MVDs Wir wollen: Zerlegung R 1,..., R n in 4NF Verallgemeinerter Dekompositionsalgorithmus: Initialisiere Z := {R}; while (es gibt R i in Z, das nicht in 4NF) do 1 Finde MVD α β in R i mit α β = und α R i. 2 Zerlege R i in R i1 := α β und R i2 := R i β. 3 Ersetze R i in Z durch R i1 und R i2, d.h. Z := (Z {R i }) {R i1, R i2 }. (Nachdem jede Relation in 4NF auch in BCNF ist, gibt es Fälle, wo eine 4NF Zerlegung nicht abhängigkeitserhaltend ist.)

Vierte Normalform Weiteres Beispiel Datenbank Personalabteilung: pers_no name lohn abt chef projekt kurs FDs: {pers_no} {name, lohn, abt, chef} {abt} {chef} {chef} {abt} MVDs: {pers_no} {projekt} {pers_no} {kurs}

Vierte Normalform Weiteres Beispiel Wenden Dekompositionsalgorithmus an: FD {pers_no} {name, lohn, abt, chef} gibt Zerlegung pers_no name lohn abt chef pers_no projekt kurs

Vierte Normalform Weiteres Beispiel Wenden Dekompositionsalgorithmus an: FD {abt} {chef} gibt Zerlegung pers_no name lohn abt abt chef pers_no projekt kurs

Vierte Normalform Weiteres Beispiel Wenden Dekompositionsalgorithmus an: MVDs {pers_no} {projekt} und {pers_no} {kurs} geben Zerlegung pers_no name lohn abt abt chef pers_no projekt pers_no kurs

Vierte Normalform Weiteres Beispiel Wenden Dekompositionsalgorithmus an: MVDs {pers_no} {projekt} und {pers_no} {kurs} geben Zerlegung pers_no name lohn abt abt chef pers_no projekt pers_no kurs ist in 4NF

Vierte Normalform Weiteres Beispiel Wenn mehr Informationen zu Projekten und Kursen gespeichert werden sollen: pers_no name lohn abt abt chef pers_no projekt_nr pers_no kurs_nr projekt_nr name... kurs_nr name...