一个投票API的设计

作者: 5ac7ecf11d1d | 来源:发表于2017-10-19 20:33 被阅读130次

    首先,请不要觉得这个任务很简单。这里我们一起来分析分析需求及如何实现。

    管理员可以新建一个投票。
    投票有两种,一种是多选的,另外一种是单选。

    单选的比较简单,所以我们先来探讨单选投票。

    由于JPSP用的数据库MySQL是不支持数组类型的,并且我们不知道用户需要新建一个多少个选项的单选投票,因此我们只能用一个字符串来代替一个字符串数组,多个选项之间的内容,用一个符号进行间隔
    (不要用常用的符号),当需要使用时,在把一个字符串分割成多个字符串,这个自己查函数。
    然后是如何储存每个用户的投票信息,也就是用户投了哪一票,还是不能用数组。那么就用0100表示选择第二个,0010表示选择了第三个,更多选项的投票也是这样。
    既然是单选,所以在将数据插入数据库之前要进行检验,检验到底是不是单选(前端发送的投票信息应该也是000100这样的,和检验用户有没有选)。怎么检验就不说了。
    然后说说多选。
    多选相较于单选多了1个需求,选项个数。后端需要检验用户的投票有没有在范围内,插入数据是010010这样的格式。

    所以把两者放在一起,数据表应该这样设计。

    总共为两张表。

    第一张是投票的表,记录投票的标题,投票的选项,投票发起人(外键),投票的各个选项,投票是单选还是多选。
    另一张表是每个用户投的票的信息。
    用户(外键),投的是哪次进行的投票(外键),(投票时间),投票的选项。

    另外还有一个问题没有解决,就是投票信息如何进行统计,单选还比较简单,多选投票统计还需要考虑数据库性能的问题,还需要思考一下。

    实际情况下,不太会使用无穷个投票选项的方案。

    相关文章

      网友评论

        本文标题:一个投票API的设计

        本文链接:https://www.haomeiwen.com/subject/udozyxtx.html