Структура БД для корзины покупок
Мне нравится разрабатывать сайт корзины покупок с несколькими продуктами. (напр.: мобильный телефон, мебель и т. д.) здесь спецификация мобильного телефона будет охватывать
- размер дисплея
- объем памяти
- операционная система
- камера и т. д.,
но для мебели - ее технические характеристики полностью отличаются от описанного выше электронного продукта.
- тип дерева
- цвет
- вес
- форма
- стекло или матовая поверхность и т. д.,
Мой вопрос: как обращаться с общей таблицей базы данных для спецификации продукта? каждая и каждая категория продукта и его спецификация будут отличаться - так как иметь общую таблицу ProductSpecificationTable?
Я искал много сайтов, в том числе Google.. но не смог получить идеальную душевность. Пожалуйста, помогите мне перейти к следующему шагу.
3 ответа
Задайте себе вопрос: как я могу создать такую базу данных? Прежде всего, вам нужны продукты. Каждый продукт должен быть в какой-то категории, и каждая категория должна иметь свои свойства. Итак, вы должны создать таблицу продуктов с уникальным идентификатором, и каждому продукту нужен идентификатор категории. В этот момент пришло время связать вашу таблицу свойств с вашей таблицей категорий (по идентификатору) и установить значения, вам нужна таблица 'property_value'.
**table:** **id**
product --> category id
property --> category_id
property_value --> property_id
Я надеюсь, что вы поймете мое объяснение, иначе просто спросите:)
Вы можете добавить еще 1 таблицу для достижения этой цели. Таблица, которая содержит cat_id, product_id и свойство. Это отношения многие ко многим. Я верю, что таким образом ты сможешь достичь этого.
Этого можно добиться с помощью одной таблицы в базе данных, но это усложнит операции CRUD над таблицей. Поэтому я рекомендую вам создать одну базу данных, например, "Инвентарь", в которой может быть несколько таблиц (по одной таблице для каждого типа продукта).
Первая таблица может быть списком типов продуктов, которые у вас есть (мобильные телефоны, аксессуары, мебель):
Вы можете использовать эту таблицу, чтобы заполнить свой список доступных предметов. Здесь столбец _table_name будет содержать фактическое имя таблиц.
Тогда для каждого продукта вы можете иметь разные таблицы с разным количеством столбцов:
Таблица типов мобильных телефонов:
Стол для продукта Тип мебели:
Я надеюсь, это поможет.