您好,欢迎来到微智科技网。
搜索
您的当前位置:首页《oracle 10g数据库管理 应用开发 标准教程》课后答案

《oracle 10g数据库管理 应用开发 标准教程》课后答案

来源:微智科技网
填空题

第二章

1.Oracle 数据库系统的物理存储结构主要由3 类文件组成,分别为数据文件、日志文件、控

制文件。

2.用户对数据库的操作如果产生日志信息、则该日志信息首先被存储在日志缓冲区中,随后 由LGWR 进程保存到日志文件。

3.一个表空间物理上对应一个或多个数据文件。

4.在Oracle 的逻辑存储结构中,根据存储数据的类型,可以将段分为数据段、索引段、回退

段、LOB 段和临时段。

5.在Oracle 的逻辑存储结构中,数据块是最小的I/O 单元。

6.在多进程Oracle 实例系统中,进程分为用户进程、后台进程和服务器进程。当一个用户运

行应用程序,如PRO*C 程序或一个Oracle 工具(如SQL*Plus),系统将为用户运行的应用 程序建立一个用户进程。

第三章

1.标准的SQL 语言语句类型可以分为:数据定义语句(DDL)、数据操纵语句(DML)和数 据控制语句(DCL)。

2.在需要滤除查询结果中重复的行时,必须使用关键字Distinct;在需要返回查询结果中的 所有行时,可以使用关键字ALL。

3.如果需要在SELECT 子句中包括一个表的所有列,可使用符号*。

4.如果定义与组有关的搜索条件,可以把group by 子句添加到SELECT 语句中。 5.当进行模糊查询时,就使用关键字LIKE 和通配符\"_\"或百分号\"%\"。

6.WHERE 子句可以接收FROM 子句输出的数据,而HAVING 子句则可以接收来自group by、 FROM 或where 子句的输入。

7.使下列SQL 语句中添加适当的表达式或子句,使语句可以正常运行。 SELECT 供应商所在城市,COUNT(供应商编号) FROM 供应商信息

GROUP BY 供应商所在城市 ORDER BY 2 DESC;

第四章

1.在SQL 语句中,用于向表中插入数据的语句是Insert。

2.如果需要向表中插入一批已经存在的数据,可以在INSERT 语句中使用select 语句。 3.创建一个UPDATE 语句来修改ARTISTS 表中的数据,并且把每一行的T_ID 值都改成15, 应该使用的SQL 语句是update artists set t_id=15;。 4.使用describe 命令可以显示表的结构信息。

5.使用SQL*Plus 的get 命令可以将文件检索到缓冲区,并且不执行。

6.当设置了多个列的显示属性后,如果清除设置的显示属性,可以使用命令clear,而当要 清除某列具体的显示属性时,需要使用命令OFF。

7.使用SAVE 命令可以将缓冲区中的SQL 命令保存到一个文件中,并且可以使用Start 命令 运行该文件。

8.要设置SQL*Plus 显示数字时的格式可以使用NumFormat 命令,而要设置某个数字列的 显示格式要使用Column 命令。

第五章

1.在Oracle 系统中,为了实现对表、视图和索引等数据库对象进行管理,Oracle 采用模式实 现。

2.一个模式只能够被一个数据库用户所拥有,其创建的所有模式对象都保存在自己的模式 中。

3.Char 数据类型与Varchar2 类型都用于存储字符串。如果定义了Char 类型的字段,并且 向其赋值时,字符串的长度小于定义的长度,则使用空格填充;而Varchar2 类型的字段用 于存储变长的字符串,即如果向该列赋值的字符长度小于定义时的长度,该列的字符长度只 会是实际字符数据的长度,系统不会使用空格填充。

4.ROWID 实际上保存的是记录的物理地址,因此通过ROWID 来访问记录右以获得最快的 访问速度。

5.在STORAGE 子句中可以设置6 个存储参数。其中,Initial 指定为表中的数据分配的第一 个盘区的大小;Next 指定为存储表中的数据分配的第二个盘区大小;Pctincrease 指定从第

二个盘区之后,每个盘区相对于上一个盘区的增长百分比;Minextents 指定允许为表中的数

据所分配的最小盘区数目;Maxextents 指定允许为表中的数据所分配的最大盘区数目。 6.通过数据块空间管理参数可以控制数据块中空闲空间的使用方法,其中Pctfree 用于控制 数据块的更新预留的空间,而Pctused 用于控制数据块在删除时释放空间的门槛。 7.为Student 表手动分配存储空间,并且大小由NEXT 参数设置,则应使用的语句为Alter table Student allocate extent; ;如果为Student 表手动分配了一个大小为128KB 的新盘区,

则应使用的语句为Alter table Student allocate extent(size 128k); 。

8.填写下面语句,使其可以将Class 表移动到表空间SYSTEM 中的数据段,并且其初始化盘 区为30KB,第二个盘区为20KB,随后分配的盘区不会增长。 ALTER TABLE Class move TABLESPACE SYSTEM STORAGE ( Initial 30k Next 20k Pctincrease 0

MAXEXTENTS UNLIMITED); 9.根据约束的作用域,约束可以分为表级约束和列级约束两种。列级约束是字段定义的一部 分,只能够应用在一个列上;而表级约束的定义于列的定义,它可以应用于一个表中的 多个列。

10.填写下面的语句,使其可以为Class 表的ID 列添加一个名为PK_CLASS_ID 的主键约束。 ALTER TABLE Class

Add constraint PK_CLASS_ID PRIMARY KEY(ID)

11.假设已经创建了CHAINED_ROWS 表,填写下面的语句,以便对“业务员信息”表进行 链接记录分析:

ANALYZE TABLE 业务员信息

List chained rows into chained_rows

第六章

1.在使用逗号连接的多表查询中,为了防止出现笛卡儿积,需要SELECT 语句的Where 子 句中提供连接条件。

