gpt4 book ai didi

数据库设计: Complex Voting System

转载 作者:行者123 更新时间:2023-11-29 14:56:44 24 4
gpt4 key购买 nike

我有三个表FeedVoteEvent

Feed
+id
+content
+voteCount --> hold the number of votes on this feed

Vote
+id
+feedId --> FK to id in Feed
+eventId --> FK to id in Event

Event
+id
+name
+voteCount --> hold the number of votes on this event

事件feed都可以由用户投票。 Vote 表跟踪谁对什么事情进行了投票,每个人只允许对事件feed 投票一次。所以这是我的问题:当我创建一个 event Y 时,我也会创建一个 feedX 创建了 event Y ,它将出现在用户X个人资料。如果有人对提要事件 Y 进行投票,则两者事件 Y 的投票以及表示 X 创建事件 Yfeed两者均为 1。

a.实现上述目标的最佳方法是什么?

b.此外,如果 X 已经对表示 X 创建了事件 Yfeed 进行了投票,那么他就无法对事件 Y 进行投票不再如此,反之亦然(因为每个用户只能对一个事件投票一次,在这种情况下,feedevent 实际上是同一件事)

最佳答案

此数据模型单独处理事件和提要,但可以记录父级Candidate。组合投票的特殊 (?) 情况可以在应用程序层中处理,方法是仅允许对根候选人WHERE ParentId is NULL进行投票。

alt text

关于数据库设计: Complex Voting System,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4441268/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com