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

时间:2018-05-23 04:26:00

标签: sql sql-server database

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

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

示例:

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。

1 个答案:

答案 0 :(得分:0)

如果我理解你的问题,那么下面是一个样本

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

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

层次结构数据类型的另一种方式是name lookup