со всем уважением, ваш вопрос должен называться как я анализирую / решаю проблемы!
момент, когда вы думаете о пользовательском интерфейсе и прочем о дизайне и смешивании разговоров о item / itemType! случайные мысли [плохой мозговой штурм] увеличат время решения проблемы.
Подумайте об одном за раз, тогда со временем вы будете более способны обрабатывать различные входные данные, основываясь на фокусе и опыте!
Первое: исходя из чего, вы предполагали, что для каждого itemType требуется таблица / класс? поскольку объект с именем itemType, то все элементы должны принадлежать к СТРУКТУРЕ itemType, следовательно, по крайней мере, по [itemTypeId] правильно!
Второе: вам нужно выбрать, что проще, чтобы вы понимали / разбирали проблему [дизайн БД или пользовательский интерфейс], но не то и другое на первый взгляд. обычно сначала очень легко приступить к проектированию БД, если это известная проблема, в противном случае было бы неплохо запустить прототип пользовательского интерфейса, сосредоточив внимание только на пользовательском интерфейсе,
, поэтому, пожалуйста, отредактируйте вопрос и подумайте больше, чтобы получить больше!
удачи!
EDIT:
после редактирования вопроса, я понимаю, что проблема принадлежит [дизайн рабочего процесса]. с рабочим процессом вы можете перейти динамический или статический. Для динамических процессов требуются глубокие и глубокие знания в соединении узлов и их реализации, с другой стороны, «статические» просты в реализации, но требуют глубокого анализа проблемы, чтобы разбить каждую мелочь, о которой может подумать ваш мозг!
для динамического рабочего процесса я настоятельно рекомендую изучить реализацию ms-sharepoint, так как она охватывает все это и позволяет просматривать структуру базы данных. [я помню, у них была огромная таблица в службе sharepoint 3.0, которая содержит более 100 столбцов, которые работают как базовая таблица, я думаю или, может быть, для аудита!] Другими словами, вам будет необходимо добавлять / удалять столбцы в таблицах, пока приложение во время выполнения и связать их с логикой приложения / процессом рабочего процесса. это основной источник трудностей динамического подхода. в больших масштабах это удалось сделать лишь немногим программным пакетам ERP, таким как SAP, SAGE, MS-Dynamics, Oracle Siebel crm.
надеюсь, что это было полезно, я могу добавить больше, если нужно!