Ich bin beim Verweisen auf das Internet und Lehrbücher auf zwei Arten des Normalisierungsverfahrens gestoßen. nämlich.
Typ 1 . Normalformen, die nur auf dem Primärschlüssel basieren.
In diesem Typ
-> 2NF verbietet partielle Abhängigkeiten vom Primärschlüssel .
-> 3NF erlaubt keine transitiven Abhängigkeiten vom Primärschlüssel .
Typ 2 . Eine viel allgemeinere Normalform, die auf ALLEN Kandidatenschlüsseln basiert
In diesem Typ
Teilabhängigkeiten und transitive Abhängigkeiten von ALLEN Kandidatenschlüsseln werden berücksichtigt.
In den meisten Websites, auf die ich verwiesen habe, habe ich Tutorials und Notizen gefunden, die nur auf dem ersten Typ basieren. Das Lehrbuch 'Fundamentals of Database Systems' von Navathe und Elmasri beschreibt jedoch beide Typen. Sogar die Wikipedia-Seite zu 2NF erwähnt separat '2NF und Kandidatenschlüssel', die auf dem 2. Typ basieren.
Siehe 2NF und Kandidatenschlüssel - Wiki
Aber weder im Lehrbuch noch im Wiki wird erwähnt, welcher Typ besser ist oder welcher praktisch bevorzugt wird.
Welchem Typ sollte gefolgt werden, wenn nichts über den Typ erwähnt wird? Hoffe du hast meine Frage verstanden.
Bitte helfen Sie mir bei diesen Jungs.
quelle
Antworten:
Die Normalisierung betrifft alle Kandidatenschlüssel. Ein Primärschlüssel ist nur ein Kandidatenschlüssel. Primärschlüssel unterscheiden sich nicht von anderen Kandidatenschlüsseln.
Mögliche Verwirrung entsteht , weil in den frühen Tagen der relationalen Datenbank Theorie der Begriff Primärschlüssel verwendet wird, bedeutet alle und alle Kandidaten Schlüssel während moderne Nutzung ist , dass Primary Key bedeutet , dass nur eine Taste , die „bevorzugte“ oder als eine besondere Bedeutung für die Datenbankbenutzer haben . Leider sind viele der "Definitionen", die Sie online oder sogar in gedruckter Form sehen, infolgedessen falsch.
quelle