我正在创建一种类似于Ebay的反馈系统。 (购买商品后,您可以在购买时留下反馈)
但不是产品的事件(派对,会议)。用户可以参加活动 然后只有确认出席的用户才能在事件结束后留下反馈(以event_over布尔值表示)。
我想知道创建行的最佳方法是什么,并允许用户提供反馈。 当用户点击参加新的Event_RSVP行时。
我是否也应该同时为点击“参加”的用户提供反馈行(他们可以在事件发生时随时更改rsvp状态)。但只允许在事件结束时访问反馈?
或者我应该一次创建数百个反馈行,当所有参与它的用户的事件结束时?然后允许他们使用反馈
当前架构
Event Event_RSVP Feedback
------ ----------- -----------
id id id
user_id user_id user_id
event_over event_id event_id
rsvp_status message
有任何意见或建议吗?
答案 0 :(得分:1)
就反馈而言,我会选择KISS - 仅在填充实际反馈时在“反馈”表中插入新行。无需预先填充行。
另一种选择是简单地将反馈的“消息”字段移回“Event_RSVP”表;并根据反馈更新该字段。这里的缺点是,如果您决定需要,则不能在同一反馈中包含多条消息,而单独的反馈表可以更容易地更改以容纳每个反馈的多条消息。
此外,与反馈无关,如果那是参与者ID,我会从事件中删除user_id(如果它是origanizer ID,我道歉并保留)。事件不应包含用户列表。如果你想跟踪发送邀请的对象,可以创建一个新的“邀请”表(event_id,user_id),或者更好地通过RSVP表跟踪邀请,方法是在发送邀请时插入新行并更新“ rsvp_status“当用户实际使用RSVP时。