实验3数据库的安全性和完整性.doc
文本预览下载声明
课程实验报告
课程名称 数据库系统概论 班级 实验日期 姓名 学号 实验成绩 实验名称 实验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) 主键, cname varchar(20) 唯一, cpno varchar(5), credit int);
SC(sno varchar(10) 主键,Student表的外键, cno varchar(5) 主键,Course表的外键, grade int)。
数据库的完整性
利用查询分析器创建上述3个基本表。
删除student表的关于sage 20到50的约束
数据库的安全性:
用GRANT和REVOKE语句完成以下授权定义或存取控制功能:
用户王明对Student表和Course表有SELECT权力;
用户李勇对Student表和Course表有INSERT和DELETE权力;
用户刘星对Student表有SELECT权力,对Student表的sage字段有更新权力;
用户张新具有创建表的权力;
用户周平具有对Student表和Course表所有权力,并具有给其他用户授权的权力;回收李勇、张新的权限利用查询分析器创建上述3个基本表。
(2)_删除student表的关于sage 20到50的约束
用户王明对Student表和Course表有SELECT权力;
用户刘星对Student表有SELECT权力,对Student表的sage字段有更新权力;
用户张新具有创建表的权力;
用户周平具有对Student表和Course表所有权力,并具有给其他用户授权的权力;
回收李勇、张新的权限
总结 此次数据库实验是我认为对自身知识补充最大一次实验,关于数据库的安全性和完整性问题,是数据库十分重要的问题。数据库的完整性,主要是建立一些表级约束和列级约束条件来使基本表条件更加完整。但是表级约束和列级约束也存在不同。虽然效果一样,但是表级约束和列级约束相比灵活性更, 所以实验中要求对某些约束条件进行删除更加方便,因此在本次实验中主要采用的时表级约束条件。除此之外数据库的安全性问题,书上的代码是不能直接使用的。使用前提是首先要这个用户是存在的,因此在做数据库实验的时候,首先就是创建登录名,一级登录名下面的用户。只有创建了用户之后,才能对用户进行权利的授予。 附录 (1)利用查询分析器创建上述3个基本表。
显示全部