方法1: 同表多字段,每一字段存放一个选项值
总结:首先这种设置方式很明显不符合数据库设计第一范式,增加了数据冗余和存储空间。再者,当业务发生变化时,不利于灵活调整
方法2: 同表同字段,文本类型,用指定分隔符号分隔各选项值 总结:在数据查询时,需要对字符串进行分隔。并且字符串类型的字段在查询效率和存储空间上不如整型字段。 |
方法3: 同表同字段,数字类型,用位来枚举各选项值 总结:该处理方式既节省存储空间,查询时又简单 ,但选项总量有限制 |
方法4: 多表多字段,可以复选多值的字段从含选择者的主表A分离出去,自立一张表B,该表B内为一字段,每条记录存放一个选项值,另用一个表C来记录A表中的选择者所选的B表记录,每条记录存放一个选择。 总结:符合设计范式 |
参考:http://geekgirls.com/2011/09/databases-from-scratch-iii-relational-design-process/
http://blog.youkuaiyun.com/wangdejun/article/details/5692033
http://blog.163.com/loveni@126/blog/static/39056386200732065254382/
推荐方法 3、4