0

我在将一些规范转换为 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

但是,该表的主键是什么?我确信有更好的方法来实现这一点,但我被困住了。

4

2 回答 2

0

可以有 1 个表 emp: Emp Id | Emp Name...etc 以 EmpID 作为 PK

然后 Emp_List_Map 表: EmpID | 以(EmpId 和 ListId)为 PK 的 ListId

然后列出表:ListId | EmpID 与(ListId 和 EmpID)作为 PK

这就是我的想法。。

于 2013-09-24T10:02:01.773 回答
0

您需要一个“员工名单”会员表。这与用户和角色的概念非常相似,其中每个用户都可以分配零个或多个角色。

请参阅如何在 SQL Server 数据库中设计用户/角色架构?一个很好的示例数据模型;只需将“用户”重命名为“员工”,将“角色”重命名为“列表”。

于 2013-09-24T10:20:13.977 回答