无法决定数据库结构。我应该去哪一个?

时间:2011-07-04 13:31:46

标签: tsql data-structures rdbms

我正在为一家公司开发小型应用程序。他们希望我做的是某种活动网站,他们可以为每个活动添加参与者。我的问题是,我应该为所有活动的所有参与者提供一个表格,还是应该为每个活动创建一个表格并将参与者存储在其中?

如果有任何语法错误,请抱歉我的英语。

4 个答案:

答案 0 :(得分:5)

你应该有3个表:

一个有参与者(参与者_id,姓名,地址......)

一个有事件(event_id,日期,地点......)

和一个参与者参加活动(id,participant_id,event_id)

答案 1 :(得分:1)

就个人而言,我会使用三张桌子。第一个存储事件列表,第二个存储参与者列表,第三个包含事件和参与者之间的关系(存储event_id和participant_id组合)。

这允许您保留与任何给定事件分开的参与者详细信息列表,以便可以从预先填充的列表中邀请/添加它们作为未来事件的参与者,而不是要求重复添加相同的详细信息

答案 2 :(得分:0)

活动,参与者及其关系的表格。阅读有关数据规范化的信息。

答案 3 :(得分:0)

以下表格可帮助您映射要求:

活动 - 保存所有特定于活动的信息 用户 - 保留网站中的所有用户(请记住,用户可以参加1个以上的活动) 参与者 - 这为参与活动的用户保留了关系(多对多)

示例列:

  • 事件 - event_name,event_description,event_date
  • 用户 - first_name,last_name,email
  • 参与者 - event_id(fk:Events.id),user_id(fk:Users.id)