如果我有一个包含电子邮件和登录详细信息等的用户表,如果用户只属于一个团队,我可以创建一个名为 team
的新列,但如果该用户属于多个团队,您会怎么做构造它?
我能想到的最好方法是为特定用户创建一个名为 PlayersTeams
的表,但其规模似乎需要创建大量表。这是我能想到的最好的方法,但我认为这里更有经验的人可能会给我更好的建议。
只有一个团队:
PlayerID email TeamID
1 John@abc.xyz 123
2 sarah@pqr.stu 456
3 peter@asd.jkl 789
多个团队:
PlayerID TeamID
1 123
1 456
1 789
2 123
2 789
3 456
3 789
我对此表示怀疑,但是我应该有一个特定的用户数据库,然后一旦用户登录,就切换到团队数据库吗?
最佳答案
多对多关系正是您所寻找的。p>
使用第三个(联结)表是完成此场景的正确方法。表结构示例:
player: player_id, email
team: team_id, name
player_teams: player_id, team_id
关于mysql - 数据库结构 - 属于多个团队的用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42630188/