关闭。这个问题需要更加突出重点。它目前不接受答案。**想改进这个问题吗?**通过编辑这篇文章更新这个问题,使它只关注一个问题。
两年前关门了。改进这个问题我想知道如何最好地构建一个数据库来保存员工、部门和经理的数据。我的问题是,它本质上需要无限递归,因为可能有多个部门在彼此下面。所以,本质上就像一个文件夹结构。但是如何才能最好地将这些数据保存到一个或多个mysql表中呢?任何帮助都将不胜感激。
pdkcd3nj1#
在departments表中,您需要一个额外的列,如“parent id”,它将是层次结构中它上面的部门的id(如果有的话)。一个表允许有一个外键指向同一表中的另一列。
nzk0hqpo2#
可以创建两个单独的表 department 以及 employees .每个员工都有一个 department_id 和一个 manager_id .假设组织中最高层的人是首席执行官。他将有一个部门,他的经理id为零。然后是首席技术官、首席财务官等,他们也将有一个部门和一个经理id,这将是一个首席执行官。同样,您可以通过在同一个表中添加外键引用来构建整个系统 employees .同样,要维护部门的层次结构,可以创建列 parent_department 作为外键引用。
department
employees
department_id
manager_id
parent_department
2条答案
按热度按时间pdkcd3nj1#
在departments表中,您需要一个额外的列,如“parent id”,它将是层次结构中它上面的部门的id(如果有的话)。
一个表允许有一个外键指向同一表中的另一列。
nzk0hqpo2#
可以创建两个单独的表
department
以及employees
.每个员工都有一个
department_id
和一个manager_id
.假设组织中最高层的人是首席执行官。他将有一个部门,他的经理id为零。
然后是首席技术官、首席财务官等,他们也将有一个部门和一个经理id,这将是一个首席执行官。
同样,您可以通过在同一个表中添加外键引用来构建整个系统
employees
.同样,要维护部门的层次结构,可以创建列
parent_department
作为外键引用。