2.使用逗号连接的多表查询中,用户可以根据下述基本原则创建需要的各种查询:From 子 句应当包括所有的表名,在Where 子句中应定义一个连接条件,当列名为多个表共有时, 列名必须被。

3.自然连接为具有相同名称的列自动进行记录匹配,它不必指定任何同等连接条件。 4.集合运算符UNION 实现了集合的并运算,操作INTERSECT 实现了对集合的交运算,而 MINUS 则实现了减运算。

5.使用关键字连接子查询时,EXISTS 关键只注重子查询是否返回行,如果子查询返回一个 或多个行,那么便返回为真,否则为假。

第七章

1.PL/SQL 程序块主要包含3 个主要部分:声明部分、可执行部分和异常处理部分。 2.使用显式游标主要有4 个步骤:声明游标、打开游标、检索数据、关闭游标。 3.在PL/SQL 中, 如果SELECT 语句没有返回列, 则会引发ORACLE 错误, 并引发 no_data_found 异常。

4.自定义异常必须使用raise 语句引发。

5.查看操作在数据表中所影响的行数,可通过游标的%RowCount 属性实现。 6.查看下面的程序块,DBMS_OUTPUT 将显示什么结果? N DECLARE

var_a CHAR(1):='N'; BEGIN DECLARE

var_a CHAR(2); BEGIN

var_a:='Y';

END;

DBMS_OUTPUT.put_line(var_a);

END;

7.查看下面的程序块,其中变量var_b 的结果为5 。 DECLARE

Var_a number:=1200; Var_b number; BEGIN

IF var_a>500 THEN var_b:=5;

ELSIF var_a>1000 THEN var_b:=10;

ELSE

var_b:=8; END IF; END;

8.下列程序计算由0~9 之间的任意3 个不相同的数字组成的三位数,共有多少种不同的组合 方式?完成下列程序使其能够正确运行。 DECLARE

counter number:=0; BEGIN

FOR i IN 1..9 LOOP FOR j IN 0..9 LOOP IF i!=j THEN FOR k IN 0..9 LOOP IF k!=i and k!=j counter:=counter+1; END IF; END LOOP; END IF; END LOOP;

END LOOP;

DBMS_OUTPUT.put_line(counter); END;

第八章

1.在下面程序的空白处填写一定的代码,使该函数可以获取指定编号的商品价格。 CREATE OR REPLACE FUNCTION get_price (P_ID varchar2) return number is IS

v_price NUMBER; BEGIN

SELECT 单价

into v_price

FROM 商品信息WHERE 商品编号=P_ID; RETURN v_price; EXCEPTION

WHEN NO_DATA_FOUND THEN DBMS_OUTPUT.PUT_LINE('查找的商品不存在!'); WHEN TOO_MANY_ROWS THEN DBMS_OUTPUT.PUT_LINE(' 程序运行错误!请使用 游标');

WHEN OTHERS THEN DBMS_OUTPUT.PUT_LINE('发生其他错误!'); END get_price;

2.假设有一个程序包,其中包含了两个重载的函数max。写出下面程序调用max 函数后的运 行结果。

程序包主体:

Create or replace package body

TEST is

Function max(x in number,y in number) return number is Result number; Begin If x>y then Result:=x; Else

Result:=y; End if;

Return (result)' End max;

Function max(x in number,y in number,z in number) return number is result number; Begin

Result:=test.max(x,y);

Result:=test.max(result,z); Return(result); End max; End;

运行结果: 21

3.在下面程序的空白处填写适当的代码,使得调用该过程时可以统计某产地的商品数量和总 价。

CREATE OR REPLACE PROCEDURE proc_demo( Merch_place IN varchar2, Price_sum out NUMBER, Merch_count out NUMBER) IS

BEGIN

SELECT SUM(单价),COUNT(*) INTO Price_sum,Merch_count FROM 商品信息WHERE 产地=Merch_place; EXCEPTION

WHEN NO_DATA_FOUND THEN

DBMS_OUTPUT.PUT_LINE('所需数据不存在!'); WHEN OTHERS THEN

DBMS_OUTPUT.PUT_LINE('发生其他错误!'); END proc_demo;

第九章

1.为了建立外部表,首先需要指示数据文件在操作系统上的位置。现在假设在操作系统的 F:\\DATAFILE 文件夹中存有一个数据文件, 使用create directory exterior_data as 'F:\\DATAFILE';语句使Oracle 可以访问数据文件。

2.在使用CREATE TABLE 语句创建索引组织表时,必须使用organization index 子句指示 创建的表为索引组织表,并且为索引组织表指定主键。

3.PCTTHRESHOLD 指定一个数据块的百分比,当一行中的数据占用空间大于这个百分比

时,该行将被分隔到两个位置存储:主键列被存储在基本索引段中,所有其他列被存储在溢 出段中。

4.Oracle 中的临时表可以分为事务级临时表和会话级临时表,创建事务级别的临时表,需要

使用on commit delete rows 子句;创建一个会话级别的临时表,则需要使用on commit preserver rows 子句。

5.在创建对象类型时,用户不必特意创建构造函数,它由系统隐式创建,名称与对象类型的 名称相同,并且它会接收对象类型的所有属性作为它的参数。

6.如果用户想要对对象类型的实例进行比较排序,则需要使用映射方法Map,它最重要的一 个特点是:当在WHERE 或ORDER BY 等比较关系子句中使用对象时会被间接地使用。 7.有两种方法向对象表添加数据:一种是像关系表一样在INSERT 的VALUES 子句中,为对 象的每个属性提供值,隐式地创建对象类型实例,向对象表添加数据;另一种方式是显式地 创建对象实例,然后再将它添加到对象表。

8.Oracle 数据库提供对表或索引的分区方法有5 种:范围分区、散列分区、列表分区、组合

