数据库的安全性和性(共8页).doc
精选优质文档-倾情为你奉上课程实验报告课程名称数据库系统概论班级实验日期姓名学号实验成绩实验名称实验3:数据库的安全性和完整性实验目的及要求1掌握实体完整性规则的定义方法;2掌握参照完整性规则的定义方法;3掌握用户定义完整性的定义方法;4掌握数据库安全性控制。实验环境操作系统:WindowsDBMS:SQL Server 2005实验内容有三个关系模式:Student(sno varchar(10) 主键,sname varchar(8), ssex varchar(2) 默认为男, sage int 介于20到50之间, sdept varchar(20);Course(cno varchar(5) 主键, cname varchar(20) 唯一, cpno varchar(5), credit int);SC(sno varchar(10) 主键,Student表的外键, cno 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);create table Course(cno varchar(5) ,cname varchar(20) ,cpno varchar(5),credit int,constraint cno1 primary key(cno),constraint cname1 unique(cname);/*SC(sno varchar(10) 主键,Student表的外键, cno varchar(5) 主键,Course表的外键, grade int)。*/create table SC(sno varchar(10), cno varchar(5), grade int, primary key(sno,cno), constraint sno2 foreign key(sno) references Student(sno), constraint cno2 foreign key(cno) references Course(cno);2.alter table Student drop sage1;3.create login TestUser1with password=''create user 王明for login TestUser1with default_schema=dbo;grant selecton Student to 王明;grant selecton Courseto 王明;4.create login TestUser2with password=''create user 李勇for login TestUser2with default_schema=dbo;grant inserton Student to 李勇;grant deleteon Courseto 李勇;5.create login TestUser3with password=''create user 刘星for login TestUser3with default_schema=dbo;grant update(sname),selecton Student to 刘星;6.create login TestUser4with password=''create user 张星 for login TestUser4with default_schema=dbo;grant create table to 张星;7.create login TestUser5with password=''create user 周平grant all privileges to 周平with grant option8.revoke delete,inserton Studentfrom 李勇;revoke create table from 张星;单纯的课本内容,并不能满足学生的需要,通过补充,达到内容的完善 教育之通病是教用脑的人不用手,不教用手的人用脑,所以一无所能。教育革命的对策是手脑联盟,结果是手与脑的力量都可以大到不可思议。专心-专注-专业