关于数据库表结构设计

发布于 2022-09-05 00:15:06 字数 158 浏览 11 评论 0

想做一个测试系统,目前碰到问题是不知如何设计表。
如问题分为单选、多选、判断、简答题、填空题

比如判断题的选项就是问题本身
那么所有问题用一张表,然后用类型做区分?那么他们的正确答案放哪里?

另外选项如何做表,有单选、多选、感觉思路也乱,希望有经验的帮忙整理

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

三生殊途 2022-09-12 00:15:06

单独建一个答案表

无敌元气妹 2022-09-12 00:15:06

问题表:
clipboard.png

选项表:
clipboard.png

问题与选项表(中间表):
clipboard.png

问题与答案表(中间表):
clipboard.png

该设计可以将单选,多选,判断(可视为单选)合在一起

一片旧的回忆 2022-09-12 00:15:06

一张表就行了,反正就是问题、答案、题目类型嘛,这不就OK了

注定孤独终老 2022-09-12 00:15:06

填空题假如有标准答案则可以用表来判断对错,简答题正常来说是无法用表来控制的,因为没有标准答案。建议测试系统只有选择题和判断题

选择题(单选和多选)、判断题可以用两张表来控制,一张问题主表,一张答案表,通过对应关系来处理答案;
question

qid  content     ture_answer  all_answer    qtn_type
1    水果有哪些?    2,3    1,2,3,4            1(选择题)
2    1+1=2对么?    ture    ture/false         2(判断题)
3    中秋节是_月_日   5,6    空                 3(填空题)

answer:

sid    content    
1        黄瓜
2        苹果
3        香蕉
4        西红柿   
5        八
6        十五    

根据question表中的类型字段来分别处理:

    1. 选择题判断对错的时候可以使用find_in_set函数来查询true_answer字段是否正确;
    2. 判断题可以直接判断true/false
    3. //填空题必须有标准答案
        根据空白序号来跟正确答案匹配判断是否正确。

以上只是问题和答案的关系表。另外你还需要一张学生答题的记录表来记录成绩。具体设计不再写了,假如有需求可以再帮你。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文