《Oracle数据库》实验报告Word格式.docx
《《Oracle数据库》实验报告Word格式.docx》由会员分享,可在线阅读,更多相关《《Oracle数据库》实验报告Word格式.docx(13页珍藏版)》请在冰豆网上搜索。
实验二创建和管理表
(1)掌握OEM中创建表的方法
(2)掌握使用SQL语句创建表
(3)掌握OEM中修改、删除表的方法
(4)掌握使用SQL语句修改、删除表的方法
(1)启动OEM,在OEM中创建学生信息表XS、课程信息表KC和学生成绩表XS_KC
(2)启动SQL*Plus,用PL/SQL创建员创建学生信息表XS、课程信息表KC和学生成绩表XS_KC
(3)在OEM中,为XS表增加SFZH列,字符型,长度18,唯一约束
(4)利用SQL语句,在XS表上增加一个class字段,使class字段只能取值为(1,2,3,4,5,6);
(5)删除KC表,能否删除?
为什么?
怎么解决?
学生信息表XS
列名
数据类型
大小
小数位
是否为空
默认值
约束
含义
XH
char
6
否
主键
学号
XM
varchar2
20
姓名
ZYM
10
专业
XB
2
男
性别
CSSJ
date
出生时间
ZXF
number
总学分
课程信息表KC
KCH
3
课程号
KCM
课程名
KKXQ
1
1~8
开课学期
XS
学时
XF
学分
学生成绩表XS_KC
主键,外键
CJ
日期:
实验三表数据的插入、修改和删除
(1)掌握用PL/SQL语句对数据库表进行插入、修改和删除数据的操作
(2)理解数据更新操作时要注意数据的完整性
(3)理解PL/SQL语句对表数据操作的灵活控制功能
(1)利用PL/SQL的INSERTINTO命令向学生信息表XS、课程信息表KC和学生成绩表XS_KC添加数据,其数据内容参考下表。
(2)利用PL/SQL的UPDATE命令修改表数据:
●在数据表XS中,将学号(XH)为“”同学的专业(ZYM)改为“通信工程”;
●在数据表XS_KC中,将成绩(CJ)小于70分的所有同学成绩置空;
●在数据表XS_KC中,将计算机系的学生成绩增加10分;
(3)利用PL/SQL的DELETE命令删除数据表XS中所有备注(BZ)为空的记录。
(4)利用PL/SQL的DELETE命令删除数据表XS_KC中所有男生的成绩记录。
(5)如果要将“王林”的学号改为“”,SQL语句怎么写?
能不能修改成功?
(6)如果要删除“王林”的基本信息数据,SQL语句怎么写?
能不能删除成功?
学生信息表(XS)数据
BZ
王林
计算机
1986-02-10
50
程明
1987-02-01
王燕
女
1985-10-06
韦严平
1986-08-26
李方方
1986-11-20
李明
1986-05-01
54
提前修完《数据结构》,并获学分
林一帆
1985-08-05
52
已提前修完一门课
张强民
1984-08-11
张蔚
1987-07-22
三好生
赵琳
1986-03-18
严红
1985-08-11
48
有一门功课不及格,待补考
06120l
王敏
通信工程
1984-06-10
42
1985-0l-29
40
王玉民
1986-03-26
马琳琳
1984-02-10
李计
1985-09-20
李红庆
1985-05-0l
44
提前修完一门课,并获学分
孙祥欣
1984-03-09
孙研
1986-10-09
课程信息表(KC)
101
计算机基础
80
5
102
程序设计语言
68
4
206
离散数学
208
数据结构
209
操作系统
210
计算机原理
7
85
212
数据库原理
301
计算机网络
51
302
软件工程
学生成绩表(XS_KC)
78
061l11
76
10l
63
06110l
79
62
60
70
64
81
87
65
90
66
84
83
91
95
实验四数据库的查询
实验目的
(1)掌握SELECT语句的基本语法
(2)掌握子查询的表示
(3)掌握连接查询的表示
(4)掌握数据汇总的方法
(5)掌握SELECT语句的GROUPBY子句的作用和使用方法
(6)掌握SELECT语句的ORDERBY子句的作用和使用方法
针对ORCL数据库中的数据表,完成下列查询。
(1)SELECT基本使用
●查询每个同学的所有数据。
●查询学号为“”同学的姓名、性别和专业。
●查询每个女同学的姓名、性别,并将结果中各列的标题指定为姓名和性别;
●查询所有其姓名含有“阳”的同学的专业、性别;
●查询课程编号“101”,且成绩在70~80之间的同学的学号;
(2)嵌套查询
●查询选修“101”课程的同学的学号、姓名和专业信息;
●查询没有选修“101”课程的同学的学号、姓名和专业信息;
●查询比通信工程专业的同学总学分都高的同学学号、姓名和专业信息;
●查询平均成绩高于80分的同学的学号、姓名、性别和专业;
(3)连接查询
●查询每个同学的学号、姓名、课程名和成绩信息;
●查询总学分大于48分的同学姓名和其选课情况(包括课程名称、学时和成绩);
(4)数据汇总
●查询计算机专业同学总学分的平均分;
●查询全体同学的总学分的学最高分和最低分;
●查询计算机专业同学总人数;
●查询学号为“”同学的各门课程总分;
(5)GROUPBY
●查询每个专业的总人数;
●查询每位同学的平均分;
(6)ORDERBY
●查询每个同学的学号、姓名、课程名和成绩信息,并按成绩由低到高排列输出;
实验五视图和索引
(1)了解视图的重要性
(2)掌握视图的建立
(3)掌握视图的使用
(4)掌握索引的使用方法
(5)掌握索引的概念及分类
(1)使用PL/SQL语句CREATEVIEW命令创建下列视图:
●视图view_female,包含学生信息表中所有女生信息;
●视图view_count,包含每个专业的名称和学生人数信息;
●视图view_sum,包含每个同学的学号、姓名、课程总成绩信息;
●视图view_score,包含每个同学的学号、姓名、课名,成绩信息;
(2)使用PL/SQL语句DROPVIEW命令删除视图view_female。
(3)在SQLPlus中,通过视图,查询下列信息:
●查询“计算机”专业的学生人数;
●查询学号“”同学的所选课程和课程成绩信息
(5)在OEM中建立索引:
●对课程信息表KC的KCM列创建索引idx_kcm;
●对学生表XS的XH、XM列创建唯一索引idx_xhxm;
(6)使用PL/SQL命令CREATEINDEX建立以上两个索引
(7)通过数据字典查看XS表的索引信息
实验六用户、角色管理
(1)掌握数据库的安全性能
(2)掌握使用用户实现数据库安全性的方法
(3)掌握使用角色实现数据库安全性的方法
(1)利用CREATEUSER语句,在数据库中创建用户MANAGER,授予DBA角色和SYSDBA系统权限。
(2)利用CREATEUSER语句,在数据库中创建用户USER1,授予查询XS表的对象权限和创建表的系统权限。
(3)利用CREATEROLE语句,在数据库中创建角色ADMIN,授予DBA角色和修改表和删除表的权限。
(4)利用新建立的用户连接数据库,验证其权限。
实验七备份和恢复
(1)掌握备份的使用方法
(2)掌握恢复的使用方法
(3)掌握闪回的使用方法
(1)利用Expdp命令,对ORCL数据库导出整个scott方案中的emp、dept表。
(2)利用impdp命令,使用步骤1导出的转储文件,对ORCL数据库导入emp、dept表。
(3)练习数据库闪回技术
实验八PL/SQL编程
(1)掌握变量的分类及使用
(2)掌握各种运算符的使用
(3)掌握各种控制语句的使用
(4)掌握系统函数及用户自定义函数的使用
(5)游标的使用
(1)创建函数get_score(xh,kch),返回某个学生某门课的成绩,要求成绩转换为五级制。
(2)调用函数get_score。
(3)练习游标的用法。
按下列格式输出学生的成绩:
王林:
计算机基础90
程序设计语言80
…
程明:
计算机基础56
程序设计语言74
实验九存储过程和触发器的使用
(1)掌握存储过程的意义
(2)掌握存储过程的使用方法
(3)掌握触发器的意义
(4)掌握触发器的使用方法
(1)利用CREATEPROCEDURE创建存储过程,使其能够完成向学生信息表中添加记录信息,添加时需判断该学生信息是否存在。
并调用所建立的存储过程,对学生信息表中添加记录信息。
(2)利用CREATETRIGGER创建触发器,完成XS_KC表的XH列和XS表的XH列的参照完整性规则。