Das ist eine gute Frage. Eine Normalisierung über BCNF hinaus ist äußerst schwer zu verstehen. Hoffentlich kann ich eine sinnvolle Antwort geben. Ich hatte über 20 Jahre lang mit diesen Konzepten zu kämpfen, bevor ich sie dank Fabian Pascals Practical Database Foundation Series endlich verstand .
Das bereitgestellte Beispiel ist eine EmpRoleProj
R-Tabelle, die so aussieht:
Anschließend werden Projektionen der ursprünglichen EmpRoleProj
R-Tabelle wie folgt angezeigt:
Der Grund, warum Sie mit den Basistabellen nichts falsches sehen Table 1
und Table 2
ist, dass Sie die im Geschäftsmodell, das die Geschäftsregeln beschreibt, definierten Abhängigkeitsregeln (in diesem Fall MVD- Regeln ( Multivalued Dependency Rules)) nicht berücksichtigen . Wenn wir beispielsweise annehmen, dass in den Geschäftsregeln keine MVDs definiert sind, befindet sich EmpRoleProj trotz des "Auftretens" von Redundanzen in 5NF . Es scheint zum Beispiel, dass die Information, dass Smith ein Designer ist, redundant gespeichert wird. Es scheint auch, dass die Informationen, die ein Designer für das Amazon-Projekt benötigt, redundant gespeichert werden. Während dies der Fall zu sein scheint , ist es Smith, wenn man erfährt, dass es sich tatsächlich nicht um MVDs handeltgeschieht ein Designer auf ein paar Projekte zu sein, aber es ist nicht eine Tatsache , dass Smith ist ein Designer und damit diese Tatsache soll nicht geschlossen werden. Wenn Tabelle 1 und Tabelle 2 verbunden werden, ergibt sich Folgendes:
zeigt Jones als Designer für das Nil-Projekt, aber wir wissen, dass dies nicht der Fall ist.
Nehmen wir an , anstatt das Geschäftsmodell hat es sagen war MVDs von empName-->>role
und role-->>projName
. In diesem Fall bedeuten diese MVDs , dass, wenn ein Mitarbeiter eine Rolle spielt und wenn diese Rolle in einem Projekt spielt , dieser Mitarbeiter per Definition diese Rolle in diesem Projekt spielt. In diesem Beispiel ist , dass gleiche EmpRoleProj Tabelle jetzt nicht in 5NF und jetzt nicht von Redundanz leiden. Jetzt werden die Fakten, dass Smith ein Designer ist und ein Designer für das Amazon-Projekt benötigt wird , redundant gespeichert, da diese Fakten aus der Verknüpfung von Tabelle 1 und Tabelle 2 abgeleitet werden könnten ! Ebenso ist die Verknüpfung von Tabelle 1 und Tabelle 2 jetzt nicht mehr möglichDies führt zu einem falschen Tupel, da die Schlussfolgerung, dass Jones ein Designer des Nil-Projekts ist , nun auf den von den MVDs definierten Geschäftsregeln basiert.
Aus diesem Grund können Sie die normale Form einer R-Tabelle nicht beurteilen, ohne die Abhängigkeiten und den definierten Schlüssel zu kennen. Jede Annahme, auch eine, die Ihnen sinnvoll erscheint, kann gefährlich sein. Wenn Sie jemals gefragt werden, in welcher normalen Form sich eine R-Tabelle befindet, müssen Sie nach den zu bewertenden Abhängigkeiten fragen. Neben Fabians Aufsatzreihe liefern Chris Dates Arbeiten die besten verfügbaren Informationen zur Normalisierungstheorie.