Ответ
Денормализация — это намеренное нарушение нормальных форм БД для повышения производительности за счёт избыточности данных. Используется, когда читательная нагрузка значительно превышает запись.
Пример:
В нормализованной БД заказы и товары хранятся отдельно:
Orders(order_id, customer_id)
OrderItems(order_id, product_id, quantity)
Products(product_id, name, price)
После денормализации можно дублировать название и цену товара прямо в OrderItems:
OrderItems(order_id, product_id, quantity, product_name, product_price)
Плюсы:
- Уменьшение JOIN-запросов
- Ускорение чтения
Минусы:
- Аномалии обновления (нужно синхронизировать дубли)
- Усложнение поддержки
Используется в аналитических системах (OLAP), кэшах, отчетах.