资源描述:
《湖南大学数据库实验四 完整性约束、视图、存储过程和数据安全.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验四完整性约束、视图、存储过程和数据安全实验目的:1、掌握创建各种实体完整性约束的方法。2、掌握创建和使用视图、存储过程和索引的方法。3、掌握视图实现数据安全的基本方法。4、掌握数据库的基本备份和恢复技术。实验内容:本实验在ORACLE数据库平台上进行操作,ORACLE数据库的基本操作请参考实验二,本实验中的各种数据都来自于实验三中的各个表。实验主要内容如下:1、学习创建四类完整性约束的方法。2、学习创建视图、存储过程和索引的方法。3、学习利用用户管理,角色管理,以及利用视图实现数据安全。4、学习ORACLE数据库的基本备份和恢复技术。实验过程:1.实体完整性约束方法一:creat
2、etablecourse(cnovarchar(10)notnull,dnochar(8)notnull,cnamevarchar(20)notnull,hoursnumbernotnull,termnumbernotnull,creditnumbernotnull,constraintpk_courseprimarykey(cno));方法二:altertablecourseaddconstraintpk_course primarykey(cno);2.参照完整性约束altertableCOURSEaddconstraintFK_COURSE_DEPARTMEN_DEPARTME
3、foreignkey(dno)referencesdepartment(dno);3.域约束前面建表时用的数据类型,NOTNULL等都属于域约束;altertablestudentaddconstraintchk_sexcheck(sexin('男','女'));altertablestudentmodifysexdefault'男';altertablestudent_course_teacheraddconstraintchk_scorecheck(score>=0ANDscore<=100);4.业务规则约束用触发器实现一下:createorreplacetriggertri_
4、del_teacherafterdeleteonteacherforeachrowdeclare--localvariablesherebegindeletefromteacher_coursewheretno=:old.tno;deletefromstudent_course_teacherwheretno=:old.tno;endtri_del_teacher;/备注:最后面的斜杠“/”不能少。5.视图的创建和查询createviewmyview_courseasselects.sno学号,sname姓名,classno班级fromstudents,teachert,course
5、c,student_course_teachersctwheret.tname='杨金民'andc.cname='数据库系统'andsct.semester='2010/01'ands.sno=sct.snoandt.tno=sct.tnoandc.cno=sct.cno;6.存储过程创建存储过程:createorreplaceproceduremyproc(cname1varchar2,semester1varchar2)asclassno1student.classno%type;avg1integer;beginselectclassno,avg(score)intoclass
6、no1,avg1fromstudents,coursec,student_course_teachersctwherec.cname=cname1andsct.semester=semester1ands.sno=sct.snoandc.cno=sct.cnoandrownum=1groupbyclassno;dbms_output.put_line('班级编号:'
7、
8、classno1
9、
10、''
11、
12、'平均分:'
13、
14、avg1);end;/创建成功以后,使用存储过程:CALLmyproc('数据库系统','2010/01');7.索引createindexmy_student_idxons
15、tudent(sex);----对表中的SEX建立索引8.用户管理createusertestidentifiedbytiger;-----创建grantconnecttotest;-----连接GRANT{privilegeList
16、ALLPRIVILEGES}---授权ONObjectNameTO{AuthorizationIdList
17、PUBLIC}[WITHGRANTOPTION]9.角色管理createrolemyrole;------创建gra