Предположительно, вы не ожидаете, что пользователь заполнит форму за один присест! Поэтому вам понадобится какой-то рабочий процесс для хранения черновиков и исправления предыдущих копий и т. Д.
Также предполагается, что некоторые части формы являются необязательными.
Вы можете определить набор таблиц базы данных с основной таблицей для отслеживания статуса, имени пользователя и т. Д., А также дочернюю таблицу для каждой необязательной части формы.
Или вы можете определить схему XML, которая содержит все возможные поля в форме и т. Д., А также некоторую информацию о состоянии.
Если вы всегда обрабатываете всю форму и не хотите искать в своей коллекции форм, то XML-решение немного лучше, поскольку есть несколько хитрых приемов для перемещения данных из XML в формы HTML и обратно. Если вам нужен поиск по значениям внутри формы, тогда предпочтительнее решение на основе SQL.