Oracle样卷和参考答案.doc_第1页
Oracle样卷和参考答案.doc_第2页
Oracle样卷和参考答案.doc_第3页
Oracle样卷和参考答案.doc_第4页
Oracle样卷和参考答案.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

考 生 信 息 栏 系 专业 级 班级 姓名 学号 装 订 线厦门理工学院试卷20 08 20 09 学年 第 2 学期课程名称数据库管理系统(Oracle)试卷卷别A B 专业 级 班级 考试方式闭卷 开卷 本试卷共 5 大题( 6页),满分100分,考试时间120分钟。请在答题纸上作答,在试卷上作答无效。一、单项选择题(本大题共20小题,每小题2分,共40分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在答题纸上对应的表格内。错选、多选或未选均无分。1. 通常情况下,登录oracle企业管理器用什么命令?_D_A. http:/服务器ip:1521/B. http:/服务器ip:1521/emC. http:/服务器ip:5500/D. http:/服务器ip:5500/em2.在Windows操作系统中,Oracle的_A_服务监听并接受来自客户端应用程序的连接请求。AOracleHOME_NAMETNSListener B OracleServiceSIDCOracleHOME_NAMEAgent D OracleHOME_NAMEHTTPServer3. 以下内存区不属于SGA的是AD. PGA B.日志缓冲区 C. 数据缓冲区 D. 共享池4. 下列哪个选项不是物理结构中的对象_C_A. 数据文件 B. 重做日志文件 C. 表空间 D. 控制文件5. 在创建数据库时,必需的表空间是_B_A TEMP TABLESPACE B SYSTEM TABLESPACEC USERS TABLESPACE D ROLLBACK TABLESPACE6. 使用哪一条SHUTDOWN语句关闭数据库时,下次打开数据库是需要做恢复操作_C_A SHUTDOWN TRANSACTIONAL B SHUTDOWN IMMEDIATEC SHUTDOWN ABORT D SHUTDOWN NORMAL7. 下列哪个进程不是Oracle必须的后台进程_D_A DBWR 数据写入进程 B LGWR 日志写入进程C SMON 系统监视进程 D ARCn 日志归档进程8. 在SQLPLUS中,如何运行SQL脚本程序_B_A / B 脚本 C EXE 脚本 D 不能在SQLPLUS中直接运行脚本9下列选项中,哪一部分不是Oracle实例的组成部分?CA.系统全局区SGA B. PMON后台进程C.控制文件 D. Mnnn调度进程 10如果服务器进程无法在数据缓冲区中找到空闲块,以添加从数据文件中读出的数据块,则系统会启动如下哪一个进程_D_A.CKPTB.SMONC.LGWRD.DBWR11. 在默认情况下,检查点的发生频率至少与下列哪个事件的发生次数一致?AA.重做日志切换B.执行UPDATE 语句C.执行INSERT D.SMON 合并表空间中的碎片12. ORACLE中,用来判断列值是否为空的操作符是_B_A =NULL B IS NULL C AS NULL D NULLIS13. 在CUSTOMER中有一列为单价(PRICE),写一个SELECT命令显示所有单价在500以上的查询语句_D_。A SELECT * FROM CUSTOMER WHERE PRICE MORE THAN 500;B SELECT * FROM CUSTOMER WHERE PRICE BETWEEN 500 AND *;C SELECT * FROM CUSTOMER WHERE PRICE LIKE %500%;D SELECT * FROM CUSTOMER WHERE PRICE=500;14. 分析以下SQL 命令:SELECT priceFROM inventoryWHERE price BETWEEN 1 AND 50 AND (price IN(55, 30, 95);命令执行后的最可能的输出结果是:_B_.A 55 B 30 C 95 D 5115. 以下需求中哪个需要用分组函数来实现?_C_A.把ORDER表中的定单时间显示成 DD MON YYYY 格式B.把字符串 JANUARY 28, 2000 转换成日期格式C.显示PRODUCT 表中的COST 列值总量D.把PRODUCT表中的DESCRIPTION列用小写形式显示 16. 在Oracle中,使用HAVING子句也可以进行条件查询,以下选项说法是正确的是_C_.A. HAVING子句和WHERE子句相同 B. HAVING子句用于行的条件查询C. HAVING子句用于已分组结果的条件查询 D. 以上皆非17下列哪个动作不会激发一个触发器?_B_A.更新数据B.查询数据 C.删除数据 D.插入数据18公用的子程序和常量在_C_中声明。 A.过程 B.游标 C.包规范 D.包主体 19.在列的取值重复率比较高的列上,适合创建_A_索引。 A.标准 B.唯一 C.分区 D. 位图20.Oracle中,当需要使用显式游标更新游标中的行时,声明游标时指定的SELECT语句必须带有_C_子句。 A. WHERE CURRENT OF B.INTO C. FOR UPDATE D. ORDER BY考 生 信 息 栏 系 专业 级 班级 姓名 学号 装 订 线二、填空题(本大题共5小题,每空1分,共10分)请在答题纸上每小题的空格中填上正确答案。错填、不填均无分。21. Oracle的后台进程中,_DRWR_进程负责将更改的数据从数据库缓冲区高速缓存写入数据文件;_CKPT_进程负责在每当缓冲区高速缓存中的更改永久地记录在数据库中时,更新控制文件和数据文件中的数据库状态信息。 22.在Oracle中,使用_DESC_命令可显示表的结构,使用_COMMIT_命令可提交对表数据的修改。23PL/SQL程序中,用户自定义异常是通过显式使用_raise_语句来触发的;查看操作在数据表中所影响的行数,可通过游标的_%ROWCOUNT_属性实现。24Oracle中,进行逻辑备份与恢复时使用的导出命令是_EXP_;导入命令是_IMP_。 25. 填写下面的语句,使其可以为Class表的ID列添加一个名为PK_CLASS_ID的主键约束:ALTER TABLE ClassAdd_CONSTRAINT_PK_CLASS_IDPRIMARY KEY_(ID)_; 三、程序阅读题(本大题共4小题,每小题5分,共20分)26阅读以下程序,理解其功能,写出运行结果:DECLARE var_a number:=1200; var_b number;BEGIN IF var_a500 THEN var_b:=5; ELSIF var_a1000 THEN var_b:=10; ELSE var_b:=8; END IF; Dbms_output.put_line(var_b);END;/程序运行结果:_5_第 7 页 共 7 页27.阅读以下程序,理解其功能,写出运行结果:set serveroutput ondeclarectr integer:=0;beginwhile ctr0 loop summ:=summ+i; I:=I - 1; end loop; dbms_output.put_line(summ); end; /程序运行结果:_55_29阅读以下程序,理解其功能,写出运行结果:DECLARE v_weight NUMBER(3) := 100; BEGIN DECLARE v_weight NUMBER(3) := 1; BEGIN v_weight := v_weight + 2; END; v_weight := v_weight + 1; DBMS_OUTPUT.PUT_LINE(V_weight= | to_char(v_weight); END; /程序运行结果:_V_weight=101_四、程序填空题(本大题共1小题,每空2分,共10分)第四和第五题可能用到的Employee表结构和数据如下图-1:图-1 Employee表结构和数据30.阅读以下程序,理解其功能,完成空白:以下程序段实现的是从employee表中读取员工姓名(ename)和薪资(sal),并使用游标逐行比较,将薪资值在1000-3000之间的员工姓名和薪资输出。declare _(1)cursor c_emp_cursor_ -定义游标c_emp_cursor is _(2)_select ename,sal from employee_; v_ename employee.ename%type;v_sal employee.sal%type;begin open c_emp_cursor; -打开游标 loop -遍历游标 _(3)fetch_ c_emp_cursor into v_ename, v_sal; exit when _ _(4) c_emp_cursor%notfound _; if v_sal1000 and v_sal3000 then dbms_output.put_line(v_ename| |v_sal); -输出数据 end if; end loop; _(5)close c_emp_cursor_; -关闭游标 end;五、编程题(本大题共2小题,每小题10分,共20分)31根据图-1Employee表的结构,完成以下程序的编写:(1)编写一个查询,显示各个职位(job)和该职位工资在1000元以上并3000元以下的人数。(4分)(2)编写一个PL/SQL函数count_by_job,接受传入参数职位(job),据此统计并返回该职位员工数。(6分)写出程序代码执行结果测试:32.编写一个触发器t_emp_bak,用以备份employee表的历史数据,若用户对表employee进行删除操作,则将被删除的数据转移到表emp_del,若用户对表employee进行更新操作,则将更新前的原始数据行转移到表emp_update中。(注:表emp_del和emp_update结构与employee相同。)Code:CREATE OR REPLACE TRIGGER t_emp_bakBEFORE delete or updateON employeeFOR EACH ROWBEGIN IF deleting THEN insert into emp_del(EMPNO , ENAME , JOB , SAL , DEPTNO)values(:OLD.EMPNO,:OLD.ENAME,:OLD.JOB,:OLD.SAL,:OLD.DEPTNO); END IF; IF updating THENinsert into emp_update(EMPNO,ENAME,JOB,SAL,DEPTNO)values(:OLD.EMPNO,:OLD.ENAME,:OLD.JOB,:OLD.SAL,:OLD.DEPTNO); END IF;EN

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论