传承自动增量

时间:2014-04-16 20:26:43

标签: php mysql wamp auto-indent

我想创建3个表:老板和员工继承表人。

person: id,登录名,密码;
boss: id,login,mdp,firstname,lastname,email;
employees: id,login,mdp,firstname,lastname,email;

我将这两类人分开以控制权利。

但我希望保留一个包含管理连接的所有用户的表。

问题是三个Ids中的自动缩进。当我创建一个" boss"类型的成员时,表格中的ID和#34; person" 1.当我创建一个类型为employees的新成员时,ids(1个" employees"和2个" personn"因为第一个是老板)不是同样的。

我如何对其进行建模?

感谢和抱歉我的英语,弗洛里安。

1 个答案:

答案 0 :(得分:1)

您存储了大量重复数据。考虑这个替代方案:

person
------
id
login
password
firstname
lastname
email

boss
----
id
person_id

employee
--------
id
person_id

我可以使用这种结构存储完全相同的信息,但每个“人”只有一个名字/姓氏,电子邮件地址,登录名和密码。您应该只在老板/员工表中存储仅与该实体相关的信息。例如,老板可能有security_code字段,而普通员工不会。{/ p>

您不应该尝试在两个不同的表之间保持id主键以匹配(即,boss id不需要匹配person id)。相反,添加person_id外键,这样如果你有一个boss记录,你就可以轻松地在person表中查找他们的信息。