例如,我们有User1, User2, and User3
。这三个用户中的每一个都向Manager1
报告,Boss1
又向users
报告。所有这些人都在user_id
表中,并由manager_id
唯一标识。我们只需要跟踪表中每个用户的当前经理。
如何才能最好地执行?我提出这个问题是因为它本质上是对同一个表的引用,我对于在users
表中添加Boss1
列犹豫不决,因为我们可能遇到了像Boss1
这样的情况,可能没有直接经理(我想我们可能会选择让这个边缘案例自我引用,例如将setWsmLength
的经理设置为自己)。
只是想在设计时考虑一些食物。
答案 0 :(得分:1)
假设您确定没有用户拥有多个经理,您可以将Boss1
的经理设为null
。这将明确表明他没有任何东西,并且会阻止一个简单地走上经理链的程序进入无限循环。
如果您不确定用户只有一位经理并且您想要迎合这种情况,那么您可以创建一个包含列{user_manager
的新表{1}}和user_id
,每个都是manager_id
表的外键,并且都是主键的一部分。这样,拥有2位经理的用户将在该表中拥有两条记录,而users
将只有Boss1
所在的位置。