我有表:
Users{UserId ...} Professors{UserId ...}
我UserId在两个表中都设置为PK,并建立了1:1关系。
UserId
但是,如果我尝试插入新用户,则无法使用,因为它也需要在Professor表中插入。
Professor
我想使一个用户在Professor表中只能有1条记录,但我也想使其不必在Professor表中存在(我不想让所有用户都教授:))。
如何在SQL Server Management Studio中将1设置为(0 … 1)关系?
我知道将强制执行键约束设置为NO并不是解决方案:)
如果您有以下要求:
那么你是正确的,那是一种1 :: 0..1关系。在SQL中,可以这样实现:
1 :: 0..1
CREATE TABLE Users ( UserId INT NOT NULL , ... , PRIMARY KEY (UserId) ) ; CREATE TABLE Professors ( UserId INT NOT NULL , ... , PRIMARY KEY (UserId) , FOREIGN KEY (UserId) REFERENCES Users (UserId) ) ;
根据您的描述,您可能已经以相反的顺序定义了外键约束。