数据库管理与应用创建“学生表”中的约束

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

创建“学生表”中的约束

例4:创建“学生表”中的约束

(1)打开SSMS窗口,在“对象资源管理器”窗格中展开“数据库”,展开“students”,展开“表”。

(2)右键单击“学生表”,选择“设计”。

(3)右键单击“学号”行选择器,然后选择“设置主键”。此时,学号列建立了主键约束,如图3-5所示。

图3-5 “学生表”主键的添加

(4)右键单击“性别”列的行选择器,然后选择“CHECK约束”,弹出“CHECK约束”对话框。如图3-6所示。

图3-6 学生表的CHECK约束对话框

(5)单击“添加”按钮,如果希望为约束指定一个不同的名称,请在“标识-名称”框中键入名称。单击“常规”→“表达式”栏目右侧的按钮,弹出“CHECK约束表达式”对话框,在对话框中输入:性别=’男’ or 性别='女',如图3-7所示。

图3-7 学生表性别字段的“CHECK约束表达式”对话框

(6)单击“确定”按钮,返回到CHECK约束对话框,如图3-8所示。

图3-8 学生表CHECK约束设置

(7)接受缺省的约束名称。

(8)展开表设计器类别以设置在何时强制约束:

✓若要在创建约束前对现有数据测试约束,请选中“在创建或启用时检查现有数据”。

✓若要每当复制代理对此表执行插入或更新操作时强制约束,请选中“强制用于复制”。

✓若要每当在此表中插入或更新行时强制约束,请选中“强制用于INSERT 和UPDATE”。

(9)单击对话框底部的“关闭”按钮。

(10)选择“工具栏”的“保存”按钮。

(11)关闭表设计器。

附:使用T-SQL代码创建“学生表”约束

--添加主键约束

ALTER TABLE 学生表ADD CONSTRAINT PK_学生表

PRIMARY KEY CLUSTERED (学号)

GO

--添加CHECK约束

ALTER TABLE 学生表ADD CONSTRAINT CK_学生表

CHECK (性别='男' OR 性别='女')

GO

例5:创建“课程表“中的约束

(1)打开SSMS窗口,在“对象资源管理器”窗格中展开“数据库”,展开“students”,展开“表”。

(2)右键单击“课程表”,选择“设计”。

(3)右键单击“课程代码”行选择器,然后选择“设置主键”。此时,“课程代码”列建立了主键约束,如图3-9所示。

图3-9 “课程表”主键的添加

(4)右键单击“课程名称”行选择器,然后选择“索引/键”。

(5)单击“添加”按钮,在“常规-类型”选择下拉菜单“唯一键”。在“常规-列”选择课程名称(升序),如图3-10所示。

图3-10 “课程表”唯一键的添加

(6)接受缺省的约束名称。

(7)单击对话框底部的“关闭”按钮。

(8)右键单击“课程类型”行选择器,在底部“列属性”中,选择“常规-默认值或绑定”,输入’考查’,如图3-11所示。

图3-11 “课程表”默认值的添加

(9)选择“工具栏”的“保存”按钮。

(10)关闭表设计器

提示:由于一个表只能有一个主键,要限制课程名称不能重复只能选择唯一性约束。

附:使用T-SQL代码创建“课程表”约束。

--添加主键约束

USE students

GO

ALTER TABLE 课程表ADD CONSTRAINT PK_课程表

PRIMARY KEY CLUSTERED (课程代码)

GO

--添加唯一键约束

USE students

GO

ALTER TABLE 课程表ADD CONSTRAINT uq_课程表

UNIQUE NONCLUSTERED

(

课程代码ASC

)

GO

--添加默认值约束

USE students

GO

ALTER TABLE 课程表ADD CONSTRAINT DF_课程表_课程类型DEFAULT ('考查') FOR 课程类型

GO

例6:创建“成绩表”中的约束

(1)打开SSMS窗口,在“对象资源管理器”窗格中展开“数据库”,展开“students”,展开“表”。

(2)右键单击“成绩表”,选择“设计”。

(3)右键单击“课程代码”行选择器,然后选择“设置主键”,如图3-12所示。

图3-12 “成绩表”主键的添加

相关文档
最新文档