2013-07-02 3 views
0

Прежде всего, я прочитал некоторые другие решения, касающиеся этого вопроса, такие как thisпроектирования баз данных: Хранить данные из физической формы

Однако, у меня есть немного другая проблема.

В основном мне нужно создать регистрационную форму, чтобы пользователь мог зарегистрировать и предоставить свои регистрационные данные.

Для каждой регистрации у него есть тип документа-контрольного списка, в котором пользователь должен заполнить форму.

Контрольный список документов позволяет пользователю отмечать соответствующее поле, если у него есть соответствующий документ. Для каждого контрольного списка также есть обязательное поле.

Пример контрольного списка выглядит следующим образом (только пример):

  1. Водительские права Карта [] Да [] Нет Если да, указать ID: ............

до сих пор у меня есть следующие таблицы

  • tb_registration (reg_id, reg_no, reg_date, ...)
  • tb_user (usr_id, usr_unique, usr_city,. ..)
  • tb_attachment (reg_id, doc_id)
  • tb_documents (doc_id, doc_filename, doc_size, ...)
  • tb_reg_checklist (reg_id, chk_id)
  • tb_chk_details (chk_id, [Это та часть, я am confused with])

В основном с вышеуказанной структурой каждый пользователь может зарегистрировать один или несколько. Для каждой регистрации пользователь должен заполнить соответствующий контрольный список документов.

Каждая регистрация может также иметь один или несколько документов, прикрепленных к ним, следовательно, tb_attachment. В этом случае каждая регистрация может иметь одно или несколько вложений, где детали вложения (фактические документы) хранятся в tb_documents.

Я в настоящее время зациклен на том, как подробно описать часть контрольного списка документов.

Должен ли я пойти с одним большим столом с tb_chk_details так, что он имеет структуру, подобную этой

chk_id chk_license [ENUM] chk_license_no chk_doc_one [ENUM] chk_doc_one_no chk_doc_two [ENUM] chk_doc_two_no

и т. Д.

Или есть лучший способ смягчить эту проблему? Любая помощь будет оценена по достоинству.

Приветствия,

ответ

0

насчет хранения списка флажков отдельно, а затем хранить ответы?

  • tb_chk_details (chk_id, chk_text, chk_order)
  • tb_user_chk_responses (usr_id, chk_id)

Таким образом, вы можете сделать список флажков на странице только с помощью tb_chk_details, а затем, когда пользователь сохраняет свои ответы, вы записываете записи в tb_user_chk_responses.

Сменяет флажки с течением времени.

Смежные вопросы