【发布时间】:2011-07-04 13:31:45
【问题描述】:
我正在为一家公司开发小型应用程序。他们希望我做的是某种活动网站,他们可以为每个活动添加参与者。我的问题是,我应该为所有活动的所有参与者准备一个表格,还是应该为每个活动创建一个表格并将参与者存储在其中?
如果有任何语法错误,请原谅我的英语。
【问题讨论】:
标签: tsql data-structures rdbms
我正在为一家公司开发小型应用程序。他们希望我做的是某种活动网站,他们可以为每个活动添加参与者。我的问题是,我应该为所有活动的所有参与者准备一个表格,还是应该为每个活动创建一个表格并将参与者存储在其中?
如果有任何语法错误,请原谅我的英语。
【问题讨论】:
标签: tsql data-structures rdbms
你应该有 3 张桌子:
一个有参与者(participant_id、姓名、地址...)
一个包含事件(event_id、日期、地点...)
一个与事件的参与者(id、participant_id、event_id)
【讨论】:
就个人而言,我会使用三个表。第一个存储事件列表,第二个存储参与者列表,第三个包含事件和参与者之间的关系(存储 event_id 和参与者id组合)。
这使您可以保留与任何给定活动分开的参与者详细信息列表,以便他们可以从预先填充的列表中被邀请/添加为未来活动的参与者,而不是要求重复添加相同的详细信息.
【讨论】:
事件、参与者及其关系的表格。了解数据规范化。
【讨论】:
下表应该可以帮助您映射需求:
Events - 保存所有事件特定信息 用户 - 持有网站中的所有用户(请记住,一个用户可以参与超过 1 个活动) Participants - 这持有参与事件的用户的关系(多对多)
所以示例列:
【讨论】: