在MYSQL中创建组织数据库
我想知道如何最好地构建一个数据库来保存员工、部门和经理的数据 我的问题是,它本质上需要无限递归,因为可能有多个部门在彼此下面 所以,本质上就像文件夹结构一样。但是如何才能最好地将这些数据保存到一个或多个mySQL表中呢在MYSQL中创建组织数据库,mysql,sql,database,Mysql,Sql,Database,我想知道如何最好地构建一个数据库来保存员工、部门和经理的数据 我的问题是,它本质上需要无限递归,因为可能有多个部门在彼此下面 所以,本质上就像文件夹结构一样。但是如何才能最好地将这些数据保存到一个或多个mySQL表中呢 非常感谢您的帮助。在Departments表中,您需要一个额外的列,如“parent ID”,它是层次结构中位于它之上的部门的ID(如果有) 一个表允许有一个外键指向同一表中的另一列。您可以创建两个单独的表部门和员工 每个员工都有一个部门id和一个经理id 假设组织中最高层的人是
非常感谢您的帮助。在Departments表中,您需要一个额外的列,如“parent ID”,它是层次结构中位于它之上的部门的ID(如果有)
一个表允许有一个外键指向同一表中的另一列。您可以创建两个单独的表
部门和员工
每个员工都有一个部门id
和一个经理id
假设组织中最高层的人是首席执行官。他将有一个部门,他的经理id为零
然后是首席技术官、首席财务官等。他们也将有一个部门和一个经理id,即首席执行官的id
同样,您可以通过在同一个表employees
中添加外键引用来构建整个系统
同样地,要维护部门的层次结构,您可以创建一个列父部门
作为外键引用。查看Merise方法a外键
引用自己的表是您要查找的内容查看Bill Karwins关于关系数据库中的层次数据的精彩幻灯片:@Cid这就是我想要的目前有,但我不知道如何使用该设置获得完整的结构。引用父元素的外键。如果要获取id为42
的条目的所有子元素,可以使用这种where子句where parent\u id=42