湖南大学数据库实验四 完整性约束、视图、存储过程和数据安全_第1页
湖南大学数据库实验四 完整性约束、视图、存储过程和数据安全_第2页
湖南大学数据库实验四 完整性约束、视图、存储过程和数据安全_第3页
湖南大学数据库实验四 完整性约束、视图、存储过程和数据安全_第4页
湖南大学数据库实验四 完整性约束、视图、存储过程和数据安全_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验四实验四 完整性约束、视图、存储过程和数据安全完整性约束、视图、存储过程和数据安全 实验目的:实验目的: 1、掌握创建各种实体完整性约束的方法。 2、掌握创建和使用视图、存储过程和索引的方法。 3、掌握视图实现数据安全的基本方法。 4、掌握数据库的基本备份和恢复技术。 实验内容:实验内容: 本实验在 ORACLE 数据库平台上进行操作,ORACLE 数据 库的基本操作请参考实验二,本实验中的各种数据都来自 于实验三中的各个表。 实验主要内容如下: 1、学习创建四类完整性约束的方法。 2、学习创建视图、存储过程和索引的方法。 3、学习利用用户管理,角色管理,以及利用视图实现数 据安全。 4、学习 ORACLE 数据库的基本备份和恢复技术。 实验过程:实验过程: 1.实体完整性约束 方法一: create table course ( cno varchar(10) not null, dno char(8) not null, cname varchar(20) not null, hours number not null, term number not null, credit number not null, constraint pk_course primary key (cno) ); 方法二: alter table course add constraint pk_course primary key(cno) ; 2.参照完整性约束 alter table COURSE add constraint FK_COURSE_DEPARTMEN_DEPARTME foreign key (dno) references department (dno); 3.域约束 前面建表时用的数据类型,NOT NULL 等都属于域约束; alter table student add constraint chk_sex check (sex in (男,女); alter table student modify sex default 男; alter table student_course_teacher add constraint chk_score check (score=0 AND score=100); 4.业务规则约束 用触发器实现一下: create or replace trigger tri_del_teacher after delete on teacher for each row declare - local variables here begin delete from teacher_course where tno=:old.tno; delete from student_course_teacher where tno=:old.tno; end tri_del_teacher; / 备注:最后面的斜杠“/”不能少。 5.视图的创建和查询 create view myview_course as select s.sno 学号, sname 姓名, classno 班级 from student s, teacher t, course c, student_course_teacher sct where t.tname =杨金民 and ame =数据库系统 and sct.semester = 2010/01 and s.sno = sct.sno and t.tno = sct.tno and o = o; 6.存储过程 创建存储过程: create or replace procedure myproc(cname1 varchar2,semester1 varchar2) as classno1 student.classno%type; avg1 integer; begin select classno, avg(score) into classno1,avg1 from student s, course c, student_course_teacher sct where ame = cname1 and sct.semester =semester1 and s.sno = sct.sno and o = o and rownum=1 group by classno; dbms_output.put_line(班级编号:|classno1| |平均分:|avg1); end; / 创建成功以后,使用存储过程: CALL myproc(数据库系统,2010/01); 7.索引 create index my_student_idx on student(sex); -对表中的 SEX 建立索引 8.用户管理 create user test identified by tiger; -创建 grant connect to test; -连接 GRANT privilegeList | ALL PRIVILEGES-授权 ON ObjectName TO AuthorizationIdList | PUBLIC WITH GRANT OPTION 9.角色管理 create role myrole; -创建 grant select on maqiang.teacher_course to myrole; -授权 grant select on maqiang.student to myrole; grant myrole to test; -使用户具有 mvrole 的权限 select * from maqiang.teacher_course; -验证 是否具有该权限 select * from maqiang.student; revoke myrole from test; -取消角色权限 10.视图 create view myview_student as select sno,sname from maqiang.student; -创建 grant select on myview_student to test; -授 权 11.数据备份 将 student_course_teacher 表进行备份和恢复。 缓冲区大小:可以更改,这里就用的默认值; 导出文件:输入导出路径,文件名后缀.dmp; 用户,表:这里可以选择是导出用户下所有的,还是 选定的表,如果具有管理员权限,则可多一个选项,导出 整个数据库。 导出表数据:选择 yes 的话就会把表的数据也导出, no 的话就只导出表结构,不导出数据; 压缩区: 选择 yes 会进行压缩。 要导出的表或分区: 这里填写要导出的表名,本例中就是 student_course_teacher,可以看到,成功导出,如果还 要导出别的表,接着输入表名,没了的话就直接回车结束。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论