广西科技大学
计通学院
《数据库原理及应用》实验
实验五 数据完整性和安全性
学生姓名:
学
班
号:
级:
指导老师:
专
业:计算机科学与技术
提交日期:2018 年 6 月 27 日
实验报告内容
一、 实验目的
1. 了解实现数据完整性的概念及实施数据完整性的重要性。
2. 掌握数据完整性的分类。
3. 掌握完整性约束的添加、删除方法。
4. 掌握默认值的创建、实施与删除方法。
5. 掌握规则的创建、实施与删除方法。
6. 掌握级联删除、级联修改方法。
7. 理解索引的概念与类型。
8. 掌握使用 SQL Server Management Studio 创建与维护索引
的方法。
9. 掌握 T-SQL 语句创建与维护索引的方法。
10. 掌握 SQL Server 下的数据库安全管理机制。
二、 实验内容(实验过程、代码和结果截图)
1. 完整性约束的添加、删除
1) 使用 SQL Server Management Studio 实施约束。
1 为表 Student 的 Birth 字段创建检查约束,使输入的生日
日期小于系统日期。
选择 Student 表,右击→设计,打开 Student 表;选择 Birth,
右 击 → CHECK 约 束 ; 单 击 “ 添 加 ” ; 在 表 达 式 中 写 入 :
Entrance_date
2 为表 Student 的 Sdept 字段,设置默认值约束,默认值取
‘计算机系’。
选择 Sdept,在其列属性中修改其默认值为‘计算机系’。
如图 1-2 所示:
图 1-2
3 为 Student 表的 Sname 字段添加唯一性约束。
选择 Sname,右击→索引/键,单击“添加”,在类型中把“是
唯一的”选择是,在列中选择“Sname”,名称自定义,单击
“关闭”退出。
如图 1-3 所示:
图 1-3
4 将 SC 表的 Sno,Cno 字段设置外键约束,约束名自已取,并
允许级联删除与级联更新。若已存在外键约束,请先删除。
答:选中 Sno,右击→单击“关系”,查看是否已存在外键约
束;若存在,选中,点击删除即可;添加约束:选中 Sno,右
击,选择“关系”点击添加,并修改成自己想要的规范和名
称,确定,完成。设置 Cno 的外键也是一样的操作。
如图 1-4 所示:
图 1-4
2) 使用 Transact-SQL 语句实施约束
1 为 Student 表的 Sno 字段添加一个 CHECK 约束,使学号前
4 位为 2011,学号后 4 位为数字字符。
如图 1-5 所示:
2 为 Student 表中的 Birth 字段添加一个约束,规定生日应
图 1-5
小于入学时间。
如图 1-6 所示:
图 1-6
3 禁用①中实施的 CHECK 约束。
如图 1-7 所示:
图 1-7
4 重新启用 CHECK 约束。
如图 1-8 所示:
图 1-8
5 删除①所设置 check 约束
如图 1-9 所示:
图 1-9
6 将 Student 表中的 Classno 字段设置为允许空。
如图 1-10 所示:
图 1-10
7 为 SC 表中的 Sno,Cno 添加外键约束,约束名自取;并允
许级联删除与级联更新。若已存在外键约束,请先删除。
首先查看 SC 表中 Sno 和 Cno 有无外键约束。
如图 1-11 所示:
图 1-11
由图 1-11 已知,SC 中 Sno,Cno 存在外键约束,则删除。
如图 1-12 所示:
图 1-12
添加 Sno 和 Cno 的外键约束。
如图 1-13、图 1-14 所示:
图 1-13
图 1-14
8 为 Course 表中的 Cname 字段添加唯一性约束。
如图 1-15 所示:
图 1-15
2. 默认值的实施
通过 Transact-SQL 实现。
1 为数据库 Student_info 创建一个默认的邮政编码,名称自
取,值为 200093。
如图 2-1 所示:
图 2-1
2 将该默认值绑定到 Student 表中的 Postcode 列。
如图 2-2 所示:
图 2-2
3 将 Postcode 列上的绑定解除,并删除该默认值。
如图 2-3、图 2-4 所示:
图 2-3
图 2-4
3. 规则的实施
通过 Transact-SQL 实现。
1 为数据库 Student_info 创建一个关于性别的取值规则,规
则名自取,要求字段的取值仅能为’男’或’女’。
如图 3-1、图 3-2 所示:
图 3-1
图 3-2