Jump to content
  • 0

Теоретичиский вопрос по созданию "конструктора"


solovin1986
 Share

Question

Добрый день.

Значит задача нужно построить базу товаров с различными параметрами (для хранения-вывода информации и сортировки по параметрам)

Общая информация по полям: ID, title, group, brand, madein, и тд

Далее отдельные параметры: каждый товар может иметь неограниченное количество полей (double, text, integer-для списка со связкой ID и name)

Уважаемые практики как лучше всего построить базу, может у кого есть пример.

Если что то загадочно написал могу уточнить. :unsure:

Link to comment
Share on other sites

10 answers to this question

Recommended Posts

  • 0

Такая схема называется "Звезда".

Вам нужно выделить следующие сущности:

1. Товар (product)

2. Характеристика, или параметр, (parameter)

3. Значение параметра (parameter_value)

И определить между ними связи.

Сложность будет заключаться в типах данных значений параметров, если потребуется использовать значения разных типов.

Link to comment
Share on other sites

  • 0

Такая схема называется "Звезда".

Вам нужно выделить следующие сущности:

1. Товар (product)

2. Характеристика, или параметр, (parameter)

3. Значение параметра (parameter_value)

И определить между ними связи.

Сложность будет заключаться в типах данных значений параметров, если потребуется использовать значения разных типов.

Все дело в том что нужно через админку создавать параметры товаров. То есть получается что нужно уже будет работать с созданием таблиц в базе. Другого выхода я не вижу

Link to comment
Share on other sites

  • 0

я может и не прав, но вот как я вижу данную структуру:

category_cat:

root_id | item_id | title | ну может еще чего тут...

category_sub:

root_id | item_id | title| description | price | part_number | public | position | на счет корзины не уверен, может в куках лучше хранить товар?...

Ну вот как то так.

Link to comment
Share on other sites

  • 0

Новые таблицы создавать не придётся.

Обоснуйте пожалуйста схематично

я может и не прав, но вот как я вижу данную структуру:

category_cat:

root_id | item_id | title | ну может еще чего тут...

category_sub:

root_id | item_id | title| description | price | part_number | public | position | на счет корзины не уверен, может в куках лучше хранить товар?...

Ну вот как то так.

Нет это не в ту степь

Link to comment
Share on other sites

  • 0

pkorobeinikov вам уже объяснил стандартную схему по созданию таких баз. Приведу пример на двух таблицах - товары и параметры. Любой товар может иметь неограниченное количество параметров, список которых перечислен в таблице Параметры. Это отношение один-ко-многим, поэтому вы создаёте ещё одну таблицу, в которой два поля: ID_товара и ID_параметра. Таким образом, всего будет 3 таблицы: Товары, Параметры и Т-П. Каждый товар в таблице Товары перечисляется один раз, аналогично делается и с Параметрами. В таблицу связей же заносятся их отношения, какие параметры могут быть у каждого товара. Точно так же делаются и остальные таблицы со связями. Запросы будут я-вас-умоляю, но система работает.

Вообще, ненавижу уже реляционные БД, на подобных примерах все их недостатки хорошо видны.

Link to comment
Share on other sites

  • 0

pkorobeinikov вам уже объяснил стандартную схему по созданию таких баз. Приведу пример на двух таблицах - товары и параметры. Любой товар может иметь неограниченное количество параметров, список которых перечислен в таблице Параметры. Это отношение один-ко-многим, поэтому вы создаёте ещё одну таблицу, в которой два поля: ID_товара и ID_параметра. Таким образом, всего будет 3 таблицы: Товары, Параметры и Т-П. Каждый товар в таблице Товары перечисляется один раз, аналогично делается и с Параметрами. В таблицу связей же заносятся их отношения, какие параметры могут быть у каждого товара. Точно так же делаются и остальные таблицы со связями. Запросы будут я-вас-умоляю, но система работает.

Вообще, ненавижу уже реляционные БД, на подобных примерах все их недостатки хорошо видны.

Я просто не могу представить если товаров будет огромное количество соответственно этих параметров в десятки раз больше как будет себя чувствовать сервак?

Link to comment
Share on other sites

  • 0

Если везде индексы поставите, нормально будет чувствовать. У вас будет миллион записей в таблице? Если меньше, то MySQL, а тем более PosgreSQL справится.

Да но если нужно например выбрать вес товара от и до тогда что?

Или создавать несколько таблиц для чисел и т.д.

Link to comment
Share on other sites

  • 0

Если везде индексы поставите, нормально будет чувствовать. У вас будет миллион записей в таблице? Если меньше, то MySQL, а тем более PosgreSQL справится.

Кстати, на чтение mysql (с myisam движком) может даже пошустрее будет.

В конце-концов, никто не отменяет кэширование.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy