SQL Server从入门到项目实践(超值版)读书笔记 16

发布于:2025-06-09 ⋅ 阅读:(22) ⋅ 点赞:(0)

8.8 在SSMS中管理约束条件

除了使用SQL语句设置表中的约束条件外,还可以在SSMS中管理。

8.8.1 管理主键约束

使用“对象资源管理器”可以以界面方式管理主键约束。

8.8.1.1 添加primary key约束

1、在“对象资源管理器”窗口中选择数据库mydatabase下面的表persons,他在创建时,是没有主键的。

2、在表名上单击鼠标右键,选择右键菜单中的设计命令。

3、在设计窗口,同样右键单击“name”字段,选择右键菜单中的命令“设置主键”。

4、设置完成后,“name”所在的行会出现一个钥匙图标,表示主键设置成功。

5、如果需要多行主键,则可以多选行后一次性设置

8.8.1.2 删除primary key约束

当不再需要约束时,可以将其删除。

在“对象资源管理器”中删除主键约束的方法有几种:

第一种:在打开的设计窗口中,单击工具栏的【删除主键】按钮,可以立即删除主键。

第二种:在打开的设计窗口中,右键菜单选择“索引/键”命令,或者单击工具栏的【管理索引和键】按钮,弹出该命令对话框。

选择需要删除的约束,点击【删除】按钮,再点击【关闭】,操作结束。

8.8.2 管理外键约束

使用SSMS工具操作界面,设置数据表的外键约束要比设置主键约束稍微复杂一点。

这里以水果信息表fruit与水果供应商表为例,介绍添加与删除外键约束的操作。

水果信息表fruit结构

字段名称

数据类型

备注

id

int

编号

name

varchar(20)

名称

price

decimal(6,2)

价格

origin

varchar(20)

产地

supplierid

int

供应商编号

remark

varchar(200)

备注

水果供应商表supplier结构

字段名称

数据类型

备注

id

int

编号

name

varchar(20)

名称

tel

varchar(15)

电话

remark

varchar(200)

备注

8.8.2.1 添加foreign key约束

在“对象资源管理器”中,添加外键的操作如下:

1、选择要添加的表fruit,在表设计界面右击鼠标,选项右键菜单“关系”命令;

2、打开“外键关系”对话框,在其中单击【添加】按钮;

3、即可添加选定的关系,然后选择“表和规范”,单击“表和规范”右侧的按钮;

4、打开“表和列”对话框,左边是主键表,右边是外键表;

5、这里要求给水果信息表添加外键约束,因此,供应商表是主键表,水果信息表是外键表。根据要求设置;设置完毕后单击【确定】按钮,完成外键约束的添加。

💡注意:
在为数据表添加外键约束时,主键表与外键表必须添加相应的主键约束,否则在添加外键约束的过程中,会弹出警告信息。
8.8.2.2 删除foreign key约束

在SSMS中删除外键约束很简单,按照添加外键约束的步骤,在含有外键约束的表中,找到并打开“关系”--“外键关系”窗口,在“选定的关系”列表中,选择要删除的外键约束,单击【删除】按钮,即可将其外键约束删除。

8.8.3 管理默认约束

在SSMS中添加和删除默认值约束非常简单,但需要注意,添加的数据类型要与字段的数据类型相匹配,如果是字符类型,需要添加相应的单引号。

1、进入SSMS工作界面,在“对象资源管理器”中,找到需要添加默认约束的表,右键打开设计界面;

2、单击要添加约束的列,这里选择origin列,展开“列属性”界面;

3、选择“默认值或绑定”选项,在右侧的文本框中输入默认值,这里输入“广西”;

4、单击【保存】按钮,完成默认约束的添加;

💡提示:
在“对象资源管理器”中,给表中的列设置默认值时,可以对字符串类型的数据省略单引号,系统会在保存时自动为其加上。

删除默认值在SSMS中跟添加的流程一样,只是把默认值清空即可。这里就不再赘述。

8.8.4 管理检查约束

在SSMS里添加检查约束:

1、在“对象资源管理器”中,找到需要添加的表,右键打开设计界面,再右键需要添加检查约束的列,这里选择price列,选择“check约束”命令;

打开“check约束”对话框,单击【添加】按钮,进入检查约束的编辑状态;

选择“表达式”,然后右侧输入检查约束的条件,这里输入“price>25 and price<80”;单击【关闭】按钮,关闭“check约束”对话框。

8.8.5 管理唯一约束

进入需要添加唯一约束的表设计界面,右键快捷菜单中选择“索引/键”菜单;

打开“索引/键”对话框,单击【添加】按钮,进入唯一约束的编辑状态;

这里为fruit表的name列添加唯一约束,设置“类型”为“唯一键”,单击“列”右侧按钮,打开“索引列”对话框,在其中设置列名为“name”,排序方式“升序”;

单击【确定】按钮,返回到“索引/键”对话框,在其中设置唯一约束的名称为“uq_fruit_name",单击【关闭】按钮,关闭“索引/键”对话框。

8.8.6 管理非空约束

在SSMS中管理非空约束就更简单方便,只需要在数据表的设计界面勾选“允许null值”即可。