情景:答卷系统的问题库需要支持查看单个问题的编辑历史,所以我想到添加版本号的方式存储
在表结构设计的时候,想过两种方式
[ 1 ] 一个 问题表 + 选项表,问题表和选项表通过一个 groupId + versionId 关联 类似这样的:
问题表:
groupId,versionId,questionName,status,type.....
选项表: groupId,versionId,optionValue,sort.....
这样的话,问题编辑后,原有记录不变,在问题表和选项表中再插入一份 1 对多的数据,保持他们的 groupId 一致,versionId 增加 1
[ 2 ] 只有一个 问题表 上面选项表的内容作为一个字段存储,把 n 个选项转成 json 存储,然后读取的时候,解析出来问题表 groupId,versionId,questionName,status,type,optionJsonValue .....
这样的话,问题编辑后,原有记录不变,在问题表和选项表中再插入一条数据即可,依旧保持 groupId 一致, versionId 增加 1
这两种方式那种比较好呢?
还有没有比较合适的方式?请教各位大佬
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.