logo

Normalizacja

Duża baza danych zdefiniowana jako pojedyncza relacja może skutkować duplikacją danych. Powtarzanie danych może skutkować:

  • Tworzenie relacji bardzo dużych.
  • Utrzymanie i aktualizacja danych nie jest łatwe, ponieważ wymagałoby przeszukiwania wielu rekordów w powiązaniu.
  • Marnotrawstwo i słabe wykorzystanie miejsca na dysku i zasobów.
  • Zwiększa się prawdopodobieństwo błędów i niespójności.

Aby więc poradzić sobie z tymi problemami, powinniśmy przeanalizować i rozłożyć relacje ze zbędnymi danymi na mniejsze, prostsze i dobrze ustrukturyzowane relacje, które spełniają pożądane właściwości. Normalizacja to proces rozkładu relacji na relacje o mniejszej liczbie atrybutów.

Co to jest normalizacja?

  • Normalizacja to proces porządkowania danych w bazie danych.
  • Normalizację stosuje się w celu zminimalizowania redundancji relacji lub zestawu relacji. Służy również do eliminowania niepożądanych cech, takich jak anomalie wstawiania, aktualizacji i usuwania.
  • Normalizacja dzieli większą tabelę na mniejsze i łączy je za pomocą relacji.
  • Postać normalna służy do zmniejszenia nadmiarowości tabeli bazy danych.

Dlaczego potrzebujemy normalizacji?

Głównym powodem normalizacji relacji jest usunięcie tych anomalii. Niewyeliminowanie anomalii prowadzi do nadmiarowości danych i może spowodować integralność danych oraz inne problemy w miarę rozrastania się bazy danych. Normalizacja składa się z szeregu wskazówek, które pomagają w tworzeniu dobrej struktury bazy danych.

Anomalie modyfikacji danych można podzielić na trzy typy:

    Anomalia wstawiania:Anomalia wstawiania odnosi się do sytuacji, w której nie można wstawić nowej krotki do relacji z powodu braku danych.Anomalia usuwania:Anomalia usuwania odnosi się do sytuacji, w której usunięcie danych powoduje niezamierzoną utratę innych ważnych danych.Anomalia aktualizacji:Anomalia aktualizacji ma miejsce, gdy aktualizacja pojedynczej wartości danych wymaga aktualizacji wielu wierszy danych.

Rodzaje form normalnych:

Normalizacja przebiega poprzez szereg etapów zwanych formami normalnymi. Formy normalne mają zastosowanie do relacji indywidualnych. Mówi się, że relacja ma szczególną postać normalną, jeśli spełnia ograniczenia.

Poniżej przedstawiono różne typy form normalnych:

Normalizacja DBMS
Normalna forma Opis
1NF Relacja jest w 1NF, jeśli zawiera wartość atomową.
2NF Relacja będzie w 2NF, jeśli jest w 1NF i wszystkie atrybuty niekluczowe będą w pełni funkcjonalne w zależności od klucza podstawowego.
3NF Relacja będzie w 3NF, jeśli jest w 2NF i nie istnieje żadna zależność przejściowa.
BCNF Silniejsza definicja 3NF jest znana jako normalna postać Boyce'a Codda.
4NF Relacja będzie w 4NF, jeśli będzie w normalnej postaci Boyce’a Codda i nie będzie zawierała zależności wielowartościowych.
5NF Relacja jest w 5NF. Jeśli jest w 4NF i nie zawiera żadnej zależności łączenia, łączenie powinno być bezstratne.

Zalety normalizacji

  • Normalizacja pomaga zminimalizować nadmiarowość danych.
  • Większa ogólna organizacja bazy danych.
  • Spójność danych w bazie danych.
  • Znacznie bardziej elastyczny projekt bazy danych.
  • Egzekwuje koncepcję integralności relacyjnej.

Wady normalizacji

  • Nie możesz rozpocząć budowania bazy danych, zanim nie dowiesz się, czego potrzebuje użytkownik.
  • Wydajność ulega pogorszeniu podczas normalizowania relacji do wyższych form normalnych, tj. 4NF, 5NF.
  • Normalizacja relacji wyższego stopnia jest bardzo czasochłonna i trudna.
  • Nieostrożna dekompozycja może prowadzić do złego projektu bazy danych, co prowadzi do poważnych problemów.