Прежде всего, что именно тебя интересует — внутренняя организация данных и алгоритмы работы с ними или проектирование интерфейса ?
Если структуры данных — то первое, что приходит в голову — таблица, со всеми корректными (или как сейчас модно говорить, валидными) коомбинациями значений. При вводе одного из параметров мы накладываем фильтр на соответствующий столбец таблицы, предоставляю возможность пользователю ввести остальные параметры. При чем таблица может быть, как частью СУБД, так и какой-то своей структурой данных — в простейшем случае — массивом.