Różnica między normalizacją a denormalizacją

Różnica między normalizacją a denormalizacją
Różnica między normalizacją a denormalizacją

Wideo: Różnica między normalizacją a denormalizacją

Wideo: Różnica między normalizacją a denormalizacją
Wideo: Między dziennikarstwem a literaturą: „Łże-reportaże i prawdziwie fikcje” 2024, Lipiec
Anonim

Normalizacja kontra denormalizacja

Relacyjne bazy danych składają się z relacji (tabele pokrewne). Tabele składają się z kolumn. Jeśli tabele są dwie duże (tj. za dużo kolumn w jednej tabeli), mogą wystąpić anomalie bazy danych. Jeśli tabele są dwiema małymi (tj. baza danych składa się z wielu mniejszych tabel), byłoby to nieefektywne dla zapytań. Normalizacja i Denormalizacja to dwa procesy, które służą do optymalizacji wydajności bazy danych. Normalizacja minimalizuje nadmiarowość, która występuje w tabelach danych. Denormalizacja (odwrócenie normalizacji) dodaje nadmiarowe dane lub dane grupowe.

Co to jest normalizacja?

Normalizacja to proces przeprowadzany w celu zminimalizowania nadmiarowości, która występuje w danych w relacyjnych bazach danych. Ten proces dzieli głównie duże tabele na mniejsze tabele z mniejszą liczbą nadmiarowości (tzw. „formy normalne”). Te mniejsze tabele będą ze sobą powiązane poprzez dobrze zdefiniowane relacje. W dobrze znormalizowanej bazie danych każda zmiana lub modyfikacja danych będzie wymagała modyfikacji tylko jednej tabeli. Pierwsza postać normalna (1NF), druga postać normalna (2NF) i trzecia postać normalna (3NF) zostały wprowadzone przez Edgara F. Codda. Forma normalna Boyce-Codd (BCNF) została wprowadzona w 1974 roku przez Codda i Raymonda F. Boyce. Zdefiniowano wyższe formy normalne (4NF, 5NF i 6NF), ale są one rzadko używane.

Tabela zgodna z 1NF zapewnia, że faktycznie reprezentuje relację (tj. nie zawiera żadnych powtarzających się rekordów) i nie zawiera żadnych atrybutów o wartościach relacyjnych (tj.mi. wszystkie atrybuty powinny mieć wartości niepodzielne). 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 inne niż pierwsze), powinien w pełni zależeć od dowolnego klucza kandydującego w tabeli. Zgodnie z definicją Codda o tabeli mówi się, że jest w 3NF, wtedy i tylko wtedy, gdy ta tabela jest w drugiej postaci normalnej (2NF) i każdy atrybut w tabeli, który nie należy do klucza kandydującego, powinien bezpośrednio zależeć od każdego klucz kandydujący tej tabeli. BCNF (znany również jako 3.5NF) wychwytuje niektóre anomalie, które nie są rozwiązywane przez 3NF.

Co to jest denormalizacja?

Denormalizacja to proces odwrotny do procesu normalizacji. Denormalizacja polega na dodawaniu nadmiarowych danych lub grupowaniu danych w celu optymalizacji wydajności. Mimo że dodawanie nadmiarowych danych wydaje się nieproduktywne, czasami denormalizacja jest bardzo ważnym procesem pozwalającym przezwyciężyć niektóre niedociągnięcia w oprogramowaniu relacyjnych baz danych, które mogą wiązać się z poważnymi spadkami wydajności w przypadku znormalizowanych baz danych (nawet dostrojonych pod kątem wyższej wydajności). Dzieje się tak, ponieważ łączenie kilku relacji (które są wynikiem normalizacji) w celu uzyskania wyniku zapytania może czasami być powolne w zależności od rzeczywistej fizycznej implementacji systemów baz danych.

Jaka jest różnica między normalizacją a denormalizacją?

– Normalizacja i denormalizacja to dwa procesy, które są całkowicie odwrotne.

– Normalizacja to proces dzielenia większych tabel na mniejsze, redukujący nadmiarowe dane, podczas gdy denormalizacja to proces dodawania nadmiarowych danych w celu optymalizacji wydajności.

– Normalizacja jest przeprowadzana, aby zapobiec anomaliom w bazach danych.

– Denormalizacja jest zwykle przeprowadzana w celu poprawy wydajności odczytu bazy danych, ale ze względu na dodatkowe ograniczenia stosowane do denormalizacji zapisy (tj. operacje wstawiania, aktualizowania i usuwania) mogą stać się wolniejsze. W związku z tym zdenormalizowana baza danych może oferować gorszą wydajność zapisu niż znormalizowana baza danych.

– Często zaleca się „normalizację aż do bólu, denormalizację, aż zacznie działać”.

Zalecana: