如何在ER图中创建角色层次结构?

如何在ER图中创建角色层次结构?

问题描述:

我知道一个递推关系,其中有2个角色,例如:
工工程经理
工人和经理都是员工的两个角色,我们证明它是这样的: enter image description here如何在ER图中创建角色层次结构?

但是,如果员工有角色,如:
1.主任
2.经理
3.秘书
4.工人
并且较低级别中的每个角色都适用于较高级别的角色。

例如:
经理作品主任司工程总监和,工人Works的主任

话又说回来,
秘书和工人也适用于经理等等......

如何在ER图中显示?

+0

您是否感到困惑职位层次结构将成为可用职位与向经理显示员工的组织结构图的关系? – xQbert

您使用了什么ERD符号?我不认识它。它支持显示子类型吗?如果是的话我会成立董事,经理,秘书等,员工的亚型,再展亚型之间的关系:

[Manager] --- <works for> ---> [Director] 

如果员工有职位(角色),所以我们这里有一个功能冗余属性/属性。这种冗余是员工的当前职位(角色)。当分解(分解)时,它将成为另一个与雇员有1-N关系的实体。

在员工之间建立一种自我关系(递归关系),表明哪个员工为另一个员工工作,但并不告诉你哪个角色管理着什么。


如果在另一方面,你需要定义和坚持其立场(角色)的成员互相帮助,那么你需要创建一个角色的实体,并为它创建一个递归关系,表达支配了另一个。完成之后,您将员工与角色(后面是角色表中的行/注册表)关联起来,定义哪个员工具有哪个角色的关系。

并且较低等级中的每个角色对较高等级的 等级的人适用。

根据用户的职位(角色)以及他们之间创建的层次结构(角色),您可以知道哪个员工为其工作。例如,这是通过简单的SQL连接完成的。

我认为这是你的情况。你不需要人员/员工之间的层次结构,而是位置/角色之间的层次结构。有一件事导致另一件事。通过这种方法,根据您在此施加的基数,您甚至可以说出一个或多个角色是支配还是受其他人支配。这有助于未来的维护。

有任何疑问或问题,请评论,我会回答。