Normalizacja zmniejsza redundancję i anomalie aktualizacji przez podział danych na powiązane tabele. Denormalizacja duplikuje część danych, żeby przyspieszyć odczyty i ograniczyć joiny, kosztem trudniejszych zapisów i pilnowania spójności.
Odpowiedź zaawansowana
Głębiej
**Normalizacja** porządkuje dane tak, aby zmniejszyć redundancję i anomalie (klasyczne postacie normalne 1NF/2NF/3NF). Plusy:
jedno źródło prawdy,
mniej niespójności,
prostsze aktualizacje,
mniejsze wiersze.
Koszt:
więcej joinów,
bardziej złożone zapytania,
czasem wolniejsze odczyty przy read-heavy.
**Denormalizacja** świadomie duplikuje lub precomputuje dane, żeby przyspieszyć typowe odczyty:
mniej joinów,
prostsze zapytania,
lepsze dopasowanie do wzorców (feed, dashboard, analityka).
Koszt:
trudniejsze zapisy (aktualizacja w wielu miejscach),
ryzyko niespójności,
większy storage.
Praktyka
Zacznij od modelu znormalizowanego dla OLTP.
Denormalizuj selektywnie na podstawie pomiarów (używaj `EXPLAIN` i realnego ruchu).