如题,只有选择题,选项目前只有四个,但要求可扩展(以后会增加),支持多选(多个答案),怎么设计扩展性好呢?
目前我是这么设计的:
题目表:
id --题号,
question --题目描述,
choiceid --选项id,外键,
answer --答案,多选答案用','分割
选项表:
id --选项id,
选项a,
选项b,
选项c,
选项d
感觉扩展性也不好,以后增加了题目选项还得改表结构,不知道有什么好的想法吗
如题,只有选择题,选项目前只有四个,但要求可扩展(以后会增加),支持多选(多个答案),怎么设计扩展性好呢?
目前我是这么设计的:
题目表:
id --题号,
question --题目描述,
choiceid --选项id,外键,
answer --答案,多选答案用','分割
选项表:
id --选项id,
选项a,
选项b,
选项c,
选项d
感觉扩展性也不好,以后增加了题目选项还得改表结构,不知道有什么好的想法吗
8 回答6.4k 阅读
5 回答3.3k 阅读✓ 已解决
1 回答4.1k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
2 回答2.9k 阅读✓ 已解决
2 回答3.2k 阅读
1 回答2.4k 阅读✓ 已解决
用
JSON
吧,这样表的结构就简单了:id
序号question
题目的描述、选项以及答案以 JSON 的形式存储,即使增加了选项的数量也不需要去动表的结构。同时也很容易区分单选还是多选。