在我的应用程序中有两个用户Manager和Team。 在第一次登录时,我在检查该用户是经理还是团队成员。我正在通过user_type检查它。 所以,Mysql数据库设计的嵌套登录(登录后的另一登录)
## User's table ##
----------
--> fieldnames
'user_id' 'username' 'email' 'password' 'user_type' (if 1 = user is manager , 0 = user is team member)
Row 1 -> '1' 'abc' '[email protected]' 'abc' '1' (user_type = 1 so Manager)
Row 1 -> '2' 'def' '[email protected]' 'abc' '0' (user_type = 0 soTeam Member)
## Team's table ##
----------
--> fieldnames
'team_id' 'teamname' 'teamcode' 'user_id' 'user_type'
Row 1 -> '1' 'TeamName1' 'AFE1(0' '1' '1'
Row 2 -> '2' 'TeamName2' '[email protected](' '2' '1'
(所以,TeamName1由ABC用户添加的,他是一个经理。
唯一代码(AFE1(0)被发送到管理员的电子邮件地址,它是teamcode然后经理将分别给予团队成员
,现在我卡住有关球队的唯一性,因为会员可以从一个团队注销,并通过另一支球队的唯一代码登录并加入另一支球队)
注:当用户注册为经理小组代码生成。
- 唯一代码通过电子邮件发送给经理。那么经理将单独将该团队代码提供给团队成员。
- 在加入团队时,团队成员将插入团队代码,然后团队成员可以加入团队。
- 加入团队经理后可以分配任务给经理。给团队成员提供反馈。
- 而团队成员可以从一个团队注销并加入另一个团队。
上述过程是在作为团队成员或经理登录后。
所以,我的问题是有一个嵌套登录(陆续登录和任务分配过程中的一个登陆是基于“teamcode”)
所以,我很困惑关于数据库的结构,因为teamcode也是独一无二team_id也是独一无二的?
@ryan。如果你有任何想法,请告诉我,我现在仍然陷在这个问题中。 – Bhavin
@RyanVincent。感谢您的回复... 经理可以成为另一个团队的团队成员意味着第一个经理可以通过给他团队代码添加第二个经理作为团队成员,以便解决时间问题。昨天我的问题是通过制作复杂的mysql结构来解决的,但根据我的知识,我发现它非常脏,所以我希望有一些完美的数据库结构,当这种工作重复时。 – Bhavin
处理这种情况的“标准”方式是在用户 - 团队和角色之间建立“多对多”的关系。你如何代表这种关系?为什么不告诉我们你有什么?即添加“角色”表和将其链接在一起的其他表。 –