考 生 信 息 栏 计科 系 计科 专业 普通版 级 班级 姓名 学号 | 装 订 线 | |||||||||||||||||
大型数据库期末复习提示 一.题型: 1.选择40分 2.填空20分 3. 程序填空20分 4. 读程序10分 5.程序设计10分 二.试题框架 题型1,2来源为全书16章的内容,重点可以复习每章章后练习。 题型4,5 来自触发器,事务,存储过程几章内容,题目难度与书中相仿。 | ||||||||||||||||||
一、选择题:(本题共20个小题,每小题2分,共40分) 1当Oracle服务器启动时,下列哪种文件不是必须的 ( ) 。 A. 数据文件 B. 控制文件 C. 日志文件 D. 归档日志文件 2. 在Oracle中,一个用户拥有的所有数据库对象统称为 ( )。 A. 数据库 B. 模式 C. 表空间 D. 实例 3.在 Oracle数据库的逻辑结构中有以下组件: 1. 表空间 2. 数据块 3. 区 4. 段 这些组件从大到小依次是( )。 A. 1→2→3→4 B.1→4→3→2 C.1→3→2→4 D. 4→1→3→2 4.下列哪个子句实现对一个结果集进行分组和汇总( )。 A.HAVING B.ORDER BY C.WHERE D.GROUP BY 5. 在Oracle数据库中,( )用户模式存储数据字典表和视图对象。 A. SYS B. SYSTEM C. SCOTT D. SYSDBA 6.以下不属于命名的PL/SQL块的是( )。 A.程序包 B.过程 C.游标 D.函数 7.在Oracle中创建用户时,若未提及DEFAULT TABLESPACE关键字,则Oracle就将( )表空间分配给用户作为默认表空间。 A.HR B.SCOTT C.SYSTEM D.SYS | ||||||||||||||||||
8.在Windows操作系统中,Oracle的( )服务是使用iSQL*Plus必须的。 A.OracleHOME_NAMETNSListener B. OracleServiceSID C. OracleHOME_NAMEAgent D. OracleHOME_NAMEHTTPServer 9.下列哪个语句可以在SQL*Plus 中直接调用一个过程( )。 A. RETURN B. CALL C. SET D. EXEC 10.如果服务器进程无法在数据缓冲区中到空闲块,为添加从数据文件中读出的数据块,则系统会启动如下哪一个进程( ) A.CKPT B. DBWR C.LGWR D. SMON 11.下列哪一个锁模式不属于Oracle( )。 A.死锁 B.排他锁 C.行级共享锁 D.共享锁 12.有字符串数据”test”分别存放到char(10)和varchar2(10)类型的字段中,其实际存储长度为( oracle10g程序异常终止) A. 10 4 B. 4 4 C. 10 10 D. 4 10 13.在Oracle中,当控制一个显式游标时,下面哪种命令包含INTO子句( )。 A. FETCH B. CLOSE C. OPEN D. CURSOR 14. ORACLE中,用来判断列值是否为空的操作符是( )。 A. ==NULL B. NULLIS C. AS NULL D. IS NULL 15.查询一个表的总记录数,可以采用( )统计函数。 A. AVG(*) B. SUM(*) C. COUNT(*) D. MAX(*) 16.以下的哪个命令可以将SQL 命令的运行结果保存到文件中( )。 A.SAVE B.SPOOL C.GET D.INPUT 17.为了去除结果集中重复的行,可在SELECT 语句中使用下列哪个关键字( ) 。 A.ALL B.DISTINCT C.SPOOL D.HAVING 18.关于模式的描述下列哪一项不正确( )。 A.表或索引等模式对象一定属于某一个模式 B.在Oracle 数据库中,模式与数据库用户是一一对应的 C.一个表可以属于多个模式 D.一个模式可以拥有多个表 19.下列SELECT 语句中,哪些子句可以包含子查询( )。 A.SELECT B.GROUP BY C.WHERE D.ORDER BY 20.在下列模式对象中,哪个对象不会占用实际的存储空间( )。 A.视图 B.表 C.索引 D.簇 二、填空题(共8小题,10空需要填写,每空1分,共10分) 1. __________是具有名称的一组相关权限的组合。 2. 一个表空间物理上对应一个或多个__________文件。 3.标准的SQL 语言语句类型可以分为:__________、数据操纵语句(DML)和__________。 4. 如果需要向表中插入一批已经存在的数据,可以在INSERT 语句中使用__________ 语句。 5.通过视图修改数据时,实际上是在修改__________中的数据。 6.如果需要向表中插入一批已经存在的数据,可以在INSERT 语句中使用__________语句。 7.在众多的事务控制语句中,用来撤销事务的操作的语句为________,用于持久化事务对数据库操作的语句是________。 8. 在多进程Oracle 实例系统中,进程分为________、后台进程和服务器进程。 三、程序填空(共10小题,10空需要填写,每空3分,共30分) 1. 假设当前用户是SCOTT用户以普通用户登录,口令为tiger,请写出该用户以管理员身份登录的命令 ________________________________________; 2.假设用户SCOTT以管理员身份登录,现需创建用户Lisa,口令是Lisa,请写出相应的命令___________________________________________; 3. 假设用户SCOTT以管理员身份登录,已知用户账号Lisa被锁定,需为他解除锁定,请写出相应的命令___________________________________________; 4. 假设用户SCOTT以管理员身份登录,需授予用户Lisa对SCOTT用户模式下的EMP表进行查询(SELECT)的权限,请写出相应的命令_______________________________; 5. 假设用户SCOTT以管理员身份登录,在SQL Plus的SQL>提示符下,希望用户Lisa用Lisa以普通用户身份登录到系统,请写出相应的命令________________________; 6. 假设用户Lisa用Lisa以普通用户身份登录到系统,现需查看本用户下的Class表的结构,请写出相应的命令___________________________________________; 7. 假设用户Lisa用Lisa以普通用户身份登录到系统,用命令select * from Class查询Class表中的数据,现需将缓冲区中的SQL 命令保存到C盘根目录下的文件中, 请写出相应的命令___________________________________________; 8. 假设用户Lisa用Lisa以普通用户身份登录到系统,现需查看本用户下有哪些表,请写出相应的命令___________________________________________; | ||||||||||||||||||
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)的调整,调整方案为:对于员工号(empno)在7000到7200间的员工,若其原工资在1000之下,则加薪20%。 (1)请完成以下程序: CREATE OR REPLACE PROCEDURE Rise_sal IS v_empno pno%type; v_sal Emp.sal%type; V_ErrorText Varchar(200); CURSOR cursor_sal //定义游标CURSOR cursor_sal IS _______①_______ // BEGIN ______②________; //打开游标 LOOP FETCH cursor_sal _____③_______; EXIT WHEN cursor_sal%NOTFOUND;//逐行提取数据 IF v_sal<1500 THEN UPDATE Emp SET sal= sal*0.20+Sal //更新数据 END LOOP; | 线 订 装 | |||||||||||||||||
WHERE empno=______________; RETURN(v_emp_sal); END get_sal; (2)用函数get_sal查询员工7521号的工资,请写出一种查询方式。(4分) | ||||||||||||||||||
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论