数据库管理技术复习题_第1页
数据库管理技术复习题_第2页
数据库管理技术复习题_第3页
数据库管理技术复习题_第4页
数据库管理技术复习题_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

选择题1.下列选项中,哪一部分不是Oracle实例的组成部分( ) CA.系统全局区SGA B. PMON后台进程C.控制文件 D. Mnnn调度进程 2.在全局存储区SGA 中,哪部分内存区域是循环使用的( ) BA.数据缓冲区 B.日志缓冲区 C.共享池 D.大池3在 Oracle 中创建用户时,若未提及 DEFAULT TABLESPACE 关键字,则 Oracle将分配给用户作为默认表空间的表空间是( ) AA.SYSTEM B. SYS C. USER D.DEFAULT4. 在Oracle中,一个用户拥有的所有数据库对象统称为( ) A A. 模式 B.表空间 C. 数据库 D. 实例5.下列哪个子句实现对一个结果集进行分组和汇总( ) DA.HAVING B.ORDER BY C.WHERE D.GROUP BY6.如果要设置SQL*Plus 每页打印的数量,则可以使用如下的哪个命令( ) CA.SET PAGE B.PAGESIZE C.SET PAGESIZE D.SIZE 7. 下列哪个语句允许检查UPDATE 语句所影响的行数( ) BA. SQL%FOUND B. SQL%ROWCOUNT C. SQL%COUNTD D. SQL%NOTFOUND8下列哪个语句可以在SQL*Plus 中直接调用一个过程( ) DA. RETURN B. CALL C. SET D. EXEC9. 对于下面的函数,哪个语句将成功地调用( ) ACREATE OR REPLACE FUNCTION Calc_Sum (Addend_X number, Addend_Y number) Return number As Sum number;BEGIN Sum :=Addend_X+Addend_Y; Return Sum; END;A. Sum:=Calc_Sum(23,12) B. EXECUTE Calc_Sum(45) C.EXECUTE Calc_Sum(23,12) D. Calc_Sum10.在下列各选项中,关于序列的描述哪一项是不正确的( ) D A.序列是Oracle 提供的用于产生一系列唯一数字的数据库对象B.序列并不占用实际的存储空间C.使用序列时,需要用到序列的两个伪列NEXTVAL 与CURRVAL。其中,NEXTVAL 将返回序列生成的下一个值,而CURRVAL 返回序列的当前值D.在任何时候都可以使用序列的伪列CURRVAL,以返回当前序列值11 .替代触发器可以被附加到哪一类数据库对象上( ) CA.表 B.序列 C.视图 D.簇12.下列哪个语句会终止事务( ) BA.SAVEPOINT B. COMMITC.END TRANSACTION D. ROLLBACK TO SAVEPOING13.下列哪一个锁模式不属于Oracle( ) AA.死锁 B.排他锁 C.行级共享锁 D.共享锁14.用户查询下列哪一个数据字典视图,可以查看他向其他用户授予的对象权限( ) CA.DBA_SYS_PRIVS B.USER_TAB_PRIVS_MADEC.USER_TAB_PRIVS D.USER_OBJ_PRIVS15若想导出(export)Scott用户的所有对象,该使用哪一种数据库导出(export)模式( ) BA. table B. user C.tablespace D.full database 16在Oracle中,当控制一个显式游标时,下面哪种命令包含INTO子句() A A. FETCH B. CLOSE C. OPEN D.CURSOR 17. 在Windows操作系统中,Oracle的( )服务是使用iSQL*Plus必须的。BAOracleHOME_NAMETNSListener B. OracleServiceSID C. OracleHOME_NAMEAgent D. OracleHOME_NAMEHTTPServer18 . 使用哪一条SHUTDOWN语句关闭数据库时,下次打开数据库需要做恢复的操作( ) CA.SHUTDOWN TRANSACTIONAL B.SHUTDOWN IMMEDIATEC. SHUTDOWN ABORT D. SHUTDOWN NORMAL 19. ORACLE中,用来判断列值是否为空的操作符是( ) DA =NULL B NULLIS C .AS NULL D. IS NULL 20根据以下在不同会话与时间点的操作,判断结果是多少( ) A session1 session2 - - T1 select count(*) from t; -显示结果(1000)条 T2 delete from t where rownum =100; T3 begin delete from t where rownum _提示符下,希望用户LiuBei用shuguo以普通用户身份登录到系统, _ conn Lisa/ shuguo; 5.假设现在LiuBei在SQL Plus下,以普通用户身份登录到系统,需查看scott模式下emp表的结构,请写出相应的语句_ desc scott.emp;_ 四、并发事物题,理解下面过程,完成表中空白 利用回滚段的特性完成银行提款1000元的操作过程,共有两次事务处理操作,第1次由于误操作将提款金额输入为10000元,然后马上取消操作,第2次成功完成提款操作,请完成下表。表-1 操作过程状态动 作 回滚段中数据 动作结束后的帐户余额 内存中的数据 其他用户看到的数据 1前事务#1空150015002更新储蓄,设置余额=余额100001500(1)_(2)_3回滚空(3)_15004更新储蓄,设置余额=余额1000(4)_50015005提交空500(5)_-8500 1500 1500 1500 500五、 编程题:(本题共2小题,共25分) 以下1-3题可能用到的Employee表结构和数据如下图-1:图-1 Employee表结构和数据1 .阅读以下程序,理解其功能,完成空白:(每个2分,共10分)以下程序段实现的是从employee表中读取员工姓名(Ename)、部门编号(DeptNO),并使用游标逐行比较,将部门编号为20的员工部门编号和姓名输出.Declare (1) _ -定义游标c_emp_cursor is select ename,deptno from employee; v_ename employee.ename%type; v_deptno employee.deptno%type;begin (2) _ ; -打开游标 loop -遍历游标 fetch c_emp_cursor into v_ename, v_deptno; exit when (3) _ ; if (4) _ then dbms_output.put_line(v_deptno| | v_ename); -输出数据 end if; end loop; (5) _; -关闭游标 end;create or replace cursor c_emp_cursor open c_emp_cursorc_emp_cursor%NOTFOUND v_deptno=20 close c_emp_cursor2根据图-1 Employee表的结构,完成以下程序的编写:(10分)编写一个PL/SQL函数get_sal,接受传入参数部门号(v_emp_no),据此来查询获取某雇员的工资。请写出程序代码CREATE OR REPLACE FUNCTION get_sal (v_emp_no IN employee.empnoTYPE) 3分RETURN NUMBER 1 分IS v_emp_sal employee.salTYPE:0; 2分BEGIN SELECT sal INTO v_emp_sal FROM employee WHERE empno=v_emp_no; RETURN(v_emp_sal); 4分END get_sal;执行结果测试: 3、请创建一个名称为 change_record的触发器,实现当对emp表更新员工工资之后,将更新纪录保存到表salary_change_record中。(10分)具体要求如下:建立日志对薪水的变动情况形成一个追踪,也就是说,如果对某个职员的薪水进行变更就应该将其相应的变更记录全部记下来,将数据记录到表salary_change_record中,salary_change_record结构salary_change_record ( empid,old_salary,new_salary,change_date ),其中old_salary用来纪录员工原来的工资,new_salary用来纪录更新后的工资,change_date记录更新的系统时间。请写出程序代码(4分) Create table salary_change_record (empid char(4), Old_salary number(7,2), New_salary number(7,2), Change_date date) ) 请写出创建触发器的语句:(6分)Create or replace trigger change_record After update of sal on employee For each row 2分 Begin Insert into salary_change_record values (:new.empno,:old.sal,:new.sal,sysdate); end; 4分1.emp表结构如下图所示,请按要求完成以下程序的编写。表-2 emp表结构(1) 假设部门号(DeptNo)为10的部门为管理部,请建立一个视图V_Mage,其功能是选取Emp表中部门号为10的员工信息。(6分)(2) 假设现需用到一张表update_logs(op_user,op_date,old_value,new_value),其结构如下所示:请写出创建表update_logs的语句,要求主键为op_user,字段类型与宽度下表。(6分

温馨提示

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

评论

0/150

提交评论