Temat: Normalizować baze danych czy nie?

Czy w swoich projektach przeprowadzacie normalizacje bazy danych do trzeciej postaci? Chodzi mi o naprawde duże projekty a nie pracujące przy obciazeniu 100 osób online
Plusy normalizacji:
-skalowalna
-porządek

Plusy nie normalizacji:
-szybsze działanie
-własna, prosta konstrukcja

konto usunięte

Temat: Normalizować baze danych czy nie?

Generalnie tak.

Nawet w dużych projektach 95% tabel to prosta sprawa i wystarczy rozsądnie pozakładać indeksy.

Nie zgodzę się co do "własna, prosta konstrukcja". Prosta to może jest przez 5 minut, jak się ją klepie.

Potem, po latach, dziesiątkach przeróbek i milionach rzędów wkradają się anomalie i jest przechlapana sprawa (klient zniesie, jak mu się raport będzie generował godzinę na replikowanej bazie, ale rozpęta piekło, gdy mu na rocznym raporcie nie będą zgadzały się liczby).

No i żeby zdenormalizowane dane jakoś się trzymały, to konstrukcja przestaje być prosta - robi się plątanina triggerów, procedur, zmaterializowanych widoków i innych cudów, o których trzeba pamiętać i aktualizować je wraz ze zmianami tabel.

konto usunięte

Temat: Normalizować baze danych czy nie?

Zawsze na początek normalizuję (z małymi wyjątkami - np. zawsze tworzę sztuczne klucze główne).

Później jeżeli jest problem z wydajnością (i tylko jeżeli jest) to trochę bazę denormalizuję. Lepszego podejścia jeszcze nie widziałem.
Marcin G.

Marcin G. ◙Prowadzenie
projektów,
konsultacje i
doradztwo w
zakresi...

Temat: Normalizować baze danych czy nie?

Wszystko zależy od tego do czego ta baza ma służyć :-))
Ogólnie:
OLTP - normalizować (ale bez przesady, potem trzeba to oprogramować!)
OLAP - denormalizować

Wady postaci "nienormalnej":
niepotrzebna redundancja, a z tego bardziej podatna na błędy aktualizacja, błędy których usunięcie wiąże się z większą ilością pracy (nie tylko człowieka, silnika bazy również), marnowanie miejsca , anomalie uaktualnienia, nieelastyczny dostęp do danych.



Wyślij zaproszenie do