范围散列分区和组合范围列表分区。

9.簇是一种用于存储数据表中数据的方法。簇实际是一组表,由一组共享相同数据块的多个 表组成。

第十章

1.B 树索引可以是唯一的或者不唯一的,唯一的B 树索引可以保证索引列上不会有重复的值。

2.在为表中某个列定义PRIMART KEY 约束PK_ID 后,则系统默认创建的索引名为PK_ID。 3.在B 树索引中,通过在索引中保存排过序的索引列的值与相对应的RowID 来实现快速查 找。

4.如果表中某列的基数比较低,则应该在该列上创建位图索引。

5.如果要获知索引的使用情况,可以通过查询V$OBJECT_USAGE 视图;而要获知索引的 当前状态,可以查询Index_Stats 视图。

第十一章

1.在不为视图指定列名的情况下,视图列的名称将使用表列的名称。

2.视图与数据库中的表非常相似,用户也可以在视图进行INSERT、UPDATE、和DELETE 操作。通过视图修改数据时,实际上是在修改基本表中的数据;相应地,改变基本表中的数 据也会反映到该表产生的视图中。

3.视图是否可以更新,这取决于定义视图的SELECT 语句,通常情况下,该语句越复杂, 创建的视图可以更新的可能性也就越小。

4.下面的语句创建了一个序列对象,该序列对象的开始数为2,每次递增2,当大于1000 后, 序列值重新返回到2.在空白处填写适当的代码,完成上述要求。 Create sequence seg_test Start with 2 Increment by 2 Maxvalue 1000 Cycle;

第十二章

1.假设有一个表TEST,它仅包含一个字段DATA。现在创建一个触发器,实现将添加的数 据变大写。在下面的空白处填写适当的语句,使之可以正常运行。 Create or replace trigger test_trigger After insert on TEST for each row Begin

:new.data:=upper(:new.data); End;

2.BEFORE 和AFTER 指定了触发器的触发时间。当为一个表配置了约束时,它们将会特别 有用,BEFORE 可以规定Oracle 在应用约束前调用触发器,而AFTER 规定在应用约束后 调用触发器。

3.假设有一个名为ACTION_TYPE 的表,它记录了对STUDENT 表的操作。在空白处填写 适当的代码,完成上述功能。

Create or replace trigger biud_student_trigger Before insert or update or delete on student Declare

Action action_type.type%type;

Begin

if inserting then action:='INSERT'; elsif updating then action:='UPDATE'; elsif deleting then action:='DELETE'; end if;

insert into action_type value(user,action); End;

第十三章

1.事务的ACID 特性包括原子性、一致性,隔离性和永久性。 2.在设置事务隔离层时,需要使用关键字set transaction。

3.可以用SET CONSTRAINT constraint_name DEFERRED 语句,启用某个约束的延期应用, 而使用SET CONSTRAINT ALL DEFERRED 语句可以设置本事务中所有约束的延期应用; 语句SET CONSTRAINT ALL IMMEDIATE 可以设置约束的应用。

4.在众多的事务控制语句中,用来撤销事务的操作的语句为ROLLBACK,用于持久化事务 对数据库操作的语句是COMMIT。

5.当Oracle 检测到死锁后,它会选择一个事务退出。选择退出事务的原则是执行修改数目最

小的事务。

6.锁粒度与数据库系统的并发度和并发控制的开销密切相关。锁粒度越大,数据库中所能够 使用的资源也就越少,并发度也就越小,系统开销也就越小。 7.当对某个表加SRX 锁时,则表中行的锁类型为DML 锁。

第十四章

1.如果要获取数据库中创建的配置文件的信息,可以通过查询数据字典视图DBA_profiles。 2.在Oracle 数据库中将权限分为两类,即系统权限和对象权限。系统权限是指在系统级控制

数据库的存取和使用机制,对象权限是指在模式对象上控制存取和使用的机制。

3.角色是具有名称的一组相关权限的组合。

4.连接到数据库的最低系统预定义角色是connect。

5.在用户连接到数据库后,可以查询数据字典role_sys_privs 了解用户所具有的系统权限。

第十五章

1.表空间的管理类型可以分为数据字典管理和本地化管理。

2.在Oracle 的早期版本中,对撤销信息的管理采用手动管理撤销,从Oracle 9i 后采用自动

撤销管理方式管理撤销信息。

3.一个表空间具有离线( OFFLINE) 、在线( ONLINE )、只读(READ ONLY) 、读写 (READWRITE)状态。

4.在创建UNDO 表空间时,所使用的表空间管理方式为本地化管理,并且盘区的管理方式 只允许使用AutoAllOcate 方式。

5.在创建本地化管理临时表空间时,不得指定盘区的管理方式为数据字典管理,临时表空间 的盘区管理统一使用本地化管理方式。

选择题

第二章

1.下列选项中,哪一部分不是Oracle 实例的组成部分? C A.系统全局区SGA B. PMON 后台进程C.控制文件D.Dnnn 调度进程 2.在全局存储区SGA 中,哪部分内存区域是循环使用的? B A.数据缓冲区B.日志缓冲区C.共享池D.大池

3.解析后的SQL 语句在SGA 的哪个区域中进行缓存? C

A.数据缓冲区B.日志缓冲区C.共享池D.大池

4.如果一个服务进程非正常终止,Oracle 系统将使用下列哪一个进程来释放它所占用的资 源? D

A.DBWR B.LGWR C.SMON D.PMON

5.如果服务器进程无法在数据缓冲区中找到空闲缓存块,以添加从数据文件中读取的数据 块,则将启动如下哪一个进程? D A.CKPT B.SMON C.LGWR D.DBWR

6.下列关于共享服务器模式的叙述哪一项不正确? A

A.在共享服务器操作模式下,每一个用户进程必须对应一个服务器进程

B.一个数据库实例可以启动多个调度进程

