1NF vs 2NF vs 3NF
Normalizacja to proces przeprowadzany w celu zminimalizowania nadmiarowości obecnych w danych w relacyjnych bazach danych. Ten proces dzieli głównie duże tabele na mniejsze tabele z mniejszą liczbą redundancji. Te mniejsze tabele będą ze sobą powiązane poprzez dobrze zdefiniowane relacje. W dobrze znormalizowanej bazie danych każda zmiana lub modyfikacja danych wymaga modyfikacji tylko jednej tabeli. Pierwszą postać normalną (1NF), drugą postać normalną (2NF) i trzecią postać normalną (3NF) wprowadził Edgar F. Codd, który jest również wynalazcą modelu relacyjnego i koncepcji normalizacji.
Co to jest 1NF?
1NF jest pierwszą normalną formą, która zapewnia minimalny zestaw wymagań do normalizacji relacyjnej bazy danych. Tabela zgodna z 1NF zapewnia, że faktycznie reprezentuje relację (tj. Nie zawiera żadnych powtarzających się rekordów), ale nie ma powszechnie akceptowanej definicji 1NF. Jedną ważną właściwością jest to, że tabela zgodna z 1NF nie może zawierać żadnych atrybutów o wartości relacyjnej (tj. Wszystkie atrybuty powinny mieć wartości atomowe).
Co to jest 2NF?
2NF to druga normalna forma używana w relacyjnych bazach danych. Aby tabela była zgodna z 2NF, powinna być zgodna z 1NF, a każdy atrybut, który nie jest częścią żadnego klucza kandydującego (tj. Atrybuty niepierwotne), powinien w pełni zależeć od dowolnego z kluczy kandydujących w tabeli.
Co to jest 3NF?
3NF to trzecia normalna forma używana w normalizacji relacyjnych baz danych. Zgodnie z definicją Codda, mówi się, że tabela ma format 3NF, wtedy i tylko wtedy, gdy ta tabela ma drugą normalną postać (2NF), a każdy atrybut w tabeli, który nie należy do klucza kandydującego, powinien bezpośrednio zależeć na każdym kluczu kandydata w tej tabeli. W 1982 r. Carlo Zaniolo opracował odmiennie wyrażoną definicję 3NF. Tabele zgodne z 3NF zasadniczo nie zawierają anomalii, które występują podczas wstawiania, usuwania lub aktualizacji rekordów w tabeli.
Jaka jest różnica między 1NF a 2NF i 3NF?
1NF, 2NF i 3NF są normalnymi formami stosowanymi w relacyjnych bazach danych w celu zminimalizowania nadmiarowości w tabelach. 3NF jest uważany za silniejszą postać normalną niż 2NF i jest uważany za silniejszą postać normalną niż 1NF. Dlatego ogólnie uzyskanie tabeli zgodnej z formularzem 3NF będzie wymagać dekompozycji tabeli znajdującej się w 2NF. Podobnie uzyskanie tabeli zgodnej z 2NF wymagać będzie dekompozycji tabeli, która znajduje się w 1NF. Jeśli jednak tabela zgodna z 1NF zawiera klucze kandydujące, które składają się tylko z jednego atrybutu (tj. Klucze niekompozytowe kandydujące), taka tabela byłaby automatycznie zgodna z 2NF. Dekompozycja tabel spowoduje dodatkowe operacje łączenia (lub produkty kartezjańskie) podczas wykonywania zapytań. Zwiększy to czas obliczeń. Z drugiej strony tabele zgodne z silniejszymi normalnymi formularzami miałyby mniej nadmiarowości niż tabele zgodne tylko ze słabszymi normalnymi formularzami.