Можна з упевненістю сказати, що модель бази даних EAV / CR погана. Це сказав:
Питання: Яку модель, техніку чи зразок бази даних слід використовувати для роботи з "класами" атрибутів, що описують продукти електронної комерції, які можна змінити під час виконання?
У гарній базі даних електронної комерції ви будете зберігати класи параметрів (наприклад, роздільна здатність телевізора, то має роздільну здатність для кожного телевізора, але наступним продуктом може бути не телевізор і не мати "роздільну здатність телевізора"). Як ви їх зберігаєте, ефективно шукаєте та дозволяєте своїм користувачам налаштовувати типи продуктів із змінними полями, що описують їхні продукти? Якщо пошукова система виявить, що клієнти зазвичай шукають телевізори на основі глибини консолі, ви можете додати глибину консолі до своїх полів, а потім додати одну глибину для кожного типу телевізійного продукту під час виконання.
Є хороша загальна особливість серед хороших програм електронної комерції, де вони показують набір продуктів, а потім мають "пробурити" бічні меню, де ви можете бачити "Роздільну здатність телевізора" в якості заголовка, і п’ятірку найпоширеніших резолюцій телевізора для знайдено безліч. Ви натискаєте один, і на ньому відображаються лише телевізори з такою роздільною здатністю, що дозволяє вам надалі деталізувати, вибираючи інші категорії в бічному меню. Ці параметри будуть динамічними атрибутами продукту, доданими під час виконання.
Подальше обговорення:
Якщо коротко розповісти, чи є в Інтернеті посилання чи описи моделей, які могли б "академічно" зафіксувати наступні налаштування? Я дякую Ноелю Кеннеді за те, що він запропонував таблицю категорій, але потреба може бути більшою за це. Я описую це по-іншому нижче, намагаючись підкреслити значення. Мені може знадобитися виправлення точки зору для вирішення проблеми, або мені може знадобитися заглибитись до EAV / CR.
Любіть позитивну відповідь на модель EAV / CR. Мої колеги-розробники говорять про те, що Джефрі Кемп торкнувся нижче: "нові об'єкти повинні моделювати та розробляти професіонал" (виймати з контексту, читайте його відповідь нижче). Проблема полягає в наступному:
- суб'єкти щотижня додають та видаляють атрибути
(ключові слова пошуку диктують майбутні атрибути) - нові організації прибувають щотижня
(продукція збирається з деталей) - старі організації відходять щотижня
(архівовані, менш популярні, сезонні)
Замовник хоче додати атрибути до продуктів з двох причин:
- відділ / пошук ключових слів / діаграма порівняння між подібними продуктами
- конфігурація споживчих товарів перед оформленням замовлення
Атрибути повинні мати значення, а не лише пошук за ключовими словами. Якщо вони хочуть порівняти всі торти, у яких "глазур з вершками", вони можуть натиснути торти, натиснути тему дня народження, натиснути глазур зі збитими вершками, а потім перевірити всі цікаві тістечка, знаючи, що всі вони мають глазур зі збитими вершками. Це не характерно для тортів, лише приклад.