如果两个表的相关列都是主键或具有唯一约束,创建的就是一对一关系。
如果只有一列具有主键或唯一约束,则创建的时一对多关系
关联字段的字符类型必须相同。
1. 一对一关系
USE [Howie]
create table purchases
(
docentry int constraint pk_pr primary key not null,
vendor_number varchar(20),
purchase_number varchar(20) constraint uni_pr unique,
purchase_line int,
purchase_price float,
purchase_status char constraint ck_pr check(purchase_status in ('C', 'O')) constraint de_pr default 'O' ,
baseentry int constraint uni_bs unique(baseentry) constraint fp_pr foreign key (baseentry) references orders (docentry) --这个baseentry具有唯一约束和外键约束,而orders的docentry具有主键约束,那么这个外键约束就具有一对一的关系
)
go
2. 一对多关系
USE [Howie]
create table purchases
(
docentry int constraint pk_pr primary key not null,
vendor_number varchar(20),
purchase_number varchar(20) constraint uni_pr unique,
purchase_line int,
purchase_price float,
purchase_status char constraint ck_pr check(purchase_status in ('C', 'O')) constraint de_pr default 'O' ,
baseentry intconstraint fp_pr foreign key (baseentry) references orders (docentry) --purchases中的baseentry新建时不具有唯一或者主键约束,而orders中的docentry有主键约束时,为一对多关系。可以理解为客户下的一个订单,我们需要向多家采购。
)
go
3.更改关系
更改关系需要先删掉原来的关系,再添加新的关系
alter table purchases
drop constraint fp_pr --删掉外键约束关系
alter table purchases
add constraint fp_pr foreign key (baseentry) references orders (docentry) --添加外键约束关系
4. 图形化界面创建与维护关系
(1)在要添加关系的表上右击,选择设计
(2)在设计界面找到你要添加关系的列名,右击 选择关系
(3)在关系页面,点击【表和列规范】右方的【...】
(4)下方界面设置外键,一定记住果两个表的相关列都是主键或具有唯一约束,创建的就是一对一关系,如果只有一列具有主键或唯一约束,则创建的是一对多关系。