《oracle考试复习题》由会员分享,可在线阅读,更多相关《oracle考试复习题(4页珍藏版)》请在金锄头文库上搜索。
1、一、题型和题量:选择题 10 2 =20填空题 102 20简答题 4* 5 = 20数据库设计题 30论述题 10平时成绩占 20%、考试成绩占 80%二、例题:1. oracle 数据库具有 3 种主要类型的文件,它们分别是 数据文件 、控制文件 、日志文件 。2. oracle 内存结构主要分为 系统全局区 、 程序全局区 。3. 在 SQL SELECT 语句查询中,要去掉查询结果中的重复记录,应该使用_Distinct 关键字。4. 使用 SQL 语言的 SELECT 语句进行分组查询时,如果希望去掉不满足条件的分组,应当使用 Having _子句。 5. 下面哪一个 like 命令
2、会返回名字象 HOTKA 的行?A where ename like _HOT% B where ename like H_T% C where ename like %TKA_ D where ename like %TOK% 6. 常见的后台进程 LGWR 的作用_A、数据库写入程序 B、归档 C、进程监控 D、日志写入程序7. 初始化参数 DB_BLOCK_SIZE 的作用是_A、非标准数据块数据缓冲区大小 B、归档日志文件的默认文件存储格式C、标准数据块大小 D、后台进程跟踪文件生成的位置8. 回滚操作是_ 事处处理所做的工作A、重复 B、备份 C、删除 D、撤销9. 可以从下列那个表
3、中查询本用户所拥有的表_A、USER_TABLES B、USER_VIEWS C、ALL_tables D、ALL_views10. 从一个表中删除元组时,delete 和 drop table 命令可以起到同样的效果。 (X) 11. Delete 可以有选择地删除记录,使用 rollback 语句可以取消这个命令的执行。 (T)12. 启动和关闭 oracle 数据库的命令分别是(startup)和(shutdown)13. 给出至少两种查看表结构的方法。desc 命令的使用;user_tab_cols 数据字典的使用三、下面的复习题针对如下的数据库实例:-现有 Oracle 10g 数据
4、库实例如下:数据库名:xe数据库表:employees、salary,表结构分别如下所示: Table Column数 据 类型长度精度小 数位 数主键可为空默认值注释EMPLOYEES EMPLOYEE_ID Number - - - - - - EMPLOYEE_NAME Varchar2 20 - - - - - EMPLOYEE_POSITION Varchar2 20 - - - - - EMPLOYEE_AGE Number - - - - - - EMPLOYEE_ADDRESS Varchar2 100 - - - - - Table Column数 据 类型长度 精 度小 数
5、位 数 主 键可 为空默 认值 注 释SALARY SALARY_ID Number - - - - - - EMPLOYEE_ID Number - - - - - - MONTH Varchar2 20 - - - - - SALARY Number - - - - - - CURRENCY Varchar2 10 - - - - - 假定这两个表的数据如下所示:EMPLOYEE_IDEMPLOYEE_NAMEEMPLOYEE_POSITIONEMPLOYEE_AGEEMPLOYEE_ADDRESS1 张三丰 开发经理 35 解放北路 23 号2 Jack 高级工程师 31 建设 3 路
6、12 号3 刘俊 高级工程师 30 人民路 20 号4 王龙 工程师 25 前进路 27 号5 钟小小 工程师 24 大风路 15 号7 钟晓平 测试工程师 23 前进路 27 号6 刘晓庆 测试工程师 21 前进路 18 号8 朱旭康 测试工程师 22 前进路 66 号10 张雯 QA 21 北京路 23 号9 Lucy Liu - 25 解放路 92 号SALARY_ID EMPLOYEE_ID MONTH SALARY CURRENCY1 1 1 月 9000 人民币2 2 1 月 7300 人民币3 3 1 月 4500 人民币4 4 1 月 4500 人民币5 5 1 月 5000
7、人民币6 6 1 月 5000 人民币7 7 1 月 3000 人民币8 8 1 月 4000 人民币9 9 1 月 4000 人民币10 1 2 月 9100 人民币11 2 2 月 8000 人民币12 3 2 月 4600 人民币13 4 2 月 4400 人民币14 5 2 月 4800 人民币15 6 2 月 5000 人民币16 7 2 月 3500 人民币17 8 2 月 4100 人民币18 9 2 月 4100 人民币-复习题:1、写 SQL 语句,查询全体员工的平均年龄。 (5 分)select avg(employee_age)from employees;2、内嵌视图的
8、使用,对于 employees 表、salary 表,能查询“显示年龄最小的 2 人的工资信息”select t.employee_id, t.employee_name, t.employee_age, s.salary from( select * from(select * from employees order by employee_age) where rownum 3)t, salary s where t.employee_id = s.employee_id;3、什么是物化视图?物化视图的延迟载入和数据刷新是怎么回事?物化视图会依据查询定义,将获得的结果集合存储在附属的数据
9、表中。这样当用户查询物化视图时,Oracle 不再搜索基础数据表,而是直接在物化视图的附属表中获取数据。物化视图的主要意义在于提高数据库的性能。默认情况下,物化视图创建时,总是创建附属数据表并将查询结果载入到数据表中。但是,这一过程将耗费较大的数据库资源,尤其是基础表的数据量很大时,如果物化视图创建在数据库访问高峰期,极有可能影响客户端的相应速度,那么,在创建物化视图时可以采用延迟载入策略。create materialized view 视图名称 build deferred as 视图定义。数据刷新:物化视图的数据必须和基础表中的数据保持某种程度的同步,这就涉及数据刷新问题。Oracle
10、中物化视图有两种刷新策略:refresh on demand 手动刷新(execute dbms_mview.refresh(视图名);) 、refresh on commit 自动同步刷新(基础表的数据被修改后提交时,自动同步物化视图的数据)。4、 程序包 package 的作用是什么?如何定义、如何调用?当应用程序创建的函数和存储过程过多时,程序包可以用来封装管理函数和存储过程。package 由两部分构成:说明 specification、主体 body。它的定义也分成两部分进行:。 。 。 。 。 。利用程序包可以使得函数和存储过程的管理层次更加明晰,处于程序包中函数和存储过程要调用,
11、必须添加 package 名,如 execute pkg_name.subprogram_name();5、 Oracle 和其他的主流数据库相比有什么特点?Oracle 的强大来源于自身的优点,相比其它的数据库,Oracle 数据库有以下的特点:1.强大的性能:Oracle 的性能要远强于其他数据库,是海量数据存储的首选。2.独特的理念:Oracle 提出了许多不同于其他数据库所使用的传统理论。例如,全新的表空间理念、更加高效的锁定机制。3.增强的 SQL:不仅支持标准 SQL,而且不断进行增强。例如层次化查询就是 Oracle 特色查询。4.良好的分布式管理功能:用户可以轻松地实现多数据库
12、的协调工作。6、触发器(instead of 触发器)主要看看课堂上的例子 vw_total_salary 视图里存储了员工多个月份的工资总和。想在为每个员工补发 1000 元工资,并将其平均到每个月。create or replace view vw_total_salary as select e.employee_id, e.employee_name, sum(s.salary) total_salaryfrom employees e, salary s where e.employee_id = s.employee_id group by e.employee_id, e.emp
13、loyee_name; update vw_total_salary set total_salary = total_salary + 1000;create or replace trigger tr_total_salary instead of update on vw_total_salary begin declare differ number; months number; begin select count(s.month) into months from salary s where s.employee_id = :old.employee_id; differ := (:new.total_salary - :old.total_salary)/months;