数据库完整性实验报告

实验六 数据库完整性

一、实验学时

2学时

二、实验目的

(1)实现数据完整性的概念及实施数据完整性的重要性。
(2)掌握数据完整性的分类。
(3)掌握完整性约束的添加、删除方法。
(4)掌握通用默认值的创建、实施与删除方法。
(5)掌握规则的创建、实施与删除方法。
(6)掌握级联删除、级联修改方法。

三、实验要求

(1)硬件设备:奔腾II或奔腾II以上计算机,局域网。
(2)软件环境:WINDOWS 9X/NT、WINDOWS SERVER、WINDOWS XP、WINDOWS 7、SQL SERVER 2000/2005/2008中文版企业版或标准版。
(3)实验课前预习,课后及时完成实验内容。
(4)实验过程及记录按题目格式要求填写代码清单。
四、实验内容
数据完整性是指数据的正确性、完备性和一致性,是衡量数据库质量好坏的重要标准。
数据完整性分为以下三类:
实体完整性:是指保证表中所有的行惟一。由主键约束来实现。
参照完整性:也叫引用完整性。参照完整性总是保证主关键字(被引用表)和外部关键字(引用表)之间的参照关系。它涉及两个或两个以上表数据的一致性维护。由外键约束来实现。
用户自定义完整性:是指用户针对某一具体关系数据库的数据必须满足的语义要求。通常由Check约束来实现。
1.完整性约束的添加、删除
约束是强制数据完整性的首选方法。约束有6种类型:非空约束、默认值约束、Check约束、主键约束、外键约束、唯一性约束。
(1)使用企业管理器实施约束
1)为表Student的Sdept字段即所在系字段,设置默认值约束,默认值取‘CS’。
添加默认约束的操作步骤:

删除默认约束的操作步骤:

2)(若原有约束,请在企业管理器中删除Student表的主键约束)在企业管理器中将Sno重设为主键。(会操作即可,操作步骤可略)
3)为Student表的Sname字段添加唯一性约束。
添加唯一性约束操作步骤:

删除唯一性约束操作步骤:

4)(若原有约束,请在企业管理器中删除原有的外键约束)在企业管理器中删除SC原有的外键约束,在企业管理器中对Sno,Cno字段设置外键约束,约束名自己取。并允许级联删除与级联更新。
添加外键约束的操作步骤:

删除外键约束的操作步骤:

(2)使用T-SQL语句添加、删除约束(约束名自取,并自行添加或修改某些字段值检验有效性)
1)为Student表的Sno字段添加一个check约束,使学号满足如下条件:
a. 学号前四位为2002。
b. 学号后五位为数字字符。
T-SQL语句为:
create table Student
(Sno char(9) check(Sno like’[2002][0-9][0-9][0-9][0-9][0-9]’));

2)(若原有约束,请在企业管理器中删除SC表主键约束及外键约束)将SC表中的Sno,Cno字段设置为主键。
T-SQL语句为:
alter table SC
add constraint PK_SC primary key(Sno,Cno)

3)为SC表中的Sno,Cno添加外键约束,约束名自取;并允许级联删除与级联更新。
添加外键约束T-SQL语句为:

alter table SC
add constraint FK_Sno foreign key(Sno) references Student(Sno)
on delete cascade on update cascade;
alter table SC
add constraint FK_Cno foreign key(Cno) references Course(Cno)
on delete cascade on update cascade

验证级联删除与级联更新T-SQL语句:
(测试实例自编)
**select from Student
where Sno=‘200200002’
select from SC
where Sno=‘200200001’
delete from Student
where Sno=‘200200001’
select from Student
where Sno=‘200200001’
select
from SC
where Sno=‘200200001’

2.通用默认值的实施
(1)使用企业管理器实现
1)使用企业管理器中为数据库Stu_Course创建一个默认的年龄,名称自取,值为:19。
具体步骤如下:

2)将该默认值绑定到Student表中的Sage列。
具体步骤如下:

3)将Sage列上的绑定解除,并在企业管理器中删除该默认值。
具体步骤如下:

若未解除绑定,能否删除默认值?

(2)使用T-SQL语句实施默认值
1)为数据库Stu_Course创建一个关于性别的默认值,名称自取,值为“女”。
T-SQL语句为:
create default about_sex as '女’

2)将该默认值绑定到Student表中的Ssex字段(原有的约束请删除)
T-SQL语句:
sp_bindefault about_sex ,"Student.Ssex"

3)解除表Student的Ssex列的默认值绑定,并删除该默认值。
T-SQL语句:
sp_unbindefault ‘Student.Ssex’
drop default about_sex

3.规则的实施
(1)使用企业管理器实现
1)使用企业管理器为数据库Stu_Course创建一个关于性别的取值规则,规则名自取,要求字段的取值仅能为‘男’或‘女’。
具体步骤如下:

2)将该规则绑定到Student表的Ssex字段上。
具体步骤如下:

3)解除Student表的Ssex列上的绑定,并删除该规则。
具体步骤如下:

(2)使用T-SQL实施规则
1)为数据库Stu_Course创建一个关于学号的规则,名称自取,学号的具体取值规则为:
a.学号前四位为2002。
b.学号后五位为数字字符。
T-SQL语句为:
create rule rule_Sno
as @range like’2002[0-9][0-9][0-9][0-9][0-9]'

2)将该规则绑定到表Student表、SC表的Sno列上。
T-SQL语句为:
exec sp_bindrule ‘rule_Sno’,‘Student.Sno’
exec sp_bindrule ‘rule_Sno’,'SC.Sno’

3)解除所有的绑定,并删除该规则。
T-SQL语句为:
exec sp_unbindrule ‘Student.Sno’
exec sp_unbindrule 'SC.Sno’

  • 5
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一、实验目的 使学生加深对数据库安全性和完整性的理解。并掌握SQL Server中有关用户、角色及操作权限的管理方法。熟悉通过SQL语句对数据进行完整性控制。 二、实验内容和要求   数据库的安全性实验,在SQL Server企业管理器中,设置SQL Server的安全认证模式,实现对SQL Server的用户和角色管理,设置和管理数据操作权限。   具体内容如下:   设置SQL Server的安全认证模式(Windows或SQL Server和Windows(S)认证模式)。   登录的管理 创建一个登录用户   数据库用户的管理 登陆用户只有成为数据库用户(Database User)后才能访问数据库。每个数据库的用户信息都存放在系统表Sysusers中,通过查看Sysusers表可以看到该数据库所有用户的情况。SQL Server的数据库中都有两个默认用户:dbo(数据库拥有者用户)和(dba)。通过系统存储过程或企业管理器可以创建新的数据库用户。   角色的管理 创建一个角色,使创建的用户成为该角色的成员,并授予一定的操作权限。   在学生表中定义主键、外键约束。   在课程表的“课程名”字段上定义唯一约束。   在选课表的“成绩”字段上定义check约束,使之必须大于等于0且小于等于100.“课程号”字段只能输入数字字符。   定义规则,并绑定到读者表的“性别”字段,使之只能取“男、女”值。   在学生表中增加出生日期字段。定义缺省,并绑定到借阅表的“借阅日期”上,使之只能取当前日期。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值