Events 反馈系统,如Ebay,但用于事件:DB模式

Events 反馈系统,如Ebay,但用于事件:DB模式,events,database-design,feedback,Events,Database Design,Feedback,我正在创建一个类似eBay的反馈系统。(购买物品后,您可以在购买时留下反馈) 但不是产品,而是活动(聚会、会议)。用户可以参加活动 然后,只有确认出席的用户才能在活动结束后留下反馈(由事件_表示) 我想知道创建行并允许用户提供反馈的最佳方式是什么。 当用户单击“参加新活动”时,将生成一行 我是否应该同时为点击“参与”的用户创建一个反馈行(他们可以在活动开始时随时更改RSVP状态)。但只允许在活动结束时访问反馈 或者,当所有参加活动的用户的活动结束时,我应该一次创建数百个反馈行吗?然后让他们使用反

我正在创建一个类似eBay的反馈系统。(购买物品后,您可以在购买时留下反馈)

但不是产品,而是活动(聚会、会议)。用户可以参加活动 然后,只有确认出席的用户才能在活动结束后留下反馈(由事件_表示)

我想知道创建行并允许用户提供反馈的最佳方式是什么。 当用户单击“参加新活动”时,将生成一行

  • 我是否应该同时为点击“参与”的用户创建一个反馈行(他们可以在活动开始时随时更改RSVP状态)。但只允许在活动结束时访问反馈

  • 或者,当所有参加活动的用户的活动结束时,我应该一次创建数百个反馈行吗?然后让他们使用反馈

  • 当前模式

    Event       Event_RSVP      Feedback
    ------      -----------     -----------
    id          id              id 
    user_id     user_id         user_id
    event_over  event_id        event_id 
                rsvp_status     message
    

    有什么意见或建议吗?

    至于反馈,我会选择KISS——只有在填写了实际反馈后,才在“反馈”表中插入新行。无需预先填充行

    另一种选择是简单地将反馈的“消息”字段移回“事件”表中;并根据反馈更新该字段。这里的缺点是,如果您决定需要,那么您不能在同一个反馈中包含多条消息,而单独的反馈表更容易更改,以容纳每个反馈的多条消息


    此外,独立于反馈,如果是与会者id,我会从活动中删除用户id(如果是组织者id,我道歉并保留它)。事件不应包含用户列表。如果您想跟踪邀请发送给谁,可以创建一个新的“邀请”表(event\u id,user\u id),或者更简单地通过RSVP表跟踪邀请,方法是在发送邀请时插入一个新行,并在用户实际RSVP时更新“RSVP\u status”。

    至于反馈,我会使用KISS-在“反馈”中插入一个新行表仅在填充实际反馈时使用。无需预先填充行

    另一种选择是简单地将反馈的“消息”字段移回“事件”表中;并根据反馈更新该字段。这里的缺点是,如果您决定需要,那么您不能在同一个反馈中包含多条消息,而单独的反馈表更容易更改,以容纳每个反馈的多条消息

    此外,独立于反馈,如果是与会者id,我会从活动中删除用户id(如果是组织者id,我道歉并保留它)。事件不应包含用户列表。如果您想跟踪邀请发送给谁,可以创建一个新的“邀请”表(event_id,user_id),或者更简单地通过RSVP表跟踪邀请,方法是在发送邀请时插入一个新行,并在用户实际RSVP时更新“RSVP_status”