有谁知道如何从SQL Server数据库图创建一对一的关系?
答案 0 :(得分:35)
你需要放一个unique key constraint on top of the foreign key
,所以它只限于一对一的关系。
答案 1 :(得分:6)
假设您使用的是Sql Server 2008及SSMS。
第二次再次单击O.K后,SSMS Designer将显示所涉及的表之间关键关系的键。这是一对一的关系。读为,一个表中的一个记录直接与另一个表中的另一个记录相关。
即A ResolutionsTable - 1:1 - 分辨率类型 读作为一个决议有一种适用于它的决议类型,即案件结案或案件正在进行,案件待决法律变更,案件被驳回?当然,人们拥有不同的数据库设计技能,因此适用于其中的人可能无法为其他数据库开发人员工然而,这个例子很清楚,无法理解。
希望这将有助于任何非sql语法精明的noobies像我一样喜欢通过SQL数据库图表功能构建整个数据库。
答案 2 :(得分:2)
如果你的表是这样创建的,
CREATE TABLE tableName ( id INT NOT NULL IDENTITY(1,1) CONSTRAINT[PK:tableName] PRIMARY KEY(id) , fkId INT NOT NULL CONSTRAINT[FK:tableName:tableFk] FOREIGN KEY(fkId) REFERENCES tableFk(id) ) CREATE TABLE tableFk ( id INT NOT NULL IDENTITY(1,1) CONSTRAINT[PK:tableFk] PRIMARY KEY(id) )
您可以使用此代码更改tableName,将tableName.fkId设置为唯一
ALTER TABLE tableName ADD UNIQUE (fkId)
答案 3 :(得分:2)
您可以轻松使用MSSQL Management Studio。
即
table_user
UID(PK) 用户名 电子邮件
table_profile
PID(PK) f_name l_name user_id(fk)
然后按照这个,
4选择"添加" (从Indexes / Keys窗口,它将添加一个新名称)
5 In" General section"选择"列"然后选择" user_id"
6 In" General section"设置"独特"作为一个真实的
7 In" Identity部分"给(名称)部分命名。在这种情况下,我将给出UK_user_id_profile
完成上述所有步骤后,8,关闭Indexes / Keys窗口
9拖放" uid" (从用户表)到" user_id" (来自个人资料表)
就是这样。
背后的理论认为,外键应该是独一无二的。
您需要在外键的顶部放置一个唯一的键约束,所以 它只限于一对一的关系。
Azam在他的帖子中说道。
[在案例中,我正在使用MSSQL 2012]
干杯。
答案 4 :(得分:0)
我认为这个问题专门针对如何在SQL Server Management Studios Diagram窗口中创建一对一关系。我有一个过程,您可以在SQL Server Management Studio数据库图中创建一对一的关系。
你已经完成了!
答案 5 :(得分:0)
使用以下内容非常简单:
ALTER TABLE [Salary]
ADD CONSTRAINT FK_Salary_Employee FOREIGN KEY([EmployeeID])
REFERENCES [Employee]([ID]);
那应该可以解决的!!