Общие > Базы данных
Вопрос по проектированию
Forza:
--- Цитировать ---secam:
Можно конечно числа сделать строками, но тогда пропадает возможность сравнения больше, меньше.
--- Конец цитаты ---
Чем-то приходится жертвовать для универсализации. Но ведь тебе никто не мешает привести строки обратно к числам.
Также можешь сделать флаг "должен ли параметр быть числом" в таблице "Параметры", и на основе его проверять каждое вводимое значение в таблицу "Значения параметров для товаров". А если хочешь ещё универсальнее - в таблицу параметры добавляется поле "Регулярное выражение", которому должны соответствовать значения параметров.
Заметь, при таком подходе скрипт пишется один раз и навсегда. ;)
secam:
Вообще то есть такая мысль:
Сделать в таблице значение параметров - 2 поля значения.
Одно CHAR(N), а второе INT.
А для каждого параметра использовать флаг, является он числом или нет. И соответственно значение дублировать в INT для числовых полей (при внесении и редактировании)
Тогда, если надо найти монитор с частотой развертки больше 100Hz, можно будет переложить работу по поиску на MySQL.
Select .... WHRE int_value>100 and param=...
Вместо ручного перебора.
Навигация
Перейти к полной версии