Articles

GeeksforGeeks

Posted on

Denormalizacja jest techniką optymalizacji bazy danych, w której dodajemy nadmiarowe dane do jednej lub więcej tabel. Może to pomóc nam uniknąć kosztownych złączeń w relacyjnej bazie danych. Zauważ, że denormalizacja nie oznacza nie wykonywania normalizacji. Jest to technika optymalizacji, która jest stosowana po wykonaniu normalizacji.

W tradycyjnej, znormalizowanej bazie danych przechowujemy dane w oddzielnych tabelach logicznych i staramy się zminimalizować nadmiarowość danych. Możemy dążyć do posiadania tylko jednej kopii każdego fragmentu danych w bazie.

Na przykład, w znormalizowanej bazie danych, możemy mieć tabelę Kursy i tabelę Nauczyciele. Każdy wpis w tabeli Kursy przechowywałby identyfikator nauczyciela dla kursu, ale nie nazwę nauczyciela. Kiedy potrzebujemy pobrać listę wszystkich kursów z nazwą nauczyciela, wykonujemy złączenie pomiędzy tymi dwoma tabelami.

Pod pewnymi względami jest to świetne rozwiązanie; jeśli nauczyciel zmieni swoje nazwisko, musimy je zaktualizować tylko w jednym miejscu.
Wadą tego rozwiązania jest to, że jeśli tabele są duże, możemy spędzić niepotrzebnie dużo czasu na wykonywaniu złączeń między tabelami.
Denormalizacja stanowi zatem inny kompromis. W ramach denormalizacji decydujemy, że nie mamy nic przeciwko pewnej nadmiarowości i dodatkowemu wysiłkowi związanemu z aktualizacją bazy danych, aby uzyskać korzyści związane z mniejszą liczbą połączeń.

Zalety denormalizacji:-

  1. Pobieranie danych jest szybsze, ponieważ wykonujemy mniej złączeń
  2. Kwerendy do pobierania danych mogą być prostsze (i dlatego mniej prawdopodobne jest, że będą miały błędy),
    ponieważ musimy patrzeć na mniej tabel.

Cons of Denormalization:-

  1. Updaty i inserty są droższe.
  2. Denormalizacja może sprawić, że kod aktualizacji i insertów będzie trudniejszy do napisania.
  3. Dane mogą być niespójne. Która wartość jest „poprawna” dla kawałka danych?
  4. Redundancja danych wymaga więcej pamięci masowej.

W systemie, który wymaga skalowalności, jak w przypadku każdej większej firmy technologicznej, prawie zawsze używamy elementów zarówno znormalizowanych, jak i zdenormalizowanych baz danych.

Tagi artykułów :

DBMS

Tagi praktyczne :

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *