我不是数据库方面的专家,所以这对我来说很复杂,但也许对很多人来说都不是。我有以下内容:
quiz
:包含一些测验的表格
project
:包含一些项目的表
project_has_quiz
:许多关系表项目测验
team
:包含一些团队的表
event
:包含一些事件的表(项目加上日期和其他一些字段)
event_has_team
:许多关系表事件小组
现在,我必须为活动中每个团队的测验分配一个订单。例如:
假设您有5个测验a
,b
,c
,d
,e
。
您可以使用测验projectA
,a
和b
创建项目c
。
您有两个小组:teamA
和teamB
您使用eventA
创建和事件projectA
,并将其与teamA
和teamB
联系起来。
现在我必须放置eventA
teamA
必须有测验订单a, b, c
而eventA
teamB
必须有测验订单{{} 1}}。
这样做的最佳方式是什么?
我的第一个想法是构建另一个表:c, a, b
,其中列event_has_team_has_quizOrder
已通过编程代码quizOrder
和a, b, c
插入。但我不认为这是实现这一目标的最纯粹方法,而且这肯定存在非规范化问题。
非常感谢。
答案 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