Oracle10g数据库管理应用开发标准教程习题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Oracle10g数据库管理应用开发标准教程习题
一、填空题
1.Oracle 数据库系统的物理储备结构要紧由3 类文件组成,分别为数据文件、日志文件、操纵文件。
〔另外还包含一些参数文件〕
2.用户对数据库的操作假如产生日志信息、那么该日志信息第一被储备在日志缓冲区中,随后
由LGWR 进程储存到日志文件。
3.一个表空间物理上对应一个或多个数据文件。
4.在Oracle 的逻辑储备结构中,依照储备数据的类型,能够将段分为数据段、索引段、回退段、LOB 段和临时段。
5.在Oracle 的逻辑储备结构中,数据块是最小的I/O 单元。
6.在多进程Oracle 实例系统中,进程分为用户进程、后台进程和服务器进程。
当一个用户运行应用程序,如PRO*C 程序或一个Oracle 工具〔如SQL*Plus〕,系统将为用户运行的应用程序建立一个用户进程。
二、选择题
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 视图
ER 视图
D.动态性能视图
11.以下哪一项为哪一项Oracle 数据库中最小的储备分配单元?D
A.表空间
B.段
C.盘区
D.数据块
12.下面的各项中哪一个正确描述了Oracle 数据库的逻辑储备结构?A
A.表空间由段组成,段由盘区组成,盘区由数据块组成
B.段由表空间组成,表空间由盘区组成,盘区由数据块组成
C.盘区由数据块组成,数据块由段组成,段由表空间组成
D.数据块由段组成,段由盘区组成,盘区由表空间组成
第三章
一、填空题
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.以下的哪个子句在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.在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.要建立一个语句向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.在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.以下哪个对象属于模式对象?C
A.数据段
B.盘区
C.表
D.表空间
2.关于模式的描述以下哪一项不正确?C
A.表或索引等模式对象一定属于某一个模式
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.在使用逗号连接的多表查询中,为了防止显现笛卡儿积,需要SELECT 语句的Where 子
句中提供连接条件。
2.使用逗号连接的多表查询中,用户能够依照下述差不多原那么创建需要的各种查询:From 子
句应当包括所有的表名,在Where 子句中应定义一个连接条件,当列名为多个表共有时,列名必须被限制。
3.自然连接为具有相同名称的列自动进行记录匹配,它不必指定任何同等连接条件。
4.集合运算符UNION 实现了集合的并运算,操作INTERSECT实现了对集合的交运算,而MINUS 那么实现了减运算。
5.使用关键字连接子查询时,EXISTS 关键只注重子查询是否返回行,假如子查询返回一个或多个行,那么便返回为真,否那么为假。
二、选择题
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,,SCLASS,AME FROM STUDENT S,CLASS C
WHERE S.SCLASS=C.CID;
D.
SELECT S.SID,S.SNAME,SCLASS,AME FROM STUDENT
WHERE SCLASS S IN (SELECT CID FROM CLAS C);
6.下面的A SELECT 语句用于查询SCHOOL 模式中的STUDENT 、CLASS 和
DEPARTMENT 表中的信息。
完成该语句,使其能够正常运行。
SELECT s.sname,s.saddress,ame,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.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 THEN
counter:=counter+1;
END IF;
END LOOP;
END IF;
END LOOP;
END LOOP;
DBMS_OUTPUT.put_line(counter);
END;
二、选择题
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.在下面程序的空白处填写一定的代码,使该函数能够猎取指定编号的商品价格。
CREATE OR REPLACE FUNCTION get_price
(P_ID varchar2)
return number 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
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;
调用程序块:
begin
dbms_output.put_line(TEST.max(10,21,12));
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.以下哪个语句能够在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)
ERPKG.test(10)
ERPKG(10)
D.TEST(10).USERPKG
8.能够引用哪个数据字典视图来查看软件包中包含的代码?C
ER_OBJECTS
ER_PACKAGE_TEXT
ER_SOURCE
ER_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.参数的数据类型和名称不相同时
D.参数的数量和数据类型不相同时
第九章
一、填空题
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.假设两个数据文件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.B 树索引能够是唯独的或者不唯独的,唯独的B 树索引能够保证索引列上可不能有重复的值。
2.在为表中某个列定义PRIMART KEY 约束PK_ID 后,那么系统默认创建的索引名为PK_ID。
3.在B 树索引中,通过在索引中储存排过序的索引列的值与相对应的RowID 来实现快速查找。
4.假如表中某列的基数比较低,那么应该在该列上创建位图索引。
5.假如要获知索引的使用情形,能够通过查询V$OBJECT_USAGE 视图;而要获知索引的
当前状态,能够查询Index_Stats 视图。
二、选择题
1.查看下面的语句创建了哪一种索引?C
CREATE INDEX test_index ON student(stuno,sname)
TABLESPACE users STORAGE(INITIAL 64k,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.假如经常执行类似于下面的查询语句:。