我有两张桌子:
Clients
-------
(PK)id
family
name
...
(PK)idprovincia
(PK)idsesion
Brothers
--------
(PK)id
(PK)idclient
name
我想在兄弟和客户之间设置一个外键。我的意思是,客户可以有几个兄弟,但SQL Server不允许我这样做。
然而,我可以为PROVINCIAS和SESIONES设置idprovincia和idsesion(我没有指定的其他表,因为它们没有问题)
此外,我尝试将idclient设置为UNIQUE,但是,再一次,SQL Server Management Studio不允许我创建外键。
我该如何管理?
由于
答案 0 :(得分:1)
您问题的简短回答:
(PK)id - identity field, auto-incremented
family
name
...
idprovincia (could have unique constraints or not - doesn't matter in this case)
idsesion (could have unique constraints or not - doesn't matter in this case)
(PK)id - identity field, auto-incremented
(FK)idclient (not unique as it participates in One-to-Many relationship)
name
还要确保PK / FK使用相同的数据类型。
希望这可能会有所帮助。
答案 1 :(得分:0)
外键约束是创建零到多基数,以确保其中具有第一个表的主键的第二个表具有每个主键的数据。 对于Ex:电子商务数据库中的客户ID充当客户表中的主键,并在订单表中称为外键。客户在订单表中可以有0到n个订单。在这里,外键确保客户与他所做的每个订单相关联。
关于你的表: -
客户端:
(PK)client_Id - autogen 姓 .. 兄弟:
(PK)brother_Id - autogen (FK)client_Id 姓氏