1

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

但它的活动(聚会、会议)不是产品。用户可以参加活动,然后只有确认参加的用户才能在活动结束后留下反馈(由 event_over 布尔值知道)。

我想知道创建行并允许用户提供反馈的最佳方式是什么。当用户点击参加一个新的 Event_RSVP 行时。

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

  2. 或者我应该在活动结束时为所有参加它的用户一次创建数百个反馈行?然后让他们使用反馈

当前模式

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

有什么意见或建议吗?

4

1 回答 1

1

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

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

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

于 2010-08-01T17:42:44.173 回答