我不是数据库专家,所以这对我来说很复杂,但可能对很多人来说都不是。我有以下几点:
quiz
:包含一些测验的表格
project
:包含一些项目的表
project_has_quiz
:一个多关系表项目-测验
team
:包含一些团队的表
event
:包含一些事件的表(一个项目加上日期和其他一些字段)
event_has_team
:一个多关系表event-team
现在,我必须为每个小组在一个事件中分配测验的顺序。例如:
假设你有5个测验a
,b
,c
,d
,e
。
您可以使用测验a
、b
和c
创建一个项目projectA
。
您有两个团队:teamA
和teamB
您使用projectA
创建和事件eventA
,并将其与teamA
和teamB
联系起来。
现在我必须放在某个地方,带有teamA
的eventA
必须有测验订单a, b, c
,而带有teamB
的eventA
必须有测验订单c, a, b
。
做这件事最好的方法是什么?
我的第一个想法是构建另一个表:event_has_team_has_quizOrder
,其中包含一个通过编程代码a, b, c
和c, a, b
插入的列quizOrder
。但我不认为这是实现这一点的最纯粹的方法,而且这肯定存在反规范化的问题。
非常感谢。
发布于 2011-12-22 22:01:02
你可以这样做
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
https://stackoverflow.com/questions/8609590
复制相似问题