1、第 1 页 共 6 页考 生 信 息 栏计科 系 计科 专业普通版 级 班级 姓名 学号 装 订 线大型数据库期末复习提示 一题型: 1.选择 40 分 2.填空 20 分 3. 程序填空 20 分 4. 读程序 10 分 5.程序设计 10 分 二试题框架 题型 1,2 来源为全书 16 章的内容,重点可以复习每章章后练习。 题型 4,5 来自触发器,事务,存储过程几章内容,题目难度与书中相仿。第 2 页 共 6 页一、选择题:(本题共 20 个小题,每小题 2 分,共 40 分)1 当 Oracle 服务器启动时,下列哪种文件不是必须的 ( ) 。 A. 数据文件 B. 控制文件 C. 日
2、志文件 D. 归档日志文件 2. 在 Oracle 中,一个用户拥有的所有数据库对象统称为 ( )。 A. 数据库 B. 模式 C. 表空间 D. 实例3在 Oracle 数据库的逻辑结构中有以下组件: 1. 表空间 2. 数据块 3. 区 4. 段这些组件从大到小依次是( )。A. 1234 B.1432 C.1324 D. 41324.下列哪个子句实现对一个结果集进行分组和汇总( )。 A.HAVING B.ORDER BY C.WHERE D.GROUP BY5. 在 Oracle 数据库中,( )用户模式存储数据字典表和视图对象。 A. SYS B. SYSTEM C. SCOTT D
3、. SYSDBA6.以下不属于命名的 PL/SQL 块的是( )。 A程序包 B过程 C游标 D函数7.在 Oracle 中创建用户时,若未提及 DEFAULT TABLESPACE 关键字,则Oracle 就将( )表空间分配给用户作为默认表空间。 AHR BSCOTT CSYSTEM DSYS第 3 页 共 6 页8在 Windows 操作系统中,Oracle 的( )服务是使用 iSQL*Plus 必须的。 AOracleHOME_NAMETNSListener B. OracleServiceSID C. OracleHOME_NAMEAgent D. OracleHOME_NAMEH
4、TTPServer9.下列哪个语句可以在 SQL*Plus 中直接调用一个过程 ( )。 A. RETURN B. CALL C. SET D. EXEC10如果服务器进程无法在数据缓冲区中找到空闲块,为添加从数据文件中读出的数据块,则系统会启动如下哪一个进程( ) A.CKPT B. DBWR C.LGWR D. SMON11.下列哪一个锁模式不属于 Oracle( )。 A.死锁 B.排他锁 C.行级共享锁 D.共享锁12.有字符串数据”test”分别存放到 char(10)和 varchar2(10)类型的字段中,其实际存储长度为( )A. 10 4 B. 4 4 C. 10 10 D.
5、 4 1013在 Oracle 中,当控制一个显式游标时,下面哪种命令包含 INTO 子句( )。 A. FETCH B. CLOSE C. OPEN D. CURSOR 14. ORACLE 中,用来判断列值是否为空的操作符是( )。 A. =NULL B. NULLIS C. AS NULL D. IS NULL15.查询一个表的总记录数,可以采用( )统计函数。 A. AVG(*) B. SUM(*) C. COUNT(*) D. MAX(*)16.以下的哪个命令可以将 SQL 命令的运行结果保存到文件中 ( )。 A.SAVE B.SPOOL C.GET D.INPUT17.为了去除结
6、果集中重复的行,可在 SELECT 语句中使用下列哪个关键字( ) 。A.ALL B.DISTINCT C.SPOOL D.HAVING18.关于模式的描述下列哪一项不正确( )。 A.表或索引等模式对象一定属于某一个模式B.在 Oracle 数据库中,模式与数据库用户是一一对应的C.一个表可以属于多个模式D.一个模式可以拥有多个表19.下列 SELECT 语句中,哪些子句可以包含子查询( )。 A.SELECT B.GROUP BY C.WHERE D.ORDER BY20.在下列模式对象中,哪个对象不会占用实际的存储空间( )。 A.视图 B.表 C.索引 D.簇第 4 页 共 6 页二、
7、填空题(共 8 小题,10 空需要填写,每空 1 分,共 10 分)1. _是具有名称的一组相关权限的组合。 2. 一个表空间物理上对应一个或多个_文件。3.标准的SQL 语言语句类型可以分为:_ 、数据操纵语句(DML)和_。 4. 如果需要向表中插入一批已经存在的数据,可以在INSERT 语句中使用_ 语句。5.通过视图修改数据时,实际上是在修改_中的数据。6.如果需要向表中插入一批已经存在的数据,可以在INSERT 语句中使用_语句。7.在众多的事务控制语句中,用来撤销事务的操作的语句为_,用于持久化事务对数据库操作的语句是_。8. 在多进程Oracle 实例系统中,进程分为_、后台进程
8、和服务器进程。三、程序填空(共 10 小题,10 空需要填写,每空 3 分,共 30 分)1. 假设当前用户是SCOTT用户以普通用户登录,口令为tiger,请写出该用户以管理员身份登录的命令_;2.假设用户SCOTT以管理员身份登录,现需创建用户Lisa,口令是Lisa,请写出相应的命令_;3. 假设用户SCOTT以管理员身份登录,已知用户账号Lisa被锁定,需为他解除锁定,请写出相应的命令_; 4. 假设用户SCOTT以管理员身份登录,需授予用户Lisa对SCOTT用户模式下的EMP表进行查询(SELECT)的权限,请写出相应的命令_;5. 假设用户SCOTT以管理员身份登录,在SQL P
9、lus的SQL 提示符下,希望用户Lisa用Lisa 以普通用户身份登录到系统,请写出相应的命令_; 6. 假设用户Lisa用Lisa 以普通用户身份登录到系统,现需查看本用户下的Class表的结构,请写出相应的命令_; 7. 假设用户Lisa用Lisa 以普通用户身份登录到系统,用命令select * from Class查询Class表中的数据,现需将缓冲区中的SQL 命令保存到C盘根目录下的class.txt文件中, 请写出相应的命令_; 8. 假设用户Lisa用Lisa 以普通用户身份登录到系统,现需查看本用户下有哪些表,请写出相应的命令第 5 页 共 6 页_; 第 6 页 共 6
10、页9. 假设用户Lisa用Lisa 以普通用户身份登录到系统,现需为Class 表的ID 列添加一个名为PK_CLASS_ID 的主键约束,请补充完整相应的命令ALTER TABLE Class_; 10. 假设用户Lisa用Lisa 以普通用户身份登录到系统,现需创建一个UPDATE 语句来修改本用户下ARTISTS 表中的数据,并且把每一行的T_ID 值都改成15,应该使用的SQL 语句是_ ;四、 编程题:(本题共 2 小题,每题 10 分,共 20 分)1. 请按要求完成以下程序的编写。(5空,每空2分,共10分)以下存储过程借助游标用于实现对员工工资(Sal)的调整,调整方案为:对于
11、员工号(empno)在7000到7200间的员工,若其原工资在 1000之下,则加薪20%。(1) 请完成以下程序:CREATE OR REPLACE PROCEDURE Rise_salISv_empno Emp.empno%type;v_sal Emp.sal%type;V_ErrorText Varchar(200);CURSOR cursor_sal /定义游标 CURSOR cursor_salIS _ / BEGIN_; /打开游标LOOPFETCH cursor_sal _; EXIT WHEN cursor_sal%NOTFOUND;/逐行提取数据IF v_sal_” 命令提示
12、符下,现需执行存储过程 Rise_sal,请写出命令:_ 2. 创建一个函数 get_sal,用于实现对表 Emp(如下图)给定一个员工号(Empno),通过函数获取该雇员的工资值 ,请完成以下程序。(1)请将函数 get_sal 补充完整 (3 空,每空 2 分,共 6 分)CREATE OR REPLACE FUNCTION get_sal (v_emp_no IN emp.empnoTYPE)_ IS_ emp.salTYPE:0; BEGINSELECT sal INTO v_emp_sal FROM emp 第 8 页 共 6 页WHERE empno=_; RETURN(v_emp
13、_sal);END get_sal;(2)用函数 get_sal 查询员工 7521 号的工资,请写出一种查询方式。 (4 分)第 9 页 共 2 页课程名称一、选择题:(本题共 20 小题,每题 2 分,共 40 分)题号 1 2 3 4 5 题号 6 7 8 9 10答案 D B B D A 答案 C C B D D题号 11 12 13 14 15 题号 16 17 18 19 20答案 A A A C C 答案 B B C C A二、填空题(本大题共 8 小题,10 空,每空 1 分,共 10 分)题号 答 案1-2 角色 数据3 数据定义语句(DDL) 数据控制语句(DCL)4 se
14、lect5-6 基本表 select7 ROLLBACK COMMIT8 用户进程三、程序填空题(共 10 小题,10 空需要填写,每空 3 分,共 30 分)题号 答 案1 conn scott/tiger as sysdba;2 create user Lisa identify by Lisa3 alter user Lisa account unlock;4 grant select on emp to Lisa;5 conn Lisa/Lisa;6 desc Class;7 save C:class.txt;8 select table_name from user_tables;9
15、 Add constraint PK_CLASS_ID PRIMARY KEY(ID) ;10 update artists set T_ID =15;第 10 页 共 2 页四、编程题(本大题共 2 小题,每题 10 分,共 20 分)1. (5空,每空2分,共10分)(1)SELECT empno,sal FROM employee WHERE empno BETWEEN 7300 AND 7600;(2) OPEN cursor_sal (3) INTO v_empno,v_sal(4) COMMIT;(5) EXEC Rise_sal;2. (1)请将函数 get_sal 补充完整 (3 空,每空 2 分,共 6 分)RETURN NUMBERv_emp_salv_emp_no(2) 用函数 get_sal 查询员工 7521 号的工资,请写出一种查询方式。 (4 分)Select get_sal (7521)from dual;