C.在共享服务器操作模式下,Oracle 实例将启动调度进程Dnnn 为用户进程分配服务进程 D.共享服务器操作模式可以实现少量服务器进程为大量用户进程提供服务

7.当数据库运行在归档模式下时,如果发生日志切换,为了保证不覆盖旧的日志信息,系统 将启动如下哪一个进程? D

A.DBWR B.LGWR C.SMON D.ARCH

8.下列哪一个进程和数据库部件可以保证用户对数据库所做的修改在没有保存的情况下,不 会发生丢失修改数据? C

A.DBWR 和数据文件B.LGWR 和日志文件组C.CKPT 和控制文件D.ARCH 和归档日 志文件

9.下列哪一个进程用于将修改过的数据从内存保存到磁盘数据文件中? A A.DBWR B.LGWR C.RECO D.ARCH

10.如果要查询数据库中所有表的信息,应当使用下列哪种数据字典视图? A A.DBA 视图B.ALL 视图C.USER 视图D.动态性能视图

11.下列哪一项是Oracle 数据库中最小的存储分配单元? D

A.表空间B.段C.盘区D.数据块

12.下面的各项中哪一个正确描述了Oracle 数据库的逻辑存储结构? A A.表空间由段组成,段由盘区组成,盘区由数据块组成

B.段由表空间组成,表空间由盘区组成,盘区由数据块组成 C.盘区由数据块组成,数据块由段组成,段由表空间组成 D.数据块由段组成,段由盘区组成,盘区由表空间组成

第三章

1.下列的哪个子句在SELECT 语句中用于排序结果集? D

A.HAVING 子句B.WHERE 子句C.FROM 子句D.ORDER BY 子句

2.为了去除结果集中重复的行,可在SELECT 语句中使用下列哪个关键字? B A.ALL B.DISTINCT C.SPOOL D.HAVING

3.下列哪个关键字或子句用来限定查询结果集中的行? B A.SELECT B.WHERE C.UPDATE D.INSERT

4.GROUP BY 子句的作用是什么? A

A.查询结果的分组条件B.组的筛选条件C.限定返回的行的判断条件D.对结果集进行排序 5.HAVING 子句的作用是B

A.查询结果的分组条件B.组的筛选条件C.限定返回的行的判断条件D.对结果集进行排序 6.下列哪个函数可以把一个列中的所有值相加求和? B A.MAX B.SUM C.COUNT D.AVG

7.下列哪个子句是SELECT 语句中必选项? A A.FROM B.WHERE C.HAVING D.ORDER BY

8.当使用三角函数COS 求余弦时,应以B 为单位传递参数。 A.角度B.弧度C.角度和弧度均可D.上述都不对

9.下列哪个子句实现对一个结果集进行分组和汇总? D A.HAVING B.ORDER BY C.WHERE D.GROUP BY

10.查询一个表的总记录数,可以采用C 统计函数。 A.AVG(*) B.SUM(*) C.COUNT(*) D.MAX(*)

第四章

1.要建立一个语句向Types 表中插入数据,这个表只有两列,T_ID 和T_Name 列。如果要插 入一行数据,这一行的T_ID 值是100,T_Name 值是FRUIT。应该使用的SQL 语句是A 。 A.INSERT INTO Types Values(100,'FRUIT')

B.SELECT * FROM Types WHERE T_ID=100 AND T_Name='FRUIT' C.UPDATE SET T_ID=100 FROM Types WHERE T_Name='FRUIT' D.DELETE * FROM Types WHERE T_ID=100 AND T_Name='FRUIT'

2.用A 语句修改表的一行或多行数据。 A.UPDATE B.SET C.SELECT D.WHERE

3.要建立一个UPDATE 语句更新表的某一列数据,且更新的数据为表统计的结果。则需要

在UPDATE 语句中使用什么语句? C

A.UPDATE B.SET C.SELECT D.WHERE

4.DELETE 语句中用B 语句或子句来指明表中所要删除的行。 A.UPDATE B.WHERE C.SELECT D.INSERT

5.使用什么命令可以清除表中所有的内容? D

A.INSERT B.UPDATE C.DELETE D.TRUNCATE

6.如果要设置SQL*Plus 每页打印的数量,则可以使用如下的哪个命令? C A.SET PAGE B.PAGESIZE C.SET PAGESIZE D.SIZE

7.以下的哪个命令可以将SQL 命令保存到文件中A 。而哪个命令可以将SQL 命令的 运行结果保存到文件中B 。 A.SAVE B.SPOOL C.GET D.INPUT

第五章

1.下列哪个对象属于模式对象? C A.数据段B.盘区C.表D.表空间

2.关于模式的描述下列哪一项不正确? C

A.表或索引等模式对象一定属于某一个模式

B.B.在Oracle 数据库中,模式与数据库用户是一一对应的 C.一个表可以属于多个模式

D.一个模式可以拥有多个表

3.如果一个表中某条记录的一个字段暂时不具有任何值,那么在其中将保存什么内容? C A.空格字符B.数字0 C.NULL D.该字段数据类型的默认值 4.下列哪一项不是伪列ROWID 的作用? D

A.保存记录的物理地址B.快速查询指定的记录C.标识各条记录D.保存记录的头信息 5.下列哪一项错误地描述了默认值的作用? B

A.为表中某列定义默认值后,如果向表中添加记录而未为该列提供值,则使用定义的默认值 代替

B.如果向表中添加记录并且为定义默认值的列提供值,则该列仍然使用定义的默认值 C.如果向表中添加记录并且为定义默认值的列提供值,则该列使用提供的值 D.向表中添加记录时,如果定义默认值的列提供值为NULL,则该列使用NULL 值

6.某用户需要创建一个很小的表,但是该表会被许多查询使用,这时用户应当在创建该表时 指定下列哪个子句? B

