6)查询有多少员工姓名的最后一个字符是‘N’,至少写出两个不同的查询
7)统计每个部门有多少个员工,注意即使没有员工的部门也需要列出信息
8)查询在平均工资最高的部门中的最低工资
9)查询工资最高的三个员工的名字和工资
10)查询所有比king低三极的员工的员工号、姓名和级别
- 29 - / 52
3.PL/SQL过程、函数和包练习
1)创建一个带参数的存储过程,其中的输入参数用于接收员工号,默认值为‘7654’,然后在emp表中查询该员工的姓名、部门、薪水信息,通过dbms_output包输出。
2)创建一个存储过程,在emp表中查询出哪些薪水高于4000的员工分别属于什么部门,以及相应部门的名称信息。使用dbme_output包输出相应的信息。
3)修改2)中建立的存储过程,增加一个参数,接收要查询的薪水值。 4)修改1)中建立的存储过程,查询出指定员工emp1的信息后,通过调用3题中建立的存储过程,查询有哪些员工的薪水高于员工emp1。
5)编写一个货币大小写转换的函数,传入参数为数值形式的货币,返回值为汉字形式的货币。 五、实验报告要求
本次实验不需要提交上机实验报告。
- 30 - / 52
实验五《学生成绩管理系统》数据库设计
一、实验目的
运用了数据库原理和Oracle数据库知识,针对具体的数据库设计工具,完成数据库的设计与编程。 二、实验内容
1、《学生成绩管理系统》至少要能够保存系统用户信息、学生基本信息、班级(含系)信息、课程信息、选课信息、成绩信息。 三、实验仪器、设备
软件:网络环境、Windows Server/NT或Linux或Unix操作系统、Oracle 9i、数据库设计工具ERWIN。
硬件:PIII 1G以上CPU、512 M以上内存、6.4GB以上的空闲磁盘空间和1000MB虚拟内存。 四、实验步骤
1、分析《学生成绩管理系统》需求
2、设计完成《学生成绩管理系统》的数据库ER图 3、编写《学生成绩管理系统》数据库设计文档
4、编写《学生成绩管理系统》的Oracle数据库SQL脚本 5、编写《学生成绩管理系统》的Oracle数据PL/SQL程序
6、在Oracle数据库服务器中执行SQL脚本和PL/SQL程序,创建《学生成绩管理系统》数据库 五、实验报告要求
1.实验目的 2.实验内容及步骤
3.实验习题的ER图和源程序清单
4.写出在实验过程中遇到的问题及解决方法
- 31 - / 52
实验六 备份和恢复实验
一、实验目的
掌握数据的导入、导出、备份和恢复的使用方法,数据库管理人员权限设置等。 二、实验内容
1.使用逻辑备份工具进行表方式备份 2.使用逻辑备份工具进行用户方式备份 3.使用逻辑备份工具进行数据库方式备份 4.使用逻辑恢复工具进行恢复 三、实验仪器、设备
软件:网络环境、Windows Server/NT或Linux或Unix操作系统、Oracle 9i。
硬件:PIII 1G以上CPU、512 M以上内存、6.4GB以上的空闲磁盘空间和1000MB虚拟内存。 四、实验步骤
1.使用逻辑备份工具进行表方式备份
利用Oracle9i 提供的逻辑备份工具EXP,选择表方式备份该模式下的表。
在cmd中进入\\oracle\\ora92\\bin 目录,执行exp 命令,在用户名后输入实验5中创建的用户名/口令@连接描述符并执行,数据库连接成功后出现如图7-1 所示界面。在该界面根据提示信息输入相应参数,将开始逻辑备份过程。这里选择以表方式备份数据库。备份出来的文件保存在指定的路径下(在本例中保存在e:\%uwxd1.dmp 下)。
这种方式备份可以备份该用户下的所有表或某一指定的表。
- 32 - / 52
图7-1 执行exp.exe 命令以表方式备份
2.使用逻辑备份工具进行用户方式备份
利用Oracle9i 提供的逻辑备份工具EXP,选择用户方式备份该模式下的所有对象,包括相关的授权信息。
- 33 - / 52