评论

在线答题小程序,数据库设计解析

在线答题小程序,题目表设计解析


总之写给需要的朋友。

今天主要讲下在线答题小程序的Question表结构设计,具体设计如下图所示

{
    "_id": "20200419001",
    "media": "text",
    "mediatype": "1",
    "title": "每个微信用户可以收藏多少个小程序?",
    "typecode": "1",
    "typename": "单选",
    "comments": "注释信息",
    "answer": "A",
    "options": [
        {
            "value": "1",
            "code": "A",
            "content": "50个"
        },
        {
            "value": "0",
            "code": "B",
            "content": "100个"
        },
        {
            "value": "0",
            "code": "C",
            "content": "200个"
        },
        {
            "value": "0",
            "code": "D",
            "content": "500个"
        }
    ]
}


截图如下所示,

在该设计中,选项被封装在一个字段options中,在普通mysql数据库里面,由于不能直接存放数组或者对象这种复杂的数据结构,这里要序列化(将数组转化为JSON字符串),前端解析的时候再反序列化为数组

而对于小程序云开发而言,这种设计就完全可以支持,options字段用数组的形式,每个数组是一个选项的对象。

细心的朋友,可能发现,在options的每一项里面还有一个字段value,这个字段代表了,当前选项是否是答案

上面的数据库设计可以支持单选、多选、判断三种题型。

3


4

5

最后一次编辑于  05-07  
点赞 1
收藏
评论

2 个评论

登录 后发表内容