我只是有一个简单的问题。表可以将其唯一的主键作为外键吗?
澄清。当我一直在创建表时,我有时会有一个包含多个键的表,其中一些是外键。例如:
create table Pet(
Name varchar(20),
Owner char(1),
Color varchar(10),
primary key(Name, Owner),
foreign key(Owner) referecnes Person(Ssn)
);
所以现在我想知道是否有可能做这样的事情:
create table WorksAs(
Worker char(1),
Work varcahr(30),
primary key(Worker),
foreign key(Worker) references Person(Ssn)
);
这将导致两个表具有完全相同的主键。这是应该避免的事情还是设计数据库的好方法?如果上述不是一个好的标准,我也会简单地将 Work 变量设为主键,这很好,但如果不需要,跳过它似乎更简单。