..课程实验报告课程名称数据库系统概论班级实验日期姓名学号实验成绩实验名称实验3:数据库的安全性和完整性实验目的及要求1.掌握实体完整性规则的定义方法;2.掌握参照完整性规则的定义方法;3.掌握用户定义完整性的定义方法;4.掌握数据库安全性控制。实验环境操作系统:WindowsDBMS:SQLServer2005实验内容有三个关系模式:Student(snovarchar(10)主键,snamevarchar(8),ssexvarchar(2)默认为‘男’,sageint介于20到50之间,sdeptvarchar(20));Course(cnovarchar(5)主键,cnamevarchar(20)唯一,cpnovarchar(5),creditint);SC(snovarchar(10)主键,Student表的外键,cnovarchar(5)主键,Course表的外键,gradeint)。数据库的完整性(1)利用查询分析器创建上述3个基本表。(2)删除student表的关于sage20到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表的关于sage20到50的约束(3)用户王明对Student表和Course表有SELECT权力;..(4)用户刘星对Student表有SELECT权力,对Student表的sage字段有更新权力;..(5)用户张新具有创建表的权力;(6)用户周平具有对Student表和Course表所有权力,并具有给其他用户授权的权力;..(7)回收李勇、张新的权限。总结此次数据库实验是我认为对自身知识补充最大一次实验,关于数据库的安全性和完整性问题,是数据库十分重要的问题。数据库的完整性,主要是建立一些表级约束和列级约束条件来使基本表条件更加完整。但是表级约束和列级约束也存在不同。虽然效果一样,但是表级约束和列级约束相比灵活性更,所以实验中要求对某些约束条件进行删除更加方便,因此在本次实验中主要采用的时表级约束条件。除此之外数据库的安全性问题,书上的代码是不能直接使用的。使用前提是首先要这个用户是存在的,因此在做数据库实验的时候,首先就是创建登录名,一级登录名下面的用户。只有创建了用户之后,才能对用户进行权利的授予。附录(1)利用查询分析器创建上述3个基本表。CreatetableStudent..(snovarchar(10),snamevarchar(8),ssexvarchar(2)default'男',/*默认是男*/sageint,/*年龄介于20-50*/sdeptvarchar(20),constraintsno1primarykey(sno),constraintsage1check(sagebetween20and50));createtableCourse(cnovarchar(5),cnamevarchar(20),cpnovarchar(5),creditint,constraintcno1primarykey(cno),constraintcname1unique(cname));/*SC(snovarchar(10)主键,Student表的外键,cnovarchar(5)主键,Course表的外键,gradeint)。*/createtableSC(snovarchar(10),cnovarchar(5),gradeint,primarykey(sno,cno),constraintsno2foreignkey(sno)referencesStudent(sno),constraintcno2foreignkey(cno)referencesCourse(cno));2.altertableStudentdropsage1;3.createloginTestUser1withpassword='339100';createuser王明forloginTestUser1withdefault_schema=dbo;grantselectonStudent..to王明;grantselectonCourseto王明;4.createloginTestUser2withpassword='339100';createuser李勇forloginTestUser2withdefault_schema=dbo;grantinsertonStudentto李勇;grantdeleteonCourseto李勇;5.createloginTestUser3withpassword='339100';createuser刘星forloginTestUser3withdefault_schema=dbo;grantupdate(sname),selectonStudentto刘星;6.createloginTestUser4withpassword='339100';createuser张星forloginTestUser4withdefault_schema=dbo;grantcreatetableto张星;7...createloginTestUser5withpassword='339100'createuser周平grantallprivilegesto周平withgrantoption8.revokedelete,insertonStudentfrom李勇;revokecreatetablefrom张星;单纯的课本内容,并不能满足学生的需要,通过补充,达到内容的完善教育之通病是教用脑的人不用手,不教用手的人用脑,所以一无所能。教育革命的对策是手脑联盟,结果是手与脑的力量都可以大到不可思议。