- 0
- 0
- 约2.79千字
- 约 6页
- 2019-05-14 发布于安徽
- 举报
..
课程实验报告
课程名称
数据库系统概论
班级
实验日期
姓名
学号
实验成绩
实验名称
实验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表所有权力,并具有给其他用户授权的权力;
回收李勇、张新的权限。
调试过程及实验结果
(1)利用查询分析器创建上述3个基本表。
(2)_删除student表的关于sage 20到50的约束
(3)用户王明对Student表和Course表有SELECT权力;
用户刘星对Student表有SELECT权力,对Student表的sage字段有更新权力;
用户张新具有创建表的权力;
用户周平具有对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 TestUser1
wit
原创力文档

文档评论(0)