Normalizacja jest procesem używanym w projektowaniu baz danych do organizowania tabel i atrybutów i jest kluczową koncepcją w relacyjnych bazach danych. Celem normalizacji jest zmniejszenie (lub wyeliminowanie) prawdopodobieństwa wystąpienia pewnych typów anomalii danych podczas operacji manipulacji danymi. Proces ten zazwyczaj obejmuje podział tabel bazy danych na mniejsze, łatwiejsze w zarządzaniu i powiązane grupy.
Normalizacja opiera się na koncepcji dekompozycji bazy danych na jej najmniejsze możliwe części, które w relacyjnych bazach danych są zwykle określane jako "formy normalne". Normalizacja jest zazwyczaj przeprowadzana w serii kroków. Pierwsza forma normalna jest najbardziej podstawowa, a dodatkowe formy normalne są stosowane do projektu bazy danych w razie potrzeby.
Trzy podstawowe założenia normalizacji są następujące:
* Wyeliminowanie powtarzających się grup poprzez podzielenie ich na osobne tabele.
* Minimalizacja nadmiarowości między tabelami.
* Izolowanie danych, dzięki czemu można wykonywać wiele operacji opartych na przypisaniach bez wpływu na inne części bazy danych.
Nienormalizowana baza danych może prowadzić do problemów takich jak redundancja danych, niespójność oraz trudności z aktualizacją i wyszukiwaniem danych. Normalizacja pomaga uniknąć takich problemów poprzez zapewnienie spójności, dokładności i integralności danych.
Większość systemów baz danych wykorzystuje relacyjny model danych i musi implementować znormalizowane projekty w celu rozszerzenia swoich możliwości. Normalizacja może poprawić wydajność bazy danych, zmniejszyć rozmiar pamięci masowej i zapewnić lepsze czasy odpowiedzi na zapytania. Z tych powodów bardzo ważne jest, aby organizacje upewniły się, że ich bazy danych są odpowiednio znormalizowane.