Normalizacja zapobiega marnotrawieniu miejsca na dysku, minimalizując lub eliminując redundancję.
Wykres porównania
Podstawa do porównania | Normalizacja | Denormalizacja |
---|---|---|
Podstawowy | Normalizacja to proces tworzenia zestawu schematów do przechowywania niepotrzebnych i spójnych danych. | Denormalizacja jest procesem łączenia danych, dzięki czemu można je szybko sprawdzić. |
Cel, powód | Aby zmniejszyć nadmiarowość i niespójność danych. | Aby osiągnąć szybszą realizację zapytań poprzez wprowadzenie nadmiarowości. |
Użyty w | System OLTP, w którym kładzie się nacisk na szybsze wstawianie, usuwanie i aktualizowanie anomalii oraz przechowywanie danych jakościowych. | System OLAP, w którym nacisk kładziony jest na szybsze wyszukiwanie i analizę. |
Integralność danych | Utrzymany | Może nie zatrzymać |
Nadmiar | Wyłączony | Dodany |
Liczba tabel | Zwiększa | Zmniejsza się |
Miejsca na dysku | Zoptymalizowane użycie | Ubytek |
Definicja normalizacji
Normalizacja to metoda efektywnego porządkowania danych w bazie danych. Obejmuje on konstruowanie tabel i tworzenie relacji między tymi tabelami zgodnie z pewnymi określonymi regułami. Redundancję i niespójną zależność można usunąć za pomocą tych reguł, aby uczynić ją bardziej elastyczną.
Nadmiarowe dane marnują przestrzeń dyskową, zwiększają niespójność danych i spowalniają zapytania DML. Jeśli te same dane są obecne w więcej niż jednym miejscu i na tych danych jest zatwierdzana aktualizacja, wówczas zmiana musi być odzwierciedlona we wszystkich lokalizacjach. Niespójne dane mogą utrudniać wyszukiwanie i dostęp do danych, tracąc ścieżkę dostępu do nich.
Istnieją różne powody przeprowadzania normalizacji, takie jak unikanie redundancji, aktualizacja anomalii, niepotrzebne kodowanie, utrzymywanie danych w formie, która może łatwiej i dokładniej dopasowywać zmiany i wymuszać ograniczenie danych.
Normalizacja obejmuje analizę zależności funkcjonalnych między atrybutami. Relacje (tabele) są rozkładane z anomaliami generującymi relacje ze strukturą. Pomaga w decydowaniu, które atrybuty powinny być grupowane w relacji.
Normalizacja opiera się zasadniczo na pojęciach normalnych form . Mówi się, że tabela relacji ma normalną postać, jeśli spełnia pewien zestaw ograniczeń. Istnieje 6 zdefiniowanych normalnych form: 1NF, 2NF, 3NF, BCNF, 4NF i 5NF. Normalizacja powinna wyeliminować nadmiarowość, ale nie kosztem integralności.
Definicja denormalizacji
Denormalizacja jest odwrotnym procesem normalizacji, w którym znormalizowany schemat jest konwertowany na schemat, który ma nadmiarowe informacje. Wydajność jest lepsza dzięki redundancji i utrzymaniu redundancji danych. Powodem wykonywania denormalizacji są koszty ogólne generowane w procesorze kwerend przez nadmiernie znormalizowaną strukturę.
Denormalizacja może być również zdefiniowana jako metoda przechowywania łączenia wyższych normalnych relacji z formą jako relacji podstawowej, która ma niższą normalną postać. Zmniejsza liczbę tabel i skomplikowane połączenia tabel, ponieważ większa liczba połączeń może spowolnić proces. Istnieją różne techniki denormalizacji, takie jak: przechowywanie wartości pochodnych, wstępne łączenie tabel, zakodowane wartości i przechowywanie danych z wzorcem itp.
Tutaj podejście denormalizacji podkreśla koncepcję, że umieszczenie wszystkich danych w jednym miejscu może wyeliminować konieczność przeszukiwania tych wielu plików w celu zebrania tych danych. Podstawowa strategia jest stosowana w przypadku denormalizacji, gdzie wybiera się najbardziej decydujący proces w celu zbadania tych modyfikacji, które ostatecznie poprawią wydajność. A najbardziej podstawową zmianą jest dodanie wielu atrybutów do istniejącej tabeli, aby zmniejszyć liczbę złączeń.
Kluczowe różnice między normalizacją a denormalizacją
- Normalizacja jest techniką dzielenia danych na wiele tabel w celu zredukowania nadmiarowości i niespójności danych oraz osiągnięcia integralności danych. Z drugiej strony, Denormalizacja jest techniką łączenia danych w jedną tabelę, aby przyspieszyć pobieranie danych.
- Normalizacja jest używana w systemie OLTP, który kładzie nacisk na szybsze wstawianie, usuwanie i aktualizowanie anomalii. W przeciwieństwie do Denormalization jest używany w systemie OLAP, który kładzie nacisk na przyspieszenie wyszukiwania i analizy.
- Integralność danych jest utrzymywana w procesie normalizacji, podczas gdy integralność danych denormalizacyjnych jest trudniejsza do utrzymania.
- Nadmiarowe dane są eliminowane podczas normalizacji, a denormalizacja zwiększa ilość nadmiarowych danych.
- Normalizacja zwiększa liczbę tabel i połączeń. Natomiast denormalizacja zmniejsza liczbę tabel i łączy.
- Miejsce na dysku jest marnowane w denormalizacji, ponieważ te same dane są przechowywane w różnych miejscach. Wręcz przeciwnie, miejsce na dysku jest zoptymalizowane w znormalizowanej tabeli.
Wniosek
Normalizacja i denormalizacja są użyteczne w zależności od sytuacji. Normalizacja jest używana, gdy wymagana jest szybsza anomalia wstawiania, usuwania i aktualizacji oraz spójność danych. Z drugiej strony, Denormalizacja jest używana, gdy szybsze wyszukiwanie jest ważniejsze i aby zoptymalizować wydajność odczytu. Zmniejsza również koszty ogólne spowodowane przez znormalizowane dane lub skomplikowane połączenia tabel.