复合键mySQL约束

时间:2019-03-12 22:21:53

标签: mysql database database-normalization

如果我想为已经标准化的数据库编写mySQL,我如何为(Branch_ID,Employee_ID)复合键添加约束?

分支表

分支ID 分店名称 地址 邮编 镇 县

分支员工表

分支ID 员工编号

员工表

员工编号 员工名字 员工姓 员工NI号

我把主键弄光了。我知道如何使用约束使Branch ID和Employee ID主键同时使用,但由于我在另一个表中使用了它,我也应该使Branch Employee表中的Employee_ID成为外键吗?

1 个答案:

答案 0 :(得分:0)

PRIMARY KEY是每个表的标识符。

FOREIGN KEY表示表中的值由另一个表中的PRIMARY KEY引用。

在这种情况下,您需要同时设置分支ID员工ID PRIMARY KEY和FOREIGN KEY; FOREIGN KEY-因为它们被另一个表引用。 主键-因为您不希望“员工a”在“分支a”中出现两次。

警告:“分支a”和“分支b”中仍然可以有“雇员a”。

为避免这种情况,最好让Employee表包含一个参数调用分支ID,并使其成为外键。

希望有帮助