课程实验报告
课程名称 数据库系统概论 实验名称 班级 学号 实验日期 实验成绩 实验3:数据库的安全性和完整性 1.掌握实体完整性规则的定义方法; 实验目的2.掌握参照完整性规则的定义方法; 及要求 3.掌握用户定义完整性的定义方法; 4.掌握数据库安全性控制。 操作系统:Windows 实验环境 DBMS:SQL Server 2005 有三个关系模式: Student(sno varchar(10) 主键,sname varchar(8), ssex varchar(2) 默认为‘男’, sage int 介于20到50之间, sdept varchar(20)); Course(cno varchar(5) 主键,ame varchar(20) 唯一, cpno varchar(5), credit int); SC(sno varchar(10) 主键,Student表的外键,o varchar(5) 主键,Course表的外键, grade int)。 数据库的完整性 (1) 利用查询分析器创建上述3个基本表。 实验容 (2) 删除student表的关于sage 20到50的约束 数据库的安全性: 用GRANT和REVOKE语句完成以下授权定义或存取控制功能: (1) 用户王明对Student表和Course表有SELECT权力; (2) 用户勇对Student表和Course表有INSERT和DELETE权力; (3) 用户星对Student表有SELECT权力,对Student表的sage字段有更
新权力; (4) 用户新具有创建表的权力; (5) 用户周平具有对Student表和Course表所有权力,并具有给其他用户授权的权力; (6) 回收勇、新的权限。 调试过程及实验结果 (1)利用查询分析器创建上述3个基本表。 (2)_删除student表的关于sage 20到50的约束 (3)用户王明对Student表和Course表有SELECT权力;
(4)用户星对Student表有SELECT权力,对Student表的sage字段有更新权力;
(5)用户新具有创建表的权力; (6)用户周平具有对Student表和Course表所有权力,并具有给其他用户授权的权力;
(7)回收勇、新的权限。 总结 此次数据库实验是我认为对自身知识补充最大一次实验,关于数据库的安全性和完整性问题,是数据库十分重要的问题。数据库的完整性,主要是建立一些表级约束和列级约束条件来使基本表条件更加完整。但是表级约束和列级约束也存在不同。虽然效果一样,但是表级约束和列级约束相比灵活性更, 所以实验中要求对某些约束条件进行删除更加方便,因此在本次实验中主要采用的时表级约束条件。除此之外数据库的安全性问题,书上的代码是不能直接使用的。使用前提是首先要这个用户是存在的,因此在做数据库实验的时候,首先就是创建登录名,一级登录名下面的用户。只有创建了用户之后,才能对用户进行权利的授予。 附录 (1)利用查询分析器创建上述3个基本表。 Create table Student ( sno varchar(10) , sname varchar(8), ssex varchar(2) default '男' , /*默认是男*/ sage int , /*年龄介于20-50*/ sdept varchar(20) , constraint sno1 primary key(sno), constraint sage1 check(sage between 20 and 50) );
实验3数据库的安全性和完整性 - 图文
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)