Электронная коммерция / Разработка базы данных дилеров - PullRequest
0 голосов
/ 26 августа 2018

Я пытаюсь подумать о дизайне для какой-нибудь гибридной базы данных по электронной торговле / автомобилю.

Все хорошо, но одна проблема, которую мне не удается решить, или, точнее сказать, - решена,но может быть лучше, чем это?

У меня есть категории, которые не имеют одинаковые свойства.Автомобили имеют свои марки автомобилей и модели автомобилей, соответствующие этой марке.Но у запчастей и некоторых других категорий для продажи есть Марка, но Пользователь при добавлении поста будет печатать Модель.В некоторых категориях есть Год, Драйв ... Но другие имеют свои совершенно разные свойства.

Все, что я хочу сказать - категории имеют разные свойства.Публикация будет доступна для поиска по категориям.

Когда пользователь выбирает автомобили - открывается форма поиска с маркой, моделью, годом, автомобилем ... Но другие категории предоставляют другие свойства для поиска.

Database Diagram

Таблица сообщений - это отдельная запись (автомобиль, деталь, продукт ...). Она сохранит общие свойства для каждой категории.

Таблица Post_Value - это значение свойства

Таблица возможных_значений - это все возможные значения для этого свойства, если оно есть.Подобно свойству «Make», в котором будут храниться возможные значения Audi, BMW, Renault ...

Таблица типов ввода - Сохранит тип ввода, используемый для этого свойства (текст, раскрывающийся список, флажок, Radio ...) для Front End, используется для динамического добавления свойств в форму при добавлении пользователем сообщения.

Я думал о чем-то вроде этого.Но «проблема» в том, что каждое свойство будет храниться в типе varchar.А для 100 сообщений с 40 свойствами таблица будет заполнена 4000 строками.

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

Я буду использовать Entity Framework с предикатами для этого, чтобы сопоставить все элементы со всеми другими элементами списка.Я буду индексировать значение и имя свойства в таблице Property и Post_Value.

Но скорость этого дизайна действительно беспокоит меня.Любое другое предложение?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...