事件管理模式设计

时间:2011-06-03 19:55:40

标签: mysql database-design

我正在设计一个活动管理系统(用于个人活动,如bdays等+企业活动+活动活动)。关系是事件属于Campaign,事件有几天和几天有会话。同时,每个:(Campaign,Event,Day,Session)可以具有相同的属性,如Budget,Goal,Mission等。所以这些属性应该存储在自己的表中,如event_mission,event_goal,event_budget表或者应该它们会被列入(事件,活动,日期,会话)表中的列中吗?

还有其他一些属性,例如:位置,位置内的区域,邀请的人,参加的人等,以及上述每个属性,所以我可以将它们组合到自己的表中,例如event_loc,campaing_loc,days_loc, session_loc或在每个级别使用一个位置表将它们分解,并为每个级别设置标志。

当然,这仅适用于促销活动而非个人活动。

2 个答案:

答案 0 :(得分:1)

我的意见是,如果它是一个参数(如位置描述或最大预算值),它应该进入每个表格。

如果有很多关系 - 比如很多人参加的活动 - 它应该有单独的表格。

答案 1 :(得分:0)

@koressak的回答是正确的。基本上,如果广告系列只能有一个预算,那么将该预算存储在与广告系列相同的表格中......与其他广告相同的规则。但想想你是否需要保留预算数字随时间变化的历史......例如如果预算增加了。你需要保持历史吗?如果没有,那么上面就好了;否则将其分解为单独的表格。如果您使用单个表来存储所有这些预算,它将起作用,但您的代码将更加棘手。

相关问题