我在将一些规范转换为sql表时遇到了一些麻烦:
方案如下:
员工(已有EMPLOYEE表)可以有一个或多个员工列表,员工可以属于这些列表中的一个或多个。
示例: employee_1有2个列表,list_1_1和list_1_2。
list_1_1包含employee_2,employee_3和employee_4。
list_1_2包含employee_3和employee_5。
employee_1又可以属于另一名员工的名单。
我首先想到的是一个包含这些列的表:
LIST_NAME; owner_id; EMPLOYEE_ID
然后,该表的主键是什么?我确信有更好的方法来实现这一目标,但我被困住了。
答案 0 :(得分:0)
可以有1个表emp: Emp Id | EmpID为PK的Emp Name ...等
然后Emp_List_Map表: EmpID | ListId(EmpId和ListId)为PK
然后列出表: ListId | EmpID与(ListId和EmpID)为PK
这就是我的想法..
答案 1 :(得分:0)
您需要一个“员工清单”会员资格表。这与用户和角色的概念非常相似,可以将每个用户分配给零个或多个角色。
有关示例数据模型的详细信息,请参阅How to design a user/role schema in a SQL Server database?;只需将“user”重命名为“employee”,将“role”重命名为“list”。