Druga postać normalna
Druga postać normalna ( 2NF ) to postać normalna używana w normalizacji baz danych . 2NF został pierwotnie zdefiniowany przez EF Codda w 1971 roku.
Relacja jest w drugiej postaci normalnej, jeśli spełnia dwa warunki:
- Jest w pierwszej postaci normalnej .
- Nie ma żadnego atrybutu innego niż główny , który jest funkcjonalnie zależny od jakiegokolwiek właściwego podzbioru jakiegokolwiek kandydującego klucza relacji (tzn. nie ma częściowych zależności). Atrybut inny niż główny relacji to atrybut, który nie jest częścią żadnego kandydującego klucza relacji.
Mówiąc prościej, relacja jest w 2NF, jeśli jest w 1NF, a każdy nie-prime atrybut relacji jest zależny od całości każdego klucza kandydującego. Zauważ, że nie nakłada żadnych ograniczeń na zależność atrybutów non-prime od non-prime. To jest adresowane w trzeciej postaci normalnej .
Aby uczynić relację 1NF relacją 2NF, usuń funkcjonalnie zależne atrybuty z częściowych zależności pierwszej relacji w postaci normalnej i umieść te funkcjonalnie zależne atrybuty w osobnej tabeli z częścią klucza podstawowego oryginalnej relacji, która funkcjonalnie określała te funkcjonalnie zależne atrybuty .
2NF i klucze kandydujące
Funkcjonalna zależność od części dowolnego klucza kandydującego jest naruszeniem 2NF. Oprócz klucza podstawowego relacja może zawierać inne klucze kandydujące; konieczne jest ustalenie, że żadne atrybuty inne niż pierwsze nie są częściowo zależne od któregokolwiek z tych kluczy kandydujących.
Następująca relacja nie spełnia 2NF, ponieważ:
- {Kraj producenta} jest funkcjonalnie zależny od {Producenta}.
- {Kraj producenta} nie jest częścią klucza kandydującego, więc nie jest atrybutem głównym. (Zakłada się, że dwóch producentów w tym samym kraju może wyprodukować szczoteczkę do zębów o tej samej nazwie modelu, więc {Kraj producenta, Model} nie jest kluczem kandydującym, mimo że w bieżącej tabeli para jednoznacznie identyfikuje wiersze.)
- {Producent} jest właściwym podzbiorem klucza kandydującego {Producent, Model}.
Ponieważ {Kraj producenta} jest atrybutem innym niż główny, funkcjonalnie zależnym od części klucza kandydującego, relacja narusza 2NF.
Producent | Model | Kraj producenta |
---|---|---|
Forte | X-Prime | Włochy |
Forte | Bardzo czyste | Włochy |
Dent-o-Fresh | EZbrush | USA |
szczotkarz | superszczotka | USA |
Kobayashiego | ST-60 | Japonia |
Hoch | mistrz zębów | Niemcy |
Hoch | X-Prime | Niemcy |
Relacja nie jest w 2NF. {Producent, Model} jest kluczem kandydującym, a kraj producenta jest zależny od odpowiedniego jego podzbioru: Producent. Aby projekt był zgodny z 2NF, konieczne są dwie zależności:
Producent | Kraj producenta |
---|---|
Forte | Włochy |
Dent-o-Fresh | USA |
szczotkarz | USA |
Kobayashiego | Japonia |
Hoch | Niemcy |
Producent | Model |
---|---|
Forte | X-Prime |
Forte | Bardzo czyste |
Dent-o-Fresh | EZbrush |
szczotkarz | superszczotka |
Kobayashiego | ST-60 |
Hoch | mistrz zębów |
Hoch | X-Prime |
Zobacz też
Dalsza lektura
- Porady Litta: Normalizacja
-
Data, CJ ; Lorentzos, N.; Darwen, H. (2002). Dane czasowe i model relacyjny (wyd. 1). Morgana Kaufmanna. ISBN 1-55860-855-9 .
{{ cite book }}
: CS1 maint: stan adresu URL ( link ) - Data, CJ (2004). Wprowadzenie do systemów baz danych (wyd. 8). Boston: Addison-Wesley. ISBN 978-0-321-19784-9 .
- Kent, W. (1983). „Prosty przewodnik po pięciu formach normalnych w teorii relacyjnej bazy danych” . Komunikaty ACM . 26 : 120–125.
Linki zewnętrzne
- Podstawy normalizacji bazy danych — Mike Chapple (About.com)
- Wprowadzenie do normalizacji bazy danych autorstwa Mike'a Hillyera.
- Samouczek dotyczący pierwszych 3 form normalnych autorstwa Freda Coulsona
- Opis podstaw normalizacji baz danych firmy Microsoft