第一范文网 - 专业文章范例文档资料分享平台

《Oracle数据库应用》练习题及答案

来源:用户分享 时间:2025/12/5 7:44:17 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

2. 简述PL/SQL语言的组成(3分)

3. 简单介绍表空间,并写出一种建立表空间的方法。(4分)

五、 程序题(40分,2题4分,其余每题3分)

Scott用户下有表emp (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL,COMM ,DEPTNO)和表dept(DEPTNO ,DNAME,LOC)其中emp表为雇员表,各字段的中文含义为:雇员表(雇员号,雇员名,职位,上级编号,入职时间,月工资,奖金,部门号)dept表为部门表,各字段的中文含义为:部门表(部门编号,部门名,部门所在地点)

1. 创建表空间data1,该表空间有两个数据文件data1和data2,初始大小分别是10M和20M。

2. 在data1表空间中创建部门表mydept的,要求deptno为字符型数据,长度为2,主键;dname字符型数据,长度为10,唯一;loc字符型数据,长度4,只能是北京,上海,天津。

3. 在data1表空间创建表myemp,字段名及类型内容同scott用户下的emp 4. 将所有销售人员(即职位为销售salesman)的奖金加100

5. 修改myemp表,增加性别字段,性别字段默认为男,性别字段的值只能是男或女

6. 查询myemp表,显示第三个字符为大写O的所有员工的姓名和工资? 7. 查询myem表,显示每个部门的每种岗位的平均工资和最低工资? 8. 查询平均工资低于2000的部门名和它的平均工资?

9. 创建只读的雇员信息视图xin,显示雇员号,雇员名,岗位,部门名,地址,工资级别,并查询视图 10.

创建用户myuser,密码m123,授予myuser连接数据库,创建表的

系统权限,并能够级联授权。 11.

授予myuser查询,修改,删除scott用户的emp表的权限,并能够

级联授权。 12.

创建存储过程pro_sum,该存储过程输入参数vdeptno,实现统计某

个部门人数并输出,执行该过程,显示10号部门的人数。 13.

创建一个system方案中的函数fn1,函数的作用为:将指定empno

号的记录中的sal字段值乘以1.05。

参考 答案

一、 选择题(20分)

1---5 ABDCA 6—10 DBCBC 11 --15BBBCD 16—20 BBDAD

二、 填空题(20分)

@文件名 2. 数据文件重做日志文件 3. 物理数据文件(data file) 4. desc

12.Updata 5. EXPIMP 6.声明部分、执行部分和异常处理部分。

7. select * from employee 8. Create function 9. 定义打开关闭 10. 包头包体 11. out 和 in out

三、 判断题(10分)

1---10 ××××√ √×√√√

四、 简答题(10分)

1.简述数据完整性的分类(3分)

答:实体完整性 域完整性和参照完整性 2.简述PL/SQL语言的组成(3分)

? 数据定义语句(create alter drop ) ? 数据操纵语句(insert update delete select) ? 数据控制语句(grant revoke )。

3.简单介绍表空间,并写出一种建立表空间的方法。(4分)

答:表空间是Oracle逻辑存储结构的最高层,一个数据库就是若干个表空间组成的。每个表空间对应操作系统中的一个或多个数据文件,但每个数据文件只能属于一个表空间。

Create tablespace表空间名datafile 数据文件名;

五、 程序题(40分,2题4分,其余每题3分)

1.创建表空间data,该表空间有两个数据文件data1和data2,初始大小分别是10M和20M。 createtablespace data

datafile 'c:\\data1.dbf' size 10M reuse,'c:\\data2.dbf' size 20M reuse autoextend off;

2. 在data表空间中创建部门表mydept的,要求deptno为字符型数据,长度为2,主键;dname字符型数据,长度为10,唯一;loc字符型数据,长度4,只能是北京,上海,天津。

Create table mydept(deptno varchar2(2) primary key,dname char(10) unique,log varchar2(4) check(loc in (‘北京’,’上海’,’天津’)))

3. 在data表空间创建表myemp,字段名及类型内容同scott用户下的emp Create tablemyemp as select * from scott.emp default tablespace data1

4. 将所有销售人员(即职位为销售salesman)的奖金加100 Update myemp set comm=comm+100 WHERE JOB=’salesman’

5. 修改myemp表,增加性别字段,性别字段默认为男,性别字段的值只能是男或女

ALTER TABLE MYEMP add sex char(2) default ‘男’ check(性别=‘男’ or 性别=‘女’)

6. 查询myemp表,显示第三个字符为大写O的所有员工的姓名和工资? selectename,sal from scott.emp where ename like '__O%'; 7. 查询myem表,显示每个部门的每种岗位的平均工资和最低工资? selectdeptno,job,max(sal),avg(sal) job,deptno;

8.查询平均工资低于2000的部门名和它的平均工资?

select dname as 部门名,avg(sal)as 平均工资 from scott.emp,scott.dept where scott.emp.deptno=scott.dept.deptno group by dname having avg(sal)<2000;

9.创建只读的雇员信息视图xin,显示雇员号,雇员名,岗位,部门名,地

址,并查询视图

Create view xin as select empno,ename,job,dname,loc from meemp,medept where myemp.deptno=mydept.deptno

from

myemp

group

by

Select * from xin 10.

创建用户myuser,密码m123,授予myuser连接数据库,创建表的

系统权限,并能够级联授权。E

Create user myuser identified by m123;

Grant create session,create table to myuser with admin option; 11.

授予myuser查询,修改,删除scott用户的emp表的权限,并能够

级联授权。

Grant select ,update,delete on scott.emp to myuser with grant option 12.

创建存储过程pro_sum,该存储过程输入参数vdeptno,实现统计某

个部门人数并输出,执行该过程,显示 10号部门的人数。 Create or replace procedure pro_sum(vdeptno in varchar2) As

V_rsnumber(3); Begin

Select count(*) into v_rs from emp where deptno=vdeptno; Dbms_output.put_line(v_rs) End;

Exec pro_sum(‘10’) 13.

创建一个system方案中的函数fn1,函数的作用为:将指定empno

号的记录中的sal字段值乘以1.05。

答:create or replace function system.fn1(v_idscott.emp.empno% type) return number as

new_salaryscott.emp.sal% type; begin

selectsal into new_salary fromscott.emp where empno=v_id; new_salary:=new_salary*1.05; returnnew_salary; end;

搜索更多关于: 《Oracle数据库应用》练习题及答案 的文档
《Oracle数据库应用》练习题及答案.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c35cb186sn48az803iuuu_2.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top