在阅读数据库系统时,我遇到了如下所示的查询:
CREATE TABLE works (
eid INTEGER NOT NULL,
did INTEGER NOT NULL,
pcttime INTEGER,
PRIMARY KEY ( eid,
did ),
UNIQUE ( eid ),
FOREIGN KEY ( did )
REFERENCES dept
);
由于eid上的主键已经定义了,为什么我们需要在eid上使用unique?因为每个eid,确实对已经是唯一的了。
答案 0 :(得分:4)
主键位于两列上,因此您仍可以使用非唯一的eid。如,
eid did
1 1
1 2
这不会违反您的主键,但会违反您的唯一约束。