数据库设计:存储物理表格中的数据

时间:2013-07-02 06:36:55

标签: database database-design document

首先,我已阅读了与此问题相关的其他一些解决方案,例如this

但是,我的问题略有不同。

基本上我需要建立一个注册表格,以便用户可以注册并提交他/她的注册详情。

对于每次注册,它都有一个文档清单,用户可以适当地填写表单。

文档清单允许用户勾选相应的框,如果他/她有相应的文档。每个核对表都有一个必填字段。

核对表的示例如下(仅示例):

  1. 驾驶执照卡[]是[]否如果是,请指定ID:............
  2. 到目前为止,我有以下表格

    • 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,[这是我感到困惑的部分])

    基本上通过上述结构,每个用户都可以注册一个或多个。对于每个注册用户,必须填写相应的文件清单。

    每个注册也可以附加一个或多个文档,因此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

    依旧......

    或者有更好的方法来缓解这类问题吗?任何帮助将不胜感激。

    干杯,

1 个答案:

答案 0 :(得分: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。

随着时间的推移更改复选框更容易。