我正在构建一个数据库,但遇到了一个我似乎无法解决的问题。数据库比图中复杂得多,但问题可以归纳为下面的表结构。
问题是每个员工都有一个经理,每个经理都是员工。看起来这些表必须互相引用。但是,当我设置它时,这似乎无法正常工作。
我正在使用cakephp。这种关系类型的名称是什么?这是错误的设计吗?对于这种情况,正确的设计是什么?我希望它尽可能自动地工作。
如果我正确理解这个问题,那么您根本不需要 Managers 表。由于经理是员工,因此没有理由不将经理存储在员工表中。只需将一个字段添加到名为“Employees”的表中manager_id
,对于任何给定的行,该行都会引用该员工的经理(这是同一个表中的另一行)。
这称为递归一对一关系,而且很常见。就您而言,它还可以防止您在两个实体之间定义重复的字段(姓名、密码、职位等)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)