http://blog.163.com/db_teacher/blog/static/194540298201110723712407/
实验(七)、第五章 数据库完整性
2011-11-07 14:37:12| 分类: 默认分类 | 标签: |字号大中小 订阅
一、实验目的
1.熟悉通过SQL语句对数据进行完整性控制
2.完成《数据库系统概论》一书中第五章例题的上机练习
二、实验平台
MS SQL Server 2000
三、实验要求
使用SQL语句对数据进行完整性控制,包括3类完整性约束、CHECK短语、CONSTRAINT子句、触发器。通过实验证实,当操作违法完整性约束条件时,系统是如何处理的。
四、实验内容及完成情况
在本次实验中,对数据完整性进行上机练习。包括3类完整性、CHECK短语、CONSTRAINT子句、触发器。因为完整性约束绝大部分是在定义表结构时进行的,因此可能需要多次重复定义同一张表。如果表名发生重复,则需要先删除旧表后再重新建立。
在开始实验之前,先创建一个名为Practice7的数据库,下面所有的SQL语句都是在Practice7这个数据库内执行的
1.在数据库Practice7中创建教材P82的student, course, sc三张表,先不设置主键,检查能否向表中插入重复值。
<记录下验证的过程,需要自己完成>
2.实体完整性:删除上一步创建的3张表,重新创建,对每张表都设置主键,先不为SC 表设置外键。再次检查能否向表中插入重复值,能否在SC表中插入不存在的学号(Sno)或者课程号(Cno)
3. 参照完整性:删除上一步创建的SC表,重新创建SC表并为其设置主键和外键。再次验证能否在SC表中插入不存在的学号(Sno)或者课程号(Cno)
4. 用户定义的完整性:完成教材 P158[例10],并通过插入数据进行验证。
5.触发器的使用(选做)
创建一个名为Tab的表,它仅包含一整数列(列名为col)。在表Tab上定义触发器Tri,在对Tab表插入或者更新前进行检查,如果插入或更新的值在60~100之间,将值设置为60;如果大于100,则给出新值不允许大于100的提示信息。
五、出现的问题及解决方案
<记录下自己在实验过程中出现的问题及解决方法,需要自己完成>
附录:本次实验参考解答