我想创建3个表:boss和employe继承表person。
人员: ID、登录名、密码;
老板: ID、登录名、mdp、名字、姓氏、电子邮件;
员工: ID、登录名、mdp、名字、姓氏、电子邮件;
我将这两类人分开以控制权利。
但我想保留一个包含所有用户的表来管理连接。
问题是三个 ID 中的自动缩进。当我创建“boss”类型的成员时,boss 和“person”表中的 id 自动识别为 1。当我创建员工类型的新成员时,id(“employe”中为 1,“employe”中为 2) personn”因为第一个是老板)不一样。
我如何对其进行建模?
感谢并抱歉我的英语不好,弗洛里安。
最佳答案
您存储了很多重复数据。考虑这个替代方案:
person
------
id
login
password
firstname
lastname
email
boss
----
id
person_id
employee
--------
id
person_id
我可以使用此结构存储与您在结构中完全相同的信息,但每个“人”只有一个名字/姓氏、电子邮件地址、登录名和密码。您应该只在老板/员工表中存储仅与该实体相关的信息。例如,老板可能有 security_code
字段,而普通员工则没有。
您不应该尝试在两个不同的表之间保留 id 主键来匹配(即,老板 id 不需要匹配人员 id)。相反,添加 person_id 外键,这样如果您有老板记录,您就可以轻松地在 person 表中查找他们的信息。
关于php - 具有自动增量的遗产,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23119469/