Нет, конечно...
Sumo 21.11.2015 10:19
Вы храните атрибуты в таблице со структурой product_id - param_id - value, что противоречит идее реляционных баз данных. Поэтому выборки с фильтрацией из таких таблиц в РСУБД делаются очень непросто. Жить с этим можно, но придется серьезно повозиться с оптимизацией запросов.
Для того, чтобы решать такие проблемы разработчики делают постреляционные расширения в своих продуктах. Позволяют хранить слабоструктурированные и разреженные данные в полях, строить по ним индексы и делать выборки. Расширения зависят от продукта и никак нестандартизированы. Я уже не говорю, что есть целый класс nosql баз данных, которые заточены под хранение сложных документов.
MySQL-совместимые СУБД:
https://mariadb.com/kb/en/mariadb/dynamic-columns/http://dev.mysql.com/doc/refman/5.7/en/json.htmlУ Постгреса целый набор типов данных: массивы, hstore, json/jsonb. Наверняка в Оракле и MSSQL есть аналогичные расширения.
- Помогите с куском запроса MySQL, Arey 20.11.2015 21:52
- Задачу решил. Сделал набор таблиц содержащих в названии полей id параметра., Arey 03.12.2015 22:30
- Эмм..., Maxx [M] 04.12.2015 02:42
- Ответ, Arey 07.12.2015 02:02
- а данных то много?, Misha v.3 [M] 24.11.2015 10:52 / 24.11.2015 10:54
- Case 2: Используйте дайджест хеш от последовательности опций., andylars 23.11.2015 22:45
- Case 1: Если parameter_id обозримо конечен, то попробуйте представить их набор "в одну строку" как число (битовыми масками) , andylars 23.11.2015 22:24 / 24.11.2015 00:34
- Ответ, Misha v.3 [M] 21.11.2015 01:04 / 21.11.2015 01:16
- Ответ, G_Z [M] 20.11.2015 23:45
- Для реляционной базы это плохой запрос..., Sumo [M] 20.11.2015 23:21