ALTER TABLE в проекте

Sync

Новичок
ALTER TABLE в проекте

Чувствую что изменение структур таблиц в процессе использования сайта клиентами (то есть не в процессе разработки, а в процессе работы клиента с данными) есть нехорошо. Но вот как от этого избавиться тоже не могу придумать.
Дело в том, что если взять интернет магазин, например, где у каждой категории товаров своя форма заполнения данных (клиент сам может настраивать эту форму, добавлять/удалять/изменять поля, поля могут быть разными элементами вэб-форм: селекты, инпуты и тд.).

Потом нужно осуществлять поиск по этим полям, группировку... (например, сколько телефонов с мп3 плеером).

Хранить эти данные в виде хеш-таблицы (под этим я подразуемваю таблицу с тремя полями: tovar_id var_name var_value) неплохое решение, но тип var_value у всех будет одинаковым да и запросы придеться писать корявые (насколько я понимаю объединять таблицу саму с собой и не один раз).


Возможно, недостаточно знаком с проектированием БД, поэтому прошу подсказать решение данной проблемы или указать на источник чтобы почитать.
 

magic

lancer
так что а собственно ты хочешь?

если нужно изменение БД для новой версии скрипта, то поставляешь еще один upgrade.sql
 

Sync

Новичок
Я собираюсь для каждой категории товаров программно создавать таблицу в БД, а потом когда идет настройка полей формы, собственно и меняеться структура таблицы, одно поле формы = одно поле в таблице (чаще всего)...

Вот то что вроде удобно, но то что вроде неправильно )
 

Romashov

экспериментатор
если нужно изменение БД для новой версии скрипта, то поставляешь еще один upgrade.sql
не, ему надо чтобы пользователь системы САМ менял базу данных - свойства товаров, иначе говоря, поля в таблице.
Я когда-то брался за написание такого "динамического" каталога, но так и не нашёл хорошего решения этого вопроса.
 

Sync

Новичок
Автор оригинала: admin
полный бред..
ну сразу и в оффтоп...

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

думаю с такой проблемой сталкиваются многие, если это бред (чего я не отрицаю), то будь добр написав пару предложений что есть не бред.
 

Nimous

Guest
Sync

Таблица "специфических для категорий полей" + таблица соответствия "специфических полей" категориям.

И не нужно никакого динамического создания таблиц
 
Сверху