A.PCTFREE 和PCTUSED B.CACHE C.NOLOGGING D.TABLESPACE

7.为了减少表中的链接记录和迁移记录,应当增大表的哪一个存储参数? A A.PCTFREE B.PCTUSED C.MAXEXTENTS D.PCTINCREASE 8.唯一约束与主键约束的一个区别是? D

A.唯一约束的列的值不可以有重复值B.唯一约束的列的值可以不是唯一的

C.唯一约束的列不可以为空值D.唯一约束的列可以为空值

9.如果为表Employee 添加一个字段Email,现在规定每个雇员都必须具有唯一的Email 地址,

则应当为Email 字段建立哪种约束? B A.Primary Key B.UNIQUE C.CHECK D.NOT NULL

第六章

1.下列哪一种连接与逗号分隔连接执行的效果相同? C A.外连接B.交叉连接C.自然连接D.内连接

2.如果只需要返回匹配的列,则应当使用哪种连接? A A.内连接B.交叉连接C.左连接D.全连接

3.下列SELECT 语句中,哪些子句可以包含子查询? C

A.SELECT B.GROUP BY C.WHERE D.ORDER BY

4.如果使用逗号分隔连接查询两个表,其中一表有20 行,而另一个表有50 行,如果未使用 WHERE 子句,则将返回多少行? B A.20 B.1000 C.50 D.500

5.下列的SELECT 语句中哪个不能正常运行? D A.

SELECT STD,SNAME,SCLASS,CNAME FROM STUDENT S,CLASS C WHERE SCLASS=CID; B.

SELECT * FROM STUDENT S,CLASS C WHERE SCLASS=CID; C.

SELECT S.SID,S.NAME,SCLASS,C.CNAME FROM STUDENT S,CLASS C WHERE S.SCLASS=C.CID; D.

SELECT S.SID,S.SNAME,SCLASS,C.CNAME FROM STUDENT WHERE SCLASS S IN (SELECT CID FROM CLAS C);

6.下面的A SELECT 语句用于查询SCHOOL 模式中的STUDENT 、CLASS 和 DEPARTMENT 表中的信息。完成该语句,使其可以正常运行。 SELECT s.sname,s.saddress,c.cname,D.DNAME,D.DOFFICE

FROM STUDENT S _________ CLASS C ________ _________ DEPARTMENT D WHERE D.DNAME='法律系';

A.JOIN、ON S.SCLASS=C.CID、JOIN、ON D.DID=C.DEPARTMENT

B.NATURAL JOIN、ON D.DID=C.DEPARTMENT、JOIN、ON S.SCLASS=C.CID C.CROSS JOIN、ON S.SCLASS=C.CID、JOIN、ON D.DID=C.DERPARTMENT D.JOIN、ON S.SCLASS=C.CID、NATURAL JOIN、ON D.DID=C.DEPARTMENT 7.在下面各选项中, B 与下面SELECT 语句的查询结果相同。 SELECT SID,SNAME,SADDRESS FROM STUDENT

WHERE SCLASS='C0010545' OR SCLASS IN( SELECT CID FROM CLASS WHERE DEPARTMENT IN( SELECT DID FROM DEPARTMENT WHERE DNAME='化工系')); A.

SELECT SID,SNAME,SADDRESS FROM STUDENT WHERE SCLASS='C0010545' INTERSECT

SELECT SID,SNAME,SADDRESS FROM STUDENT S,CLASS C WHERE S.SCLASS=C.CID AND C.DEPARTMENT IN

(SELECT DID FROM DEPARTMENT WHERE DNAME='化工系'); B.

SELECT SID,SNAME,SADDRESS FROM STUDENT WHERE SCLASS='C0010545'

UNION

SELECT SID,SNAME,SADDRESS FROM STUDENT S,CLASS C WHERE S.SCLASS=C.CID AND C.DEPARTMENT IN

(SELECT DID FROM DEPARTMENT WHERE DNAME='化工系'); C.

SELECT * FROM STUDENT WHERE SCLASS='C0010545' UNION

SELECT * FROM STUDENT S,CLASS C

WHERE S.SCLASS=C.CID AND C.DEPARTMENT IN

(SELECT DID FROM DEPARTMENT WHERE DNAME='化工系'); D.

SELECT SID,SNAME,SADDRESS FROM STUDENT WHERE SCLASS='C0010545' MINUS

SELECT SID,SNAME,SADDRESS FROM STUDENT S,CLASS C WHERE S.SCLASS=C.CID AND C.DEPARTMENT IN

(SELECT DID FROM DEPARTMENT WHERE DNAME='化工系');

第七章

1.以下定义的哪个变量是非法的? B

A.var_ab NUMBER(3); B.var_ab NUMBER(3) NOT NULL:='0'; C.var_ab NUMBER(3) DEFAULT:=1; D.var_ab NUMBER(3):=3; 2.下列哪一个不是BOOLEAN 变量可能的取值? D A.TRUE B.FALSE C.NULL D.BLANK

3.只能存储一个值的变量是哪种变量? B A.游标B.标题变量C.游标变量D.记录变量

4.声明%TYPE 类型的变量时,服务器将会做什么操作? A A.为该变量检索数据库列的数据类型B.复制一个变量

C.检索数据库中的数据D.为该变量检索列的数据类型和值 5.下列哪一项可以正确地引用记录变量中的一个值? B

A.rec_abc(1); B.rec_abc(1).col; C.rec_abc.col; D.rec_abc.first(); 6. 下列哪个语句允许检查UPDATE 语句所影响的行数? B

A.SQL%FOUND B.SQL%ROWCOUNT C.SQL%COUNTD D.SQL%NOTFOUND

7.在定义游标时使用的FOR UPDATE 子句的作用是B

A.执行游标B.执行SQL 语句的UPDATE 语句C.对要更新表的列进行加锁D.都不对 8.对于游标FOR 循环,以下哪一种说法是不正确的? D

