在mysql中创建组织数据库

mefy6pfw  于 2021-06-17  发布在  Mysql
关注(0)|答案(2)|浏览(365)

关闭。这个问题需要更加突出重点。它目前不接受答案。
**想改进这个问题吗?**通过编辑这篇文章更新这个问题,使它只关注一个问题。

两年前关门了。
改进这个问题
我想知道如何最好地构建一个数据库来保存员工、部门和经理的数据。
我的问题是,它本质上需要无限递归,因为可能有多个部门在彼此下面。
所以,本质上就像一个文件夹结构。但是如何才能最好地将这些数据保存到一个或多个mysql表中呢?
任何帮助都将不胜感激。

pdkcd3nj

pdkcd3nj1#

在departments表中,您需要一个额外的列,如“parent id”,它将是层次结构中它上面的部门的id(如果有的话)。
一个表允许有一个外键指向同一表中的另一列。

nzk0hqpo

nzk0hqpo2#

可以创建两个单独的表 department 以及 employees .
每个员工都有一个 department_id 和一个 manager_id .
假设组织中最高层的人是首席执行官。他将有一个部门,他的经理id为零。
然后是首席技术官、首席财务官等,他们也将有一个部门和一个经理id,这将是一个首席执行官。
同样,您可以通过在同一个表中添加外键引用来构建整个系统 employees .
同样,要维护部门的层次结构,可以创建列 parent_department 作为外键引用。

相关问题