为用户管理系统设计数据库



我正在设计一个用户管理系统。

用户可以是经理或简单用户。如果经理登录,他应该能够看到在他手下工作的所有员工或用户。

例:

M1 -> U1, U2, M11
and M11-> U3, U4, M12
and M12 -> U5, U6, U7

当M1登录时,他应该看到U1,U2,M11,U3,U4,M12,U5,U6,U7的数据

如果 M12 登录,则仅 U5、U6、U7。

如果我正确理解了您的问题,那么下面是一个示例

DECLARE @tblEmployee AS TABLE ( EmployeeId INT IDENTITY(1,1),
FName       VARCHAR(100),
LName       VARCHAR(100),
ManagerId   INT  NULL --  Reference of EmployeeId 
) 

您可以通过上面的表结构完成任务,并应用CTE公用表表达式进行报复。

层次结构数据类型的另一种方式是 https://learn.microsoft.com/en-us/sql/relational-databases/tables/lesson-1-1-examining-the-current-structure-of-the-employee-table?view=sql-server-2017

最新更新