SQL Server关系的创建

如果两个表的相关列都是主键或具有唯一约束,创建的就是一对一关系。

如果只有一列具有主键或唯一约束,则创建的时一对多关系

关联字段的字符类型必须相同。

 

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)下方界面设置外键,一定记住果两个表的相关列都是主键或具有唯一约束,创建的就是一对一关系,如果只有一列具有主键或唯一约束,则创建的是一对多关系。

posted @   巴拉拉没多少能量  阅读(2675)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示