A.循环隐含使用FETCH 获取数据B.循环隐含使用OPEN 打开记录集 C.终止循环操作也就关闭了游标D.游标FOR 循环不需要定义游标 9.下列哪个关键字用来在IF 语句中检查多个条件? B\\C A.ELSE IF B.ELSIF C.ELSIF D.ELSIFS

10.如何终止LOOP 循环,而不会出现死循环? C

A.在LOOP 语句中的条件为FALSE 时停止B.这种循环限定的循环次数,它会自动终止循环 C.EXIT WHEN 语句中的条件为TRUE D.EXIT WHEN 语句中的条件为FALSE 11.下列哪一项可以正确引用记录表变量中的一个值? B

A.tab_abc(1); B.tab_abc(1).col C.tab_abc.col; D.tab_abc.first();

12.如果PL/SQL 程序块的可执行部分引发了一个错误,则程序的执行顺序将发生什么变化? A

A.程序将转到EXCEPTION 部分运行B.程序将中止运行C.程序仍然正常运行D.以上都不对

第八章

1.下列哪个语句可以在SQL*Plus 中直接调用一个过程? D A.RETURN B.CALL C.SET D.EXEC

2.下面哪些不是过程中参数的有效模式? C A.IN B.IN OUT C.OUT IN D.OUT

