Вы сказали, что «Параметры могут быть разных типов. То есть String, Integer, Multivalue». Но такие таблицы
parameter_value
---------------
id | parameter_id | value
может хранить только один тип, вероятно, какой-то тип varchar (n), где 'n' может быть действительно большим. Таким образом, параметры, которые должны быть целыми числами, могут в конечном итоге стать «виляющими».
Кроме того, «Многозначный» исторически не является реляционным типом данных или типом данных SQL. (Это меняется. Но изменения происходят медленно.) Некоторые платформы SQL поддерживают несколько видов нескольких значений, но поддержка далеко не универсальна. PostgreSQL, чтобы выбрать тот, с которым я довольно хорошо знаком, поддерживает массивы, JSON (я думаю, в последней версии) и пары ключ / значение (модуль hstore). Один из них может помочь вам. Я не уверен.