我正在设计一个事件管理系统(用于个人事件,如bday等+企业活动+竞选活动)。关系是事件属于活动,事件有天数,天数有会话。同时,(Campaign、Event、Day、session)中的每一个都可以具有相同的属性,如预算、目标、使命等。因此,这些属性应该像event_mission、event_goal、event_budget表一样存储在各自的表中,还是应该作为列抛入(event、campaing、days、Session)表中?
还有其他的属性,比如:位置,一个位置内的区域,邀请的人,出席的人等等,都适合上面的每一个,所以我可以再一次将它们组合到他们自己的表中,比如event_loc,campaing_loc,days_loc,session_loc,或者在每个级别上用一个位置表来拆分它们,并为每个级别设置标志。
当然,这只适用于促销活动,而不适用于个人活动。
发布于 2011-06-04 04:04:32
我的观点是,如果它是一个参数(如位置描述或最大预算值),它应该放在每个表中。
如果可能有很多关系--比如有很多人参加的活动--它应该有单独的表格。
发布于 2011-06-04 20:05:19
@koressak回答正确。基本上,如果一个活动只能有一个预算,那么将该预算存储在与该活动相同的表中……其他的规则也是一样的。但是想一想,如果你需要保存一段时间内预算数字的历史记录……例如,如果预算增加了。您需要保留历史记录吗?如果不是,那么上面的就可以了;否则就把它分解到一个单独的表中。如果您使用一个表来存储所有这些预算,它将工作,但您的代码将更加棘手。
https://stackoverflow.com/questions/6231994
复制相似问题