我在训练期间,我的教练给了我一些数据库练习。
我必须制作Project、Employee、Roles和Employee_Projects_Role表。最后一个表包含从事具有指定角色的项目的员工的详细信息。
他给我的条件是:
1、一个员工可以做多个项目。
2. 一个员工不能在同一个项目中担任不同的角色。
我制作了这些表格并插入了数据。在角色中,我有领导者、经理、开发者的角色。我制作了这些表格并输入了数据。
他检查了我的表格并说一个项目有超过 1 个领导和 1 个经理,所以我限制了列,就像一个项目中不会有相同的角色,但现在我不能在一个项目中输入 2 个开发人员到该映射表。
但是一个项目显然可以有 2 个开发人员。因此,如果您了解整个场景,那么我想问一下,是否可以限制一个特定的列,使其在一个项目中只有一个领导和经理?
我并没有真正进入数据库,但在分配给我一个项目工作之前,他只想复习我的基础知识。所以,我真的很困惑。
这些表的架构如下:
具有以下字段的项目:project_pid - 主键,project_name
具有以下字段的员工:employee_pid - 主键、employee_name、gender - M/F、salary、date_of_joining、is_active - Y/N
具有以下字段的角色:
role_pid - 主键,role_name -(团队成员或领导)Employee_Project_Role 具有以下字段:
project_xid - 外键(引用表 Projects),employee_xid - 外键(引用表 Employee),role_xid - 外键(引用表 Roles)