Mailinglisten-Archive |
Heiko Romahn schrieb am Sonntag, den 5. September 1999: > > Ich probier's mal ... :-) > > kennst Du auch die mehr theoretischen 4 und 5? Die habe ich > naehmlich noch nirgends gefunden. Bisher immer nur einen Hinweis > darauf, dass es sie wohl auch gibt. :-) Und sogar noch mehr! Knapp nach der 3NF gibt's noch die Boyce-Codd-Normalform (BCNF), dann die 4NF, die sich mit mehrwertigen Abhängigkeiten beschäftigt, die 5NF (auch PJNF = Projection-Join-Normalform genannt) und am Ende noch die Domain-Key-Normalform (DKNF). Die Hierarchie ist DKNF ==> 5NF ==> 4NF ==> BCNF ==> 3NF ==> 2NF ==> 1NF Wenn's auch Englisch sein darf, habe ich hier zwei Links, die auch die höheren Normalformen recht gut erklären: - Overview of Normalization <URL: http://www.gslis.utexas.edu/~l384k11w/normover.html > - Steps in Normalization <URL: http://www.gslis.utexas.edu/~l384k11w/normstep.html > Oder eine sehr gute Zusammenfassung aus Sascha Webers Diplomarbeit <URL: http://www.wiwi.uni-frankfurt.de/~sascha/diprtf.html >: ---------------------------------------------------------------------- 2.2.2. Das Normalisierungskonzept Unter Normalisierung versteht man das Zerlegen von Relationen derart, daß die erhaltenen Relationen am Ende sämtlich den Normalisierungsregeln entsprechen.[7] Es gibt die Normalformen 1-3 (1NF-3NF), die aus Codds Originaldefinition von 1972 hervorgegangen sind. Boyce und Codd definierten 1974 eine Boyce-Codd-Normalform (BCNF). R. Fagin fügte diesen 1977 eine vierte und 1979 eine fünfte hinzu.[8] Die Normalformen bauen hierarchisch aufeinander auf, d.h. befindet sich ein Relationenschema im Zustand einer Normalform, so schließt dies alle in der Hierarchie vorausgehenden Normalformen ein. Abb. 2: Normalformen Quelle: Date, C. J.: An Introduction to Database Systems, Volume I, 4. Aufl., Reading 1986, S.363 Die Normalformen im einzelnen:[9] 1NF: Eine Relation befindet sich in der ersten Normalform, wenn alle Attributwerte atomar sind. 2NF: Eine Relation befindet sich in der zweiten Normalform, wenn sie sich in der ersten Normalform befindet und jedes Nicht-Schlüssel- Attribut voll funktional abhängig vom (zusammengesetzten) Gesamtschlüssel, nicht aber von einzelnen Attributen des zusammengesetzten Schlüssels ist. Die zweite Normalform ist demnach nur verletzbar, wenn der Primärschlüssel zusammengesetzt ist. 3NF: Eine Relation befindet sich in der dritten Normalform, wenn sie sich in der zweiten Normalform befindet und keine funktionalen Abhängigkeiten zwischen Nicht-Schlüssel-Attributen bestehen, d.h. Attribute, die nicht zum Primärschlüssel gehören, müssen direkt und dürfen nicht indirekt (transitiv) von ihm abhängig sein. BCNF: Eine Relation befindet sich in der Boyce-Codd-Normalform, wenn sie sich in der dritten Normalform befindet und jede Determinante ein Schlüsselkandidat ist. 4NF: Eine Relation befindet sich in der vierten Normalform, wenn sie sich in der dritten bzw. Boyce-Codd-Normalform befindet und sie keine paarweise auftretenden mehrwertigen Abhängigkeiten enthält. In einer Relation R(S,A,B,C) ist Attribut C mehrwertig abhängig vom Attribut A, falls zu einem Wert von A für jede Kombination dieses Wertes mit einem Wert von B eine identische Menge von C-Werten existieren kann. 5NF: Eine Relation befindet sich in der fünften Normalform, wenn sie sich in der vierten Normalform befindet und sie nicht durch eine Verschmelzung von Relationen, die weniger Attribute und unterschiedliche Schlüssel aufweisen, rekonstruiert werden kann. Durch den Normalisierungsprozeß wird die Erhaltung der Integrität der Datenbank erleichtert, Redundanzarmut gefördert und die Lesbarkeit der Relationen erleichtert. Eine genauere Betrachtung dieser Aspekte erfolgt im weiteren Verlauf dieser Arbeit. ---------------------------------------------------------------------- Ciao, Martin -- Martin Ramsch <m.ramsch_(at)_computer.org> <URL: http://home.pages.de/~ramsch/ > PGP KeyID=0xE8EF4F75 FiPr=52 44 5E F3 B0 B1 38 26 E4 EC 80 58 7B 31 3A D7 --- *** Abmelden von dieser Mailingliste funktioniert per E-Mail *** an mysql-de-request_(at)_lists.4t2.com mit Betreff/Subject: unsubscribe
php::bar PHP Wiki - Listenarchive