c
@Farid4K: база должна хранить сущности. Каждая сущность находится в одном из возможных состояний (список состояний фиксирован). С каждым состоянием связан перечень параметров. Нужно разработать схему БД такую, что:
1) хранится как можно меньше информации;
2) легко выбрать сущности, находящиеся в неком состоянии и параметры которых удовлетворяют неким условиям — желательно, чтобы это был один запрос, результаты которого не нужно никак дополнительно обрабатывать;
3) легко перевести сущность в новое состояние;
4) как можно больше багов исключено по построению (например, не должно быть возможности поместить сущность в несуществующее состояние, или искать параметры состояния не в том месте).