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值”即可。