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


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

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

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

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

关系型数据库 数据库 java oracle

浸浸梁浸浸 10 years, 9 months ago

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

枫叶D回忆 answered 10 years, 9 months ago

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

zackw answered 10 years, 9 months ago

Your Answer