有这样一张表格,表格里包含了一些填写选项和一些单选、多选,需要将这个表格信息进行保存,该如何设计呢?
----------------------------------------------------------------------
-----------------------------------------------------------------------
*************************************************************************************************
第一种设计方式:
首先我想到了将表格中的所有单选和多选项设计为数据字典(但是内容很多 相对数据字典也就很多)
例如
性别字典
表名:gender
字段:ID(主键)、 NAME(性别名称)、 CODE(助记码)
例如
颜色字典
表名:colour
字段:ID(主键)、 NAME(颜色名称)、 CODE(助记码)
然后设计了一张表 存储一些填写字段信息和单选类型字典的外键
例如
信息表
表名:info
字段:ID、NAME(姓名)、gender_id(性别字典ID)、......
对于多选的使用了中间表
例如
表明:info_colour
字段:info_id(信息表主键)、colour_id(颜色字典主键)
通过关联查询获取对应的信息表内容
*************************************************************************************************
第二种设计方式:
不设计任何字典,直接在页面定义所有的单选、多选内容,存储时也是在信息表中存储对应单选、多选的内容
*************************************************************************************************
那么问题来了? 两种设计方式该怎么选?
第一种设计代码量大,且查询关联表较多、但是后期维护灵活,能使数据标准化且内容统一
第二种相对第一种代码量极少,且查询不需要关联任何表,但存在数据安全的问题,用户完全可以将自定义的内容保存到后台,且在查询时只能通过某个字段包含某个数值进行查询,查询结果可能不精准
*************************************************************************************************
各位大神有什么更好的设计方式? 不吝赐教~~~~~~~~~~~~