选择题题库表设计(支持多选)

如题,只有选择题,选项目前只有四个,但要求可扩展(以后会增加),支持多选(多个答案),怎么设计扩展性好呢?
目前我是这么设计的:

题目表:
id --题号,
question --题目描述,
choiceid --选项id,外键,
answer --答案,多选答案用','分割

选项表:
id --选项id,
选项a,
选项b,
选项c,
选项d

感觉扩展性也不好,以后增加了题目选项还得改表结构,不知道有什么好的想法吗

阅读 9k
3 个回答

JSON 吧,这样表的结构就简单了:
id 序号
question 题目的描述、选项以及答案以 JSON 的形式存储,即使增加了选项的数量也不需要去动表的结构。同时也很容易区分单选还是多选。

选项表是不是建成纵表,这样可以处理一道题目有多个(>4)选项的情况

如果想统计每个答案选项下有几个人选择,这样就需要扩展了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题