Co to jest normalizacja bazy danych?
Normalizacja bazy danych to proces projektowania struktury tabel w taki sposób, aby dane były uporządkowane, spójne i nie powtarzały się bez potrzeby. Jej głównym celem jest wyeliminowanie nadmiarowości danych oraz ograniczenie błędów podczas dodawania, modyfikowania i usuwania rekordów.
W pytaniach egzaminacyjnych normalizacja najczęściej oznacza: uporządkowanie struktury bazy danych w celu usunięcia zbędnych powtórzeń danych.
Po co stosuje się normalizację?
Normalizacja pomaga:
- zmniejszyć ilość powtarzających się danych,
- uniknąć niespójności w bazie,
- poprawić integralność danych,
- łatwiej aktualizować informacje,
- logicznie podzielić dane na tabele,
- poprawnie tworzyć relacje między tabelami.
Przykład problemu
Jeżeli w jednej tabeli zamowienia przechowywane są jednocześnie dane zamówienia i pełne dane klienta, to dane klienta mogą powtarzać się wiele razy:
- imię klienta,
- nazwisko,
- adres,
- numer telefonu.
Lepszym rozwiązaniem jest podział na dwie tabele:
klienci— dane klientów,zamowienia— dane zamówień z odwołaniem do klienta.
Dzięki temu dane klienta zapisuje się tylko raz, a zamówienia wskazują na niego przez klucz obcy.
Postacie normalne
W praktyce spotyka się różne poziomy normalizacji, np.:
- 1NF — wartości w kolumnach są niepodzielne,
- 2NF — dane zależą od całego klucza głównego,
- 3NF — dane nie zależą od innych pól niebędących kluczem.
Najważniejsze na egzamin
Normalizacja nie służy do dodawania rekordów, graficznego rysowania bazy ani wyłącznie do tworzenia tabel. Jej celem jest uporządkowanie struktury bazy i eliminacja nadmiarowości danych.