在MYSQL中创建组织数据库

时间:2018-12-13 09:17:28

标签: mysql sql database

我想知道如何最好地构建一个数据库,该数据库保存有关员工,其部门和经理的数据。

我遇到的问题是,它本质上需要无限递归,因为彼此之间可能有多个部门。

因此,本质上就像一个文件夹结构。但是如何最好地将这些数据保存到一个或多个mySQL表中?

任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

您可以创建2个单独的表departmentemployees

每个员工将有一个department_id和一个manager_id

假设组织中最高的人是首席执行官。他将有一个部门,其经理ID为零。

然后是CTO,CFO等。他们还将有一个部门和一个经理ID,该ID将与CEO的ID相同。

同样,您可以通过在同一表employees中添加外键引用来构建整个系统。

类似地,要维护部门的层次结构,您可以创建列parent_department作为外键引用。

答案 1 :(得分:0)

在“部门”表中,您需要一个额外的列,例如“父ID”,这是层次结构中位于其上方的部门的ID(如果有)。

允许表具有指向同一表中另一列的外键。