投票系统数据结构设计?求思路

小小小宇哥
  • 14

投票系统数据结构设计?例图:

image
image
image
image

一个投票应用,数据表怎么设计好些

1.有投票标题
2.有投票选项(A/B/C/D/...)
3.每个用户只能投一次

问:
这块数据表结构怎么设计好些,有sf小伙伴能提下实现思路的没? 谢过 ^_^

评论
阅读 249
3 个回答

问题表
选项表(关联问题id,冗余1个数量字段)
用户投票表(关联选项id,冗余一个问题id(便于统计使用,可选),(同时做选项id、用户id 的 unique 索引,并不是很建议这样做,建议在业务中实现,因为有可能后期这玩意儿变成多选的。))

question (问题表)

主键数据类型备注
question_idint问题id
user_idint发起者
titlestring标题
end_timeint结束时间
vote_totalint投票总数
create_atint创建时间
upate_atint更新时间

option (选项表)

主键数据类型备注
option_idint选项id
question_idint问题id
option_textstring选项内容
vote_totalint投票数
create_atint创建时间
upate_atint更新时间

user_vote (用户投票表)

主键数据类型备注
user_vote_idint用户投票id
question_idint问题id
option_idint选项id
user_idint用户id
create_atint创建时间

我设计的数据结构是这样.应该能满足你的需求. 投票百分比可以使用option.vote_total/question.vote_total得出来,如果考虑到性能方面,可以先把问题和选项的总投票数放到缓存,等问题结束时进行落库,持久化处理

撰写回答

登录后参与交流、获取后续更新提醒

宣传栏