Tsql Can';不确定数据库结构。我该选哪一个?

Tsql Can';不确定数据库结构。我该选哪一个?,tsql,data-structures,rdbms,Tsql,Data Structures,Rdbms,我正在为一家公司开发小型应用程序。他们想让我做的是建立一个活动网站,他们可以为每个活动添加参与者。我的问题是,我应该为所有活动的所有参与者创建一个表,还是应该为每个活动创建一个表并将参与者存储在其中 如果有语法错误,我的英语很抱歉。您应该有3个表格: 一个有参与者(参与者id、姓名、地址…) 一个带有事件(事件id、日期、地点…) 还有一个有活动参与者(id、参与者id、活动id)您应该有3个表: 一个有参与者(参与者id、姓名、地址…) 一个带有事件(事件id、日期、地点…) 一个是参与者(i

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


如果有语法错误,我的英语很抱歉。

您应该有3个表格:

一个有参与者(参与者id、姓名、地址…)

一个带有事件(事件id、日期、地点…)


还有一个有活动参与者(id、参与者id、活动id)

您应该有3个表:

一个有参与者(参与者id、姓名、地址…)

一个带有事件(事件id、日期、地点…)


一个是参与者(id,参与者id,事件id)

我个人会使用三个表格。第一个存储事件列表,第二个存储参与者列表,第三个包含事件和参与者之间的关系(存储事件id和参与者id组合)


这允许您保留一个与任何给定事件分开的参与者详细信息列表,以便他们可以从预先填充的列表中被邀请/添加为未来事件的参与者,而无需重复添加相同的详细信息。

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


这使您可以保留一个与任何给定事件分开的参与者详细信息列表,以便可以从预先填充的列表中邀请/添加他们作为未来事件的参与者,而无需重复添加相同的详细信息。

事件、参与者及其关系表。阅读有关数据规范化的内容。

事件、参与者及其关系的表格。阅读有关数据规范化的内容。

下表将帮助您映射需求:

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

因此,示例列:

  • 事件-事件名称、事件描述、事件日期
  • 用户-名字、姓氏、电子邮件
  • 参与者-事件id(fk:Events.id)、用户id(fk:Users.id)

下表应帮助您映射需求:

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

因此,示例列:

  • 事件-事件名称、事件描述、事件日期
  • 用户-名字、姓氏、电子邮件
  • 参与者-事件id(fk:Events.id)、用户id(fk:Users.id)