SQL Server 约束创建与图解:主键、外键、唯一及默认检查约束
在数据库设计中,约束是保障数据完整性和准确性的关键机制。SQL Server 提供了五种主要约束类型,通过图形化界面(SSMS)可直观地为主键、外键、唯一性、默认值和检查条件进行配置,从而有效规范表中数据的录入与关联关系。
结果与目标
掌握在 SQL Server 中利用图形化工具定义表结构的方法,实现以下目标:
- 实体完整性:通过主键唯一标识每一行记录。
- 参照完整性:通过外键确保表与表之间的数据逻辑关联。
- 域完整性:通过唯一、默认和检查约束,限制列值的输入范围和格式。
准备条件
- 已安装 SQL Server 数据库服务及
Management Studio (SSMS)。 - 拥有目标数据库表的修改权限(即在设计视图下编辑权限)。
- 明确需设置约束的列名及其业务规则(如:“是否允许为空”、“是否需要唯一值”、“取值范围”等)。
真实操作顺序
第1步:配置 Primary Key(主键)约束
目的:指定一个或多个列作为每行的唯一标识符,系统会自动为该列创建唯一索引。
操作步骤:
- 入口:在 SSMS 对象资源管理器中右键点击目标表,选择 “设计”(Design)进入表设计器。
- 动作:选中作为主键的单列或多列组合(按住 Ctrl 多选)。
- 执行:点击工具栏顶部的 “钥匙”图标(Set Primary Key)。
- 备用方法:右键点击选中的列,在上下文菜单中点击 “设置主键”。
- 完成状态:选中列左侧出现钥匙图标,表示该列已被设为主键。注意:主键列自动视为 NOT NULL。
第2步:配置 Foreign Key(外键)约束
目的:建立从表与主表(通常是主键所在表)的连接,防止无效的引用数据插入。
操作步骤:
- 入口:打开作为“从表”的表设计器。
- 动作:右键点击设计器空白处或特定区域,选择 “关系”(Relationships)。
- 配置:点击 “添加” 按钮,展开 “表和列规范” 选项。
- 关联设置:点击省略号按钮 (...) 进入详细信息窗口。在 “主键表”**和“主键列”**中选择被引用的主表及字段;在 “外键表”**和“外键列”**中确认当前表及对应字段。
- 完成状态:保存设置并关闭窗口,从表与该列之间建立关联逻辑。
第3步:配置 Unique(唯一)约束
目的:确保某列或非主键组合列中的数据不重复,但允许存在空值(NULL)。
操作步骤:
- 入口:在表设计器中,右键点击需要设为唯一的列(或组合),选择 “索引/键…”(Indexes/Keys)。
- 动作:点击 “添加”**,在右侧属性面板中将 “类型”**修改为 “唯一键”(Unique Key)。
- 列选择:点击 “列”** 下拉框,选择具体的列名,可以是单列或多列组合。
- 完成状态:保存表结构。此时若尝试插入重复值,系统将报错拦截。
第4步:配置 Default(默认)约束
目的:当用户向新行插入数据且未指定该列值时,系统自动填入预设值。
操作步骤:
- 入口:保持表设计器处于打开状态,聚焦于具体列。
- 参数设置:在下方 “列属性”** 窗格中,找到 “默认值或绑定”**(Default Value or Binding)栏目。
- 动作:在此处直接输入默认值。例如,性别列填写
'男'。
- 完成状态:保存表。后续插入该行但未填此列时,将自动应用该值。
第5步:配置 Check(检查)约束
目的:通过逻辑表达式限制列值的合法范围,常用于年龄、状态码等业务校验。
操作步骤:
- 入口:在表设计器顶部功能区点击 “管理CHECK约束”**,或在右键菜单中找到相关项。
- 动作:展开约束列表,定位到 “表达式”**(Expression)输入框。
- 语法示例:输入逻辑判断公式。例如限制性别只能为“男”或“女”,输入:
[sex] = '男' OR [sex] = '女'
- 完成状态:点击 “关闭”** 后保存表设计。任何试图写入非“男/女”值的操作将被数据库引擎拒绝。
- 动作:展开约束列表,定位到 “表达式”**(Expression)输入框。
简要总结
以上就是在 SQL Server 中使用图形化界面创建和管理主键、外键、唯一、默认及检查约束的详细内容,更多关于 SQL Server 数据库设计与优化的资料请关注本站其它相关文章!
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









