数据库设计:同一字段可以复选多值 方法总结

方法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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值