Списки в SQL

В общем, возникла необходимость держать для каждой записи произвольный набор параметров, неважных при основной работе, но используемых при различных выборках при анализе (т.е., к примеру для машин - цвет, марка и т.п.)... Пока придумал так - делаю таблицу, в виде 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
UPD: Пользую Firebird 2.0