Аналогичный вопрос обсуждался тут, но мне надо расширить решение:
Есть реализация схемы “товар” -> “параметр” -> “значение”:
tovar
id tovar
1 computer
2 player
3 phone
tovar_param
id tovar_id param
1 3 color
2 1 cpu
3 3 screen
4 3 color
values
id param_id value
1 1(color) blue
2 2(cpu) 2GHz
3 3(screen) 3“
4 4(color) red
Со стороны интерфейса такая схема предполагает ввод значение параметра ручками в текстовое поле.
Вопрос:
1. как к существующей схеме ”прикрутить“ еще параметры, для которых есть ограниченный набор значений и чтобы предоставить пользователю выбрать его из списка.
например добавить параметр ”производитель" со значениями: samsung, sony, iriver, apple
2. или как изменить текущую схему, чтобы получить тот же результат.
Как вариант создать словари значений для параметров:
param value
vendor samsung
vendor sony
vendor iriver
vendor apple
Но это решает только половину проблемы, а именно проблема ввода данных - смогу предоставить пользователю список возможных значений. Остается проблема хранения, получается избыточность данных: в таблицу values буду попадать дублирующиеся строковые данные, а не айдишники
Спасибо.