实验六 实现数据完整性
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验六实现数据完整性
班级:__________ 姓名:________ 学号:____________ 专业:___________
一、实验目的
1)实现数据完整性的概念及实施数据完整性的重要性。
2)掌握数据完整性的分类。
3)掌握完整性约束的添加、删除方法。
4)掌握通用默认值的创建、实施与删除方法。
5)掌握规则的创建、实施与删除方法。
6)掌握级联删除、级联修改方法。
二、实验内容
说明:在所有库文件名与表名取名时,请各位同学在所给定的文件名后加上下划线及学号后四位数字构成自己的实验数据库名与表名。如:XSGL1_20051101或XSGL1_1101.
数据完整性是指数据的正确性、完备性和一致性,是衡量数据库质量好坏的重要标准。数据完整性分为以下3类:
域完整性:是指一个列的输入有效性,如是否允许为空值等。通常由Check约束来实现。
实体完整性:是指保证表中所有的行惟一。由主键约束来实现。
参照完整性:也叫引用完整性。参照完整性总是保证主关键字(被引用表)和外部关键字(引用表)之间的参照关系。它涉及两个或两个以上表数据的一致性维护。由外键约束来实现。
1、完整性约束的添加、删除
约束是强制数据完整性的首选方法。约束有6种类型:非空约束、默认值约束、Check 约束、主键约束、外键约束、唯一性约束。
(1)使用企业管理器实施约束
1>为表student的birth字段创建检查约束,使输入的生日日期小于系统日期。
添加检查约束操作步骤:
删除该检查约束操作步骤:
2>为表student的Sdept字段即所在系字段,设置默认值约束,默认值取’CS’。
添加默认约束的操作步骤:
删除默认约束的操作步骤:
3>(若原有约束,请在企业管理器中删除student表的主键约束)在企业管理器中将sno重设为主键。(会操作即可,操作步骤可略)
4>为student表的sname字段添加唯一性约束。
添加唯一性约束操作步骤:
删除唯一性约束操作步骤:
5>(若原有约束,请在企业管理器中删除原有的外键约束)在企业管理器中删除SC原有的外键约束,在企业管理器中对sno,cno字段设置外键约束,约束名自已取。并允许级联删除与
级联更新。
添加外键约束的操作步骤:
删除外键约束的操作步骤:
(2)使用TSQL语句添加、删除约束(约束名自取,并自行添加或修改某些字段值检验有效性)
1>为student表的sno字段添加一个check约束,使学号满足如下条件:
a.学号前四位为2005。
b.学号后四位为数字字符。
T-SQL语句为:
2>为student表中的birth字段添加一个约束,规定生日应小于入学时间。
添加约束的T-SQL语句为:
禁用上面的Check约束的T-SQL语句:
启用Check约束的T-SQL语句:
(选做题:在该列中添加一个违反约束的值;利用 WITH NOCHECK 来防止对现有行验证约束,从而允许该约束的添加。)
删除所设置check约束的T-SQL语句为(要求先判断该约束是否已存在,若存在则将其删除):
3>将student表中的classno字段设置为允许空。
T-SQL语句为:
(若原有约束,请在企业管理器中删除SC表主键约束及外键约束)将SC表中的sno,cno字段设置为主键。
T-SQL语句为:
4>为SC表中的sno,cno添加外键约束,约束名自取;并允许级联删除与级联更新。
添加外键约束T-SQL语句为:
验证级联删除与级联更新T-SQL语句:
(测试实例自编)
5>为course表中的cname字段添加唯一性约束,为Total_perior添加check约束(规定总学时小于是100),并为course表添加一个计算列week_perior周学时字段,设一学期上课周共有18周,则周学时为:总学时/18(结果取整)(或用总学时/18.0 获得浮点型)。(注:计算列的约束只能是唯一性约束或是主键约束,并且不能修改)。
T-SQL语句为:
2、通用默认值的实施
(1)使用企业管理器实现
1>使用企业管理器中为数据库XSGL创建一个默认的邮政编码,名称自取,值为:210000。
具体步骤如下:
2>将该默认值绑定到student表中的postcode列。
具体步骤如下:
3>将postcode列上的绑定解除,并在企业管理器中删除该默认值。
具体步骤如下:
若未解除绑定,能否删除默认值?
(2)使用T-SQL语句实施默认值
1>为数据库XSGL创建一个关于性别的默认值,名称自取,值为“女”。
T-SQL语句为:
2>将该默认值绑定到Student表中的Sex字段(原有的约束请删除)。
T-SQL语句:
3>解除表student的sex列的默认值绑定,并删除该默认值。
T-SQL语句:
3、规则的实施
(1)使用企业管理器实现
1>使用企业管理器为数据库XSGL创建一个关于性别的取值规则,规则名自取,要求字段的取值仅能为’男’或’女’。
具体步骤如下:
2>将该规则绑定到student表的sex字段上。
具体步骤如下:
3>解除student表的sex列上的绑定,并删除该规则。
具体步骤如下:
(2)使用T-SQL实施规则
1>为数据库XSGL创建一个关于学号的规则, 名称自取,学号的具体取值规则为:
a.学号前四位为2005。
b.学号后四位为数字字符。
T-SQL语句为:
2>将该规则绑定到表student表、SC表的sno列上。
T-SQL语句为:
3>解除所有的绑定,并删除该规则。
T-SQL语句为: