Страница 1 из 1

Списки в SQL

СообщениеДобавлено: 08.11.2007 15:24:22
Brainenjii
В общем, возникла необходимость держать для каждой записи произвольный набор параметров, неважных при основной работе, но используемых при различных выборках при анализе (т.е., к примеру для машин - цвет, марка и т.п.)... Пока придумал так - делаю таблицу, в виде ID INTEGER, DESCRIPTION VARCHAR(255), и там данные типа 1 - 'Зеленая', 2 - 'Красная', 3 - 'ВАЗ'' и т.п., и в последствии в таблице с данными отвожу отдельное поле типа Varchar(255) куда записываю, к примеру '~1~3~' или '~2~3~', и дальше веду выборку из этого дела по SELECT * FROM TABLE1 WHERE FIELD1 CONTAINING '~1~3~'... В принципе все работает, но как-то стремно ^_^ На ibase.ru ничего по этому делу не нашел дельного... В общем, как подобное по-нормальному организовать? ^_^
UPD: Пользую Firebird 2.0

СообщениеДобавлено: 08.11.2007 16:26:08
Attid
а почему на ibase бы и не спросить ? на sql ру пару дней назад похожая тема была, почитай может подчерпнешь что-нибуть.

СообщениеДобавлено: 08.11.2007 19:54:20
Eugene
В таблице с данными, к которой применяются параметры, хранить их значения в поле типа VARCHAR не желательно. Особенно перечилять все возможные варианты параметров в одном поле одной записи.
Лучше завести дополнительную таблицу с полями ID_XY (ID записи к которой применяются параметры), ID_PARAM (ID параметра: красный, зеленый).

СообщениеДобавлено: 08.11.2007 23:03:45
Brainenjii
И точно, гораздо цивильней, спасибо ^_^