• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Przykład denormalizacji

Object Storage Arubacloud
0 głosów
2,234 wizyt
pytanie zadane 29 marca 2018 w SQL, bazy danych przez VirtualMember Pasjonat (15,790 p.)

Witam,

definicją denormalizacji jest:

Denormalizacja bazy jest to wprowadzenie kontrolowanej nadmierności do bazy danych w celu przyśpieszenia wykonywania na niej operacji (np. obsługiwania zapytań); dzięki denormalizacji bazy unika się kosztownych operacji połączeń tabel.

Czyli przykładem denormalizacji jest np. redundancja w relacyjnych bazach danych? Zamiast skakać po tabelach algorytmy wyłapują dane z tej samej tabeli kosztem pamięci, mam rację? Czy mógłby ktoś rozwinąć bardziej te zagadnienie?

Pozdrawiam.

3 odpowiedzi

+3 głosów
odpowiedź 30 marca 2018 przez Ehlert Ekspert (213,150 p.)
wybrane 30 marca 2018 przez VirtualMember
 
Najlepsza
Poprzez denormalizację możesz wprowadzić do bazy danych dodatkową tabelę, która będzie zawierać istniejące już w systemie dane.

Zaleta: szybki dostęp do informacji, bez konieczności wykonywania np 4 joinów.

Wada: redundacja danych oraz utrudnione utrzymywanie spójności.

Występuje np. podczas korzystania z Doctrine, kiedy chcesz aby zachowany był solid.
–1 głos
odpowiedź 30 marca 2018 przez UltraSF Stary wyjadacz (11,740 p.)
To jest powiedzmy jak masz na fb posty i komentarze. To robi się jedna tabelę do tego z np polem parent. W tedy encja z null w parent jest postem A z id innego posta jest komentarzem. Korzyści jest wiele np. Encja like występuje pojedynczo A nie podwójnie. Czyli de facto z 4 tabel zrobiliśmy na dwie w zamian za jedno dodatkowe pole w encji post
–1 głos
odpowiedź 30 marca 2018 przez OdsetekGlupoty Pasjonat (15,360 p.)
Witam,

Tak, denormalizacja to doprowadzanie do nadmiarowości (redundancji) bazy danych. Niestety przez denormalizację często pojawiają się błędy a cała baza danych przestaje być spójna i logiczna, ale za to zyskujemy trochę "na czasie". Nie jest to jednak zbyt dobre rozwiązanie. Jak już wcześniej wspomniałem taka denormalizacja może mieć opłakane skutki i stać się powodem wielu problemów z całą tabelą, których nie sposób rozwiązać. Powinno się denormalizować bazy danych tylko i wyłącznie, gdy mamy do czynienia z dużą bazą danych i gdy serwer jest mocno obciążony (a nie chcemy kupować większych dysków). W innych przypadkach nie ma to najmniejszego sensu.
komentarz 30 marca 2018 przez UltraSF Stary wyjadacz (11,740 p.)
Nie zgodzę się. Dobrze przemyślana  denormalizacja może znacznie zmniejszyć liczbę tabel. De facto taki proces powinien zostać wykonany przed rozpoczęciem tworzenia bazy.
komentarz 30 marca 2018 przez OdsetekGlupoty Pasjonat (15,360 p.)
To prawda, ale dobrze przemyślana denormalizacja wymaga doświadczenia. Poza tym, skoro baza danych działa, serwis też a serwer nie jest obciążony to jaki sens ma denormalizacja, która często wprowadza nieścisłości i błędy do tabeli?
komentarz 30 marca 2018 przez UltraSF Stary wyjadacz (11,740 p.)
Żeby unikać jej później, gdy na przykład baza będzie znacznie cięższe i większa. Wiadomo wszystko zależy od sytuacji i projektu :)
komentarz 30 marca 2018 przez Wiciorny Ekspert (273,830 p.)

@Odsea ekGlupoty,  a no ma taki sens, gdy masz mnóstwo klientów, a serwery duże są drogie- Tobie zależy na efektywnym i szybkim przepływie danych... więc wtedy denormalizacja ma sens, bo jeśli danych różnego typu wiele nie jest tzn. baza ogólnie jest duża, ale rodzaj tych danych jest stały... to nie ma takiej obawy przed tym, że dane mogą ulec modyfikacji, więc wtedy najistotniejszą rzeczą jest szybkość dostępu 

Podobne pytania

–2 głosów
0 odpowiedzi 88 wizyt
pytanie zadane 6 stycznia w SQL, bazy danych przez Jakub005 Początkujący (310 p.)
0 głosów
1 odpowiedź 94 wizyt
0 głosów
1 odpowiedź 274 wizyt
pytanie zadane 11 lipca 2023 w SQL, bazy danych przez W_potrzebie Nowicjusz (120 p.)

92,761 zapytań

141,685 odpowiedzi

320,485 komentarzy

62,105 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...