我有一项调查,通过这样的复选框询问可用性问题:
I am available (please check all that apply:
[] Early Mornings
[] Mid Mornings
[] Early Afternoons
[] Mid Afternoons
[] Evenings
[] Late Evenings
[] Overnight
我需要转换为SQL数据库。我的问题是:在一个列下存储此数据的最佳方法是什么?我想到的是7位数字的存储,例如:0010001(表明候选人仅在下午早和夜间可用)。有没有更好的办法?感谢您的任何意见!
答案 0 :(得分:3)
单独的选项表和选项的“联接表”。其他解决方案/建议将阻碍关系数据库中的数据完整性和性能。如果您有另一个数据库,则可能会有所不同,但是如果您使用的是SQL,则除了关系表外别无选择。
答案 1 :(得分:1)
是否有任何特殊原因需要将结果存储在一列中?如果是这样,您的解决方案可能是最好的方法 编辑:如果您要查询此数据,则您的解决方案是最好的方法,否则请使用“ |”遵循其他答案在一个长varchar字段中分隔字符串,尽管查看该数据的任何人都不知道这是什么意思,除非他们花时间按顺序记忆了每个问题。
如果不需要将所有内容都放在一列中,我建议只为每个问题创建一列,其值类似于您已经想要的值。
答案 2 :(得分:1)
管道分隔标志。
使该列成为相当宽的文本列,然后存储:
'Early Mornings|Evenings|Overnight'
如果选择了这3个选项。
(注意:我确实同意另一个答案,即使用单独的列可能会更好,但是如果有充分的理由只需要一列,这就是我会这样做的方法)