Pull to refresh

Опрос. Денормализация или нет?

Reading time1 min
Views4.7K

Недавно мы с коллегой по профессии обсуждали в Интернете (точнее в ЛС на Хабре) архитектуру некоторой системы, и у нас возник спор по одному вопросу.


Имеется склад, где хранятся разные материалы, имеются документы прихода и расхода материалов, в документах есть записи с информацией "материал, количество", связь один-ко-многим. В базе данных есть таблица с информацией о текущем наличии материалов на складе, есть таблица для документов и таблица для их позиций. Назовем их "current_stocks", "documents", "document_positions".


Считать ли таблицу "current_stocks" денормализацией данных?


Аргумент коллеги заключается в том, что данные в "current_stocks" можно рассчитать по документам за все время существования системы, поэтому это денормализация.


Мой аргумент в том, что любое текущее состояние можно рассчитать по истории изменений, поэтому это не денормализация. Иначе в термине "нормализация" не было бы смысла. Он относится именно к моделированию текущего состояния. Это разные модели, "current_stocks" моделирует состояние склада, "document_positions" строки текста в документах.

Only registered users can participate in poll. Log in, please.
А вы как считаете?
32.81% «current_stocks» это денормализация «document_positions»21
50% «current_stocks» это не денормализация, а самостоятельная сущность32
17.19% зависит от ситуации, напишу в комментариях11
64 users voted. 75 users abstained.
Tags:
Hubs:
Total votes 25: ↑7 and ↓18-6
Comments134

Articles