投票系统数据结构设计?求思路
投票系统数据结构设计?例图:
一个投票应用,数据表怎么设计好些
1.有投票标题
2.有投票选项(A/B/C/D/...)
3.每个用户只能投一次
问:
这块数据表结构怎么设计好些,有sf小伙伴能提下实现思路的没? 谢过 ^_^
回答:
question (问题表)
主键 | 数据类型 | 备注 |
---|---|---|
question_id | int | 问题id |
user_id | int | 发起者 |
title | string | 标题 |
end_time | int | 结束时间 |
vote_total | int | 投票总数 |
create_at | int | 创建时间 |
upate_at | int | 更新时间 |
option (选项表)
主键 | 数据类型 | 备注 |
---|---|---|
option_id | int | 选项id |
question_id | int | 问题id |
option_text | string | 选项内容 |
vote_total | int | 投票数 |
create_at | int | 创建时间 |
upate_at | int | 更新时间 |
user_vote (用户投票表)
主键 | 数据类型 | 备注 |
---|---|---|
user_vote_id | int | 用户投票id |
question_id | int | 问题id |
option_id | int | 选项id |
user_id | int | 用户id |
create_at | int | 创建时间 |
我设计的数据结构是这样.应该能满足你的需求. 投票百分比可以使用option.vote_total/question.vote_total得出来,如果考虑到性能方面,可以先把问题和选项的总投票数放到缓存,等问题结束时进行落库,持久化处理
回答:
问题表
选项表(关联问题id,冗余1个数量字段)
用户投票表(关联选项id,冗余一个问题id(便于统计使用,可选),(同时做选项id、用户id 的 unique 索引,并不是很建议这样做,建议在业务中实现,因为有可能后期这玩意儿变成多选的。))
回答:
up,up,up.
以上是 投票系统数据结构设计?求思路 的全部内容, 来源链接: utcz.com/p/179144.html