3.如果存在一个名为TEST 的过程,它包含3 个参数:第一个参数为P_NUM1,第二个参数 为P_NUM2,第三个参数为P_NUM3。3 个参数的模式都是IN。P_NUM1 参数的数据类型 是NUMBER , P_NUM2 参数的数据类型是VARCHAR2 , 第三个参数的数据类型是 VARCHAR2。下列哪一个是该过程的有效调用? D A. TEST(1010,P_NUM3=>'abc',P_NUM2=>'bcd') B.TEST(P_NUM1=>1010,P_NUM2=>''abc','bcd') C.TEST(P_NUM1=>1010,'abc','bcd')

D.上述都对

4.函数头部中的RETURN 语句的作用是什么? A

A.声明返回的数据类型B.声明返回值的大小和数据类型

C.调用函数D.函数头部不能使用RETURN 语句

5.根据下面的匿名程序块,判断CHECK_VALUE 程序单元是否为一个函数? D DECLARE V_TEST NUMBER;

BEGIN IF V_TEST > 10 THEN CHECK_VALUE(V_TEST); END IF; END;

A. 可以为一个函数B.可以,但函数必须不包含任何SQL 语句 C.可以,但需要初始化变量V_TEST D.不可以

6.如果在程序包的主体中包括了一个过程,但没有在程序包规范中声明这个过程,那么它将 会被认为是D 。

A.非法的B.公有的C.受限的D.私有的

7.如果创建了一个名为USERPKG 的程序包,并在程序包中包含了名为test 的过程。下列哪 一个是对这个过程的合法调用? B

A.test(10) B.USERPKG.test(10) C.TEST.USERPKG(10) D.TEST(10).USERPKG 8.可以引用哪个数据字典视图来查看软件包中包含的代码? C A.USER_OBJECTS B.USER_PACKAGE_TEXT C.USER_SOURCE D.USER_TEXT 9.对于下面的函数,哪个语句将成功地调用? D

CREATE 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.Calc_Sum B.EXECUTE Calc_Sum(45)

C.EXECUTE Calc_Sum(23,12) D.Sum:=Calc_Sum(23,12)

10.当满足下列哪种条件时,允许两个过程具有相同的名称? B

A.参数的名称或数量不相同时B.参数的数量或数据类型不相同时 C.参数的数据类型和名称不相同时C.参数的数量和数据类型不相同时

第九章

1.假设两个数据文件t1 和t2,下面的A 选项可以完成外部表的创建。 Create table test_table(ms_id varchar(20), Tip varchar(20),

Desc varchar(20))

ORGANIZATION ______ ( _____ ORACLE_LOADER DEFAULT DIRECTORY test_dir _______ Parameters( badfile 'bad_dev.txt' LOGFILE 'log_dev.txt' FIELDS TERMINATED BY ',')

_________ ('F1.txt','F2.txt')); A.EXTERNAL、TYPE、ACCESS、LOCATION B.INDEX、TYPE、ACCESS、LOCATION C.EXTERNAL、TYPE、ACCEPT、LOAD

D.INDEX、TYPE、ACCEPT、LOAD

2.下列关于索引组织表的说法哪项是错误的? D

A.索引组织表所有的数据都是以B 树索引的方式存储的 B.索引组织表实际是一个表而不是索引

C.索引组织表适用于经常需要通过主键字段的值来查询的情况

D.索引组织表不能通过查询来创建

3.下列关于对象的描述哪项是错误的? B

A.为对象表添加数据时,可以在INSERT 语句的VALUES 子句中直接提供值,隐式创建对 象类型实例,然后向表中添加数据;也可以显式创建对象实例后向表中添加数据 B.对象表与其他类型的表一样,都是作为列的集合

C.对象表中的每个对象都有一个OID,OID 是全局唯一的,表示每一个对象的实例 D.查询对象表时,对象表中的数据以关系的形式显示,但也可以通过使用VALUE()函数以 对象实例的形式显示

4.下列哪一个语句可以用于创建一个多列的分区表? B A.

Create table text_pt( ID NUMBER(20) not null, Tip varchar2(10), Re_date date)

Partition by range(ID,re_date)

(partition p1 values less than (2000) or values less than (date'1988-1-1') Tablespace users storage(initial 100k next 100k minextents 1 maxextents unlimited), Partition p2 values less than (maxvalue) or values less than (maxvalue) Tablespace system storage(initial 100k next 100k minextents 1 maxextents unlimited)); B.

Create table text_pt( ID NUMBER(20) not null, Tip varchar2(10), Re_date date)

Partition by range(ID,re_date)

(partition p1 values less than (2000,date'1988-1-1') Tablespace users storage(initial 100k next 100k minextents 1 maxextents unlimited), Partition p2 values less than (maxvalue,maxvalue)

Tablespace system storage(initial 100k next 100k minextents 1 maxextents unlimited)); C.

Create table text_pt( ID NUMBER(20) not null, Tip varchar2(10), Re_date date)

Partition by range(ID)

Subpartition by range(re_date)

(partition p1 values less than (2000) or values less than (date'1988-1-1') Tablespace users,

Partition p2 values less than (maxvalue) or values less than (maxvalue) Tablespace system );

D.

Create table text_pt( ID NUMBER(20) not null, Tip varchar2(10), Re_date date)

Partition by range(ID)

Subpartition by range(re_date)

(partition p1 values less than (2000,date'1988-1-1') Tablespace users,

Partition p2 values less than (maxvalue,maxvalue)

Tablespace system );

5.假设要对“商品信息”表进行分区处理,并且根据商品的产地进行分区,则应采用下列哪 一种分区方法? C

A.范围分区B.散列分区C.列表分区D.组合范围散列分区 6.下列哪一项是关于簇和簇表不正确的描述? D

A.簇实际上是一组表B.因为簇将不同表的相关行一起存储到相同的数据块中,所以合理使 用簇可以帮助减少查询数据所需的磁盘读取量C.簇表是簇中某一个表D.在创建簇和簇 表之后就可以向其中添加数据

第十章

1.查看下面的语句创建了哪一种索引? C

CREATE INDEX test_index ON student(stuno,sname) TABLESPACE users STORAGE(INITIAL k,next 32k); A.全局分区索引B.位图索引C.复合索引D.基于函数的索引

2.使用ALTER INDEX...REBUILD 语句不可以执行下面的哪个任务? D A.将反向键索引重建为普通索引B.将一个索引移动到另一个表空间 C.将位图索引更改为普通索引D.将一个索引分区移动到另一个表空间 3.下列关于约束与索引的说法中,哪一项是不正确的? D

A.在字段上定义PRIMART KEY 约束时会自动创建B 树唯一索引

B.在字段上定义UNIQUE 约束时会自动创建一个B 树唯一索引

C.默认情况下,禁用约束会删除对应的索引,而激活约束会自动重建相应的索引 D.定义FOREIGN KEY 约束时会创建一个B 树唯一索引

4.假设EMPLOYEE 表包含一个MARRIAGE 列,用于描述职工的婚姻状况,则应该在该字 段上创建什么类型的索引? D

A.B 树唯一索引B.B 树不唯一索引C.基于函数的索引D.位图索引 5.下列关于索引的描述哪一项是不正确的? B A.表是否具有索引不会影响到所使用的SQL 编写形式 B.在为表创建索引后,所有的查询操作都会使用索引 C.为表创建索引后,可以提高查询的执行速度

D.在为表创建索引后,Oracle 优化器将根据具体情况决定是否采用索引 6.如果经常执行类似于下面的查询语句:

SELECT * from student where Substr(sname,0,2)='刘' 应当为student 表中的sname 列创建哪一种类型的索引? D

A.B 树唯一索引B.位图索引C.B 树不唯一索引D.基于函数的索引

7.假设在一个表的3 个字段NAME、SEX 和MONTH_OF_BIRTH 中分别保存姓名、性别和 出生的月份数据,则应当为这3 个字段分别创建何种类型的索引? D

A.全部创建B 树索引B.全部创建位图索引C.分别创建B 树索引、位图索引和位图索引 D.分别创建B 树索引、位图索引和基于函数的索引

8.如果创建的表其主键可以自动编号,则应该为主键创建的索引是哪种类型? A A.反向键索引B.B 树索引C.位图索引D.基于函数的索引

第十一章

1.如果允许用户对视图进行更新和插入操作,但是又要防止用户将不符合视图约束条件的记 录添加到视图,应当在定义视图时指定下列哪一个子句? C A.WITH GRANT OPTION B.WITH READ ONLY C.WITH CHECK OPTION D.WITH CHECK ONLY

2.在下列模式对象中,哪个对象不会占用实际的存储空间? A A.视图B.表C.索引D.簇

3.如果想查看视图中哪些字段是可以更新的,应当查询哪一个数据字典视图? D A.DBA_VIEWS B.DBA_OBJECTS

C.DBA_CLU_COLUMNS D.DBA_UPDATABLE_COLUMNS

4.在下列各选项中,关于序列的描述哪一项是不正确的? D

A.序 蔩uc2列是蠴racle 提供的用于产生一系列唯一数字的数据库对象

B.序列并不占用实际的存储空间

C.使用序列时,需要用到序列的两个伪列NEXTVAL 与CURRVAL。其中,NEXTVAL 将返 回序列生成的下一个值,而CURRVAL 返回序列的当前值

D.在任何时候都可以使用序列的伪列CURRVAL,以返回当前序列值 5.在下列各选项中,关于同义词的描述哪一项是不正确的? B

A.同义词是数据库对象的一个替代名,在使用同义词时,Oracle 会将其翻译为对应的对象名

B.在创建同义词时,所替代的模式对象必须存在 C.Oracle 中的同义词分为公有同义词和私有同义词

D.公有同义词在数据库中所有的用户都可以使用;私有同义词由创建它的用户所拥有

第十二章

1.下列哪一个动作不会激发一个触发器? B A.更新数据B.查询数据C.删除数据D.插入数据

2.在使用CREATE TRIGGER 语句创建行级触发器时,哪一个语句用来引用旧数据? D A.FOR EACH B.ON C.REFERENCING D.OLD

3.在创建触发器时,哪一个语句决定了触发器是针对每一行执行一次,还是针对每一个语句 执行一次? A

A.FOR EACH B.ON C.REFERENCING D.NEW

4.替代触发器可以被附加到哪一类数据库对象上? C A.表B.序列C.视图D.簇

5.下列哪个语句用于禁用触发器? C

A.ALTER TABLE B.MODIFY TRIGGER C.ALTER TRIGGER D.DROP TRIGGER 6.条件谓词在触发器中的作用是D 。

A.指定对不同事件执行不同的操作B.在UPDATE 中引用新值和旧值 C.向触发器添加WHEN 子句D.在执行触发器前必须满足谓词条件 7.可以使用哪个子句来更改相关性标识符的名称? A A.REFERENCING B.WHEN C.INSTEAD-OF D.RENAME

8.下列哪个相关性标识符是可用的,并且包括了DELETE 触发器中要更新的值? B A.OLD B.NEW C.REFERENCING D.以上都不是

第十三章

1.下列关于提交事务的叙述哪一项是正确的? A

A.事务提交后,它对数据库所做的修改将永久保存到数据库中 B.在事务提交后,还可以使用回滚语句取消它所做的操作 C.提交事务的响应速度与事务的规模有关

D.提交事务时,并不意味着事务的结束,它只是对事务以前所做的工作进行保存而已 2.下列哪个语句会终止事务? D

A.SAVEPOINT B.ROLLBACK TO SAVEPOING C.END TRANSACTION D.COMMIT

3.假如当前数据库有两个并发的事务,其中,第一个事务修改表中的数据,第二个事务在将 修改提交约数据库前查看这些数据。如果第一个事务执行回滚操作,则会发生哪种读取现 象? C

A.假读B.非重复读取C.错读D.重复读

4.当一个事务基于某些搜索条件读取一个数据表,第二个事务更新表中的数据,那么,当第 一个事务再次读取数据时,返回的结果会因为搜索条件而返回不同的结果。这种现象叫做什 么? A

A.假读B.非重复读取C.错读D.重复读

5.下列选项中,哪个选项用于设置事务的隔离层? A

A.READ ONLY B.UPDATE C.LOCAL D.ISOLATION LEVEL READ COMMITTED IS 6.下列哪一个锁模式不属于Oracle? D

A.共享锁B.排他锁C.行级共享锁D.死锁

7.下列关于Oracle 支持的锁粒度描述正确的是? A

A.数据库级、表级、行级和列级B.数据库级、表级、行级C.行级、列级D.列级、表级

8.在用SET TRANSACTION 语句设置事务的属性时,为了确保事务中不会发生非重复读取 和错读,但不考虑是否会发生假读,应使用哪个隔离层? D

A.READ COMMITE B.SERIALIZABLE C.READ WRITE D.REPEATABLE READ

第十四章

1.假设用户USER1 的默认表空间为USERS,他在该表空间的配额为10MB,则USER1 在 USERS 表空间创建基本表时,他应具有什么权限? A A.CREATE TABLE B.CREATE USER

C.UNLIMITED TABLESPACE D.LIMITED TABLESPACE 2.下列哪一项资源不能在用户配置文件中限定? B

A.各个会话的用户数B.登录失败的次数C.使用CPU 时间D.使用SGA 区的大小 3.检查下面的SQL 语句,哪一项是错误的? B

Alter user tempuser identified by oracle default tablespace users default temporary tablespace temp quota 100M on users;

A.default tablespace users B.default temporary tablespace temp C.quota 100M on users D.identified by oracle

4.下面哪一个不是系统权限? C

A.SELECT TABLE B.ALTER TABLE C.SYSDAB D.CREATE INDEX

5.想在另一个模式中创建表,用户最少应该具有什么系统权限? B

A.CREATE TABLE B.CREATE ANY TABLE C.RESOURCE D.DBA

6.用户查询下列哪一个数据字典视图,可以查看他向其他用户授予的对象权限? C A.DBA_SYS_PRIVS B.USER_TAB_PRIVS_MADE C.USER_TAB_PRIVS D.USER_OBJ_PRIVS

7.下面哪个系统预定义角色允许一个用户创建其他用户? B A.CONNECT B.DBA C.RESOURCE D.SYSDBA

8.如果要启用所有角色,则应该使用哪一个命令? A A.SET ROLE ALL B.SET ROLE ENABLE ALL C.ALTER SESSION ALL D.ALTER USER ROLE ALL

第十五章

1.在创建表空间时,可以指定表空间中存储对象的默认存储参数,其中A 参数用于 设置分配给每一个对象的初始区大小。

A.INITIAL B.NEXT C.PCTINCREASE D.MINEXTENTS

2.把一个表空间切换到OFFLINE 状态时,可以使用4 个参数,不包括下列哪一个选项? D A.IMMEDIATE B.NORMAL C.TEMPORARY D.FORCE

3.在设置撤销表空间的自动管理功能时,DBA 通过使用相关的初始化参数对自动撤销表空 间进行配置。下面的4 个参数中,哪一个不是与自动撤销管理功能相关的参数? D A.UNDO_MANAGEMENT B.UNDO_TABLESPACE C.UNDO_RETENTION D.TRANSACTIONS

4.下面哪一个参数不能在STORAGE 子句中进行设置? B A.INITIAL B.PCTUSED C.MINEXTENTS D.NEX

5.Oracle 数据库的最小I/O 单位是D ,最小磁盘分配单位是C . A.表空间B.段C.盘区D.数据块

6.在设置自动撤销管理时,下列B 参数用于设置所使用的撤销表空间, C 参

数用于设置撤销数据的保留时间。 A.UNDO_MANAGEMENT B.UNDO_TABLESPACE C.UNDO_RETENTION D.ROLLBACK_SEGMENTS__

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 7swz.com 版权所有 赣ICP备2024042798号-8

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务