Я создаю концептуальную схему для каталога продуктов, которая, возможно, заменит очень устаревшую и жесткую, которую мы используем.
В нашем бизнесе мы продаем как физические материалы, так и услуги (одноразовые и повторяющиеся).заряды).
В текущей схеме каталога каждая отдельная категория разбита на отдельные таблицы, хотя она хорошо нормализована и работает хорошо, ее довольно сложно расширить.Добавление нового атрибута к определенному продукту включает в себя изменение схемы таблиц и размещение старых данных.
Идея, с которой я играю, заключалась в том, чтобы соответствовать базовому набору таблиц сущностей в 3-й нормальной форме,они будут содержать факты, которые являются общими для ВСЕХ продуктов.
Затем я хотел бы построить схему Entity-Attribute-Value, которая позволяет гибко расширять каждый тип сущности, используя только данные, а неизменения схемы.
Наконец, я хотел бы денормализовать эту модель данных в материализованные представления для каждого отдельного типа сущности.К этим представлениям будет обращаться приложение.
У нас также есть много таблиц, которые содержат бизнес-правила и правила совместимости.Они будут объединяться с базовыми таблицами сущностей, а не с представлениями.
Мои большие опасения заключаются в следующем:
- Производительность - схемы Attribute-Entity-Value являются гибкими, но обычно работают плохо,я должен быть обеспокоен?
- Больше производительности - Денормализация с использованием материализованных представлений может иметь некоторые риски, я пока не уверен в этом.
- Сложность - Хотя эта схема является гибкой и поддерживаемой, используя только данныеЯ беспокоюсь, что сложность конструкции может затруднить будущие изменения схемы.
Для тех, кто разработал каталоги продукции для крупных предприятий, я иду по совершенно неверному пути?Есть ли какие-либо передовые методические рекомендации для каталогов продукции?