数据库中复杂关系的最佳模式

时间:2011-12-22 20:52:42

标签: database database-design relational-database database-schema

我不是数据库方面的专家,所以这对我来说很复杂,但也许对很多人来说都不是。我有以下内容:

quiz:包含一些测验的表格

project:包含一些项目的表

project_has_quiz:许多关系表项目测验

team:包含一些团队的表

event:包含一些事件的表(项目加上日期和其他一些字段)

event_has_team:许多关系表事件小组

现在,我必须为活动中每个团队的测验分配一个订单。例如:

假设您有5个测验abcde

您可以使用测验projectAab创建项目c

您有两个小组:teamAteamB

您使用eventA创建和事件projectA,并将其与teamAteamB联系起来。

现在我必须放置eventA teamA必须有测验订单a, b, ceventA teamB必须有测验订单{{} 1}}。

这样做的最佳方式是什么?

我的第一个想法是构建另一个表:c, a, b,其中列event_has_team_has_quizOrder已通过编程代码quizOrdera, b, c插入。但我不认为这是实现这一目标的最纯粹方法,而且这肯定存在非规范化问题。

非常感谢。

1 个答案:

答案 0 :(得分:1)

你可以做到

event_has_team_has_quizOrder

(event, team, quiz, sequence)


eventA, teamA, a, 1
eventA, teamA, b, 2
eventA, teamA, c, 3
eventA, teamB, c, 1
eventA, teamB, a, 2
eventA, teamB, b, 3
相关问题