Oracle 10g 数据库管理 应用开发 标准教程 思考与练习.pdf
第二章一、填空题第二章一、填空题1.Oracle 数据库系统的物理存储结构主要由 3 类文件组成,分别为数据文件、日志文件、控制文件。(另外还包含一些参数文件)2.用户对数据库的操作如果产生日志信息、则该日志信息首先被存储在日志缓冲区中,随后由 LGWRLGWR 进程保存到日志文件。3.一个表空间物理上对应一个或多个数据文件。4.在 Oracle 的逻辑存储结构中,根据存储数据的类型,可以将段分为数据段、索引段、回退段、LOB 段和临时段。5.在 Oracle 的逻辑存储结构中,数据块是最小的 I/O 单元。6.在多进程 Oracle 实例系统中,进程分为用户进程、后台进程和服务器进程。当一个用户运行应用程序,如PRO*C 程序或一个 Oracle 工具(如SQL*Plus),系统将为用户运行的应用程序建立一个用户进程。二、选择题二、选择题1.下列选项中,哪一部分不是 Oracle 实例的组成部分?C CD.Dnnn调度进程控制 A.系统全局区 SGA B.PMON 后台进程 C.2.在全局存储区 SGA 中,哪部分内存区域是循环使用的?B BA.数据缓冲区 B.日志缓冲区 C.共享池 D.大池3.解析后的 SQL 语句在 SGA 的哪个区域中进行缓存?C C D.大池 C.共享池 A.数据缓冲区 B.日志缓冲区4.如果一个服务进程非正常终止,Oracle 系统将使用下列哪一个进程来释放它所占用的资源?D DB.LGWR C.SMON A.DBWR D.PMON5.如果服务器进程无法在数据缓冲区中找到空闲缓存块,以添加从数据文件中读取的数据块,则将启动如下哪一个进程?D D D.DBWRB.SMON C.LGWRA.CKPT6.下列关于共享服务器模式的叙述哪一项不正确?A A在共享服务器操作模式下,每一个用户进程必须对应一个服务器进程 A.B.一个数据库实例可以启动多个调度进程C.在共享服务器操作模式下,Oracle 实例将启动调度进程 Dnnn 为用户进程分配服务进程D.共享服务器操作模式可以实现少量服务器进程为大量用户进程提供服务7.当数据库运行在归档模式下时,如果发生日志切换,为了保证不覆盖旧的日志信息,系统将启动如下哪一个进程?DC.SMON D.ARCHA.DBWR B.LGWR8.下列哪一个进程和数据库部件可以保证用户对数据库所做的修改在没有保存的情况下,不会发生丢失修改数据?CA.DBWR 和数据文件 B.LGWR 和日志文件组 C.CKPT 和控制文件 D.ARCH 和归档日志文件9.下列哪一个进程用于将修改过的数据从内存保存到磁盘数据文件中?AA.DBWR B.LGWR C.RECO D.ARCH10.如果要查询数据库中所有表的信息,应当使用下列哪种数据字典视图?AA.DBA 视图 B.ALL 视图 C.USER 视图 D.动态性能视图11.下列哪一项是 Oracle 数据库中最小的存储分配单元?DA.表空间 B.段 C.盘区D.数据块12.下面的各项中哪一个正确描述了 Oracle 数据库的逻辑存储结构?AA.表空间由段组成,段由盘区组成,盘区由数据块组成段由表空间组成,表空间由盘区组成,盘区由数据块组成 B.C.盘区由数据块组成,数据块由段组成,段由表空间组成 数据块由段组成,段由盘区组成,盘区由表空间组成 D.第三章一、填空题1.标准的 SQL 语言语句类型可以分为:数据定义语句(DDL)、数据操纵语句(DML)和数据控制语句(DCL)。2.在需要滤除查询结果中重复的行时,必须使用关键字 Distinct;在需要返回查询结果中的所有行时,可以使用关键字 ALL。3.如果需要在 SELECT 子句中包括一个表的所有列,可使用符号*。语句中。SELECT 如果定义与组有关的搜索条件,可以把 4.group by 子句添加到5.当进行模糊查询时,就使用关键字 LIKE 和通配符彜或百分号。6.WHERE 子句可以接收 FROM 子句输出的数据,而 HAVING 子句则可以接收来自 group bygroup by、FROM 或 wherewhere 子句的输入。7.使下列 SQL 语句中添加适当的表达式或子句,使语句可以正常运行。SELECT 供应商所在城市,COUNT(供应商编号)供应商信息 FROM供应商所在城市 GROUP BY ORDER BY 2 2 DESC;二、选择题1.下列的哪个子句在 SELECT 语句中用于排序结果集?D DD.ORDER BY 子句子句 B.WHERE 子句 C.FROM A.HAVING 子句2.为了去除结果集中重复的行,可在 SELECT 语句中使用下列哪个关键字?B BA.ALL B.DISTINCT C.SPOOL D.HAVING3.下列哪个关键字或子句用来限定查询结果集中的行?B B D.INSERTC.UPDATE B.WHERE A.SELECT4.GROUP BY 子句的作用是什么?A AA.查询结果的分组条件 B.组的筛选条件 C.限定返回的行的判断条件 D.对结果集进行排序5.HAVING 子句的作用是 B BA.查询结果的分组条件 B.组的筛选条件 C.限定返回的行的判断条件 D.对结果集进行排序6.下列哪个函数可以把一个列中的所有值相加求和?B B C.COUNTD.AVG B.SUM A.MAX7.下列哪个子句是 SELECT 语句中必选项?A AA.FROM B.WHERE C.HAVING D.ORDERBY8.当使用三角函数 COS 求余弦时,应以 B B 为单位传递参数。D.上述都不对 C.角度和弧度均可 B.弧度角度 A.9.下列哪个子句实现对一个结果集进行分组和汇总?D DA.HAVING B.ORDER BY D.GROUPBYC.WHERE10.查询一个表的总记录数,可以采用 C C统计函数。A.AVG(*)B.SUM(*)D.MAX(*)C.COUNT(*)第四章一、填空题1.在 SQL 语句中,用于向表中插入数据的语句是 InsertInsert。2.如果需要向表中插入一批已经存在的数据,可以在 INSERT 语句中使用 selectselect 语句。3.创建一个 UPDATE 语句来修改 ARTISTS 表中的数据,并且把每一行的 T_ID 值都改成 15,应该使用的 SQL 语句是 update artists set t_id=15;update artists set t_id=15;。命令可以显示表的结构信息。4.使用 describedescribe并且不执行。命令可以将文件检索到缓冲区,的 getget 5.使用 SQL*Plus6.当设置了多个列的显示属性后,如果清除设置的显示属性,可以使用命令 clearclear,而当要清除某列具体的显示属性时,需要使用命令 OFFOFF。7.使用 SAVESAVE 命令可以将缓冲区中的 SQL 命令保存到一个文件中,并且可以使用 StartStart 命令运行该文件。8.要设置 SQL*Plus 显示数字时的格式可以使用 NumFormatNumFormat 命令,而要设置某个数字列的显示格式要使用 ColumnColumn 命令。二、选择题二、选择题1.要建立一个语句向 Types 表中插入数据,这个表只有两列,T_ID 和 T_Name 列。如果要插入一行数据,这一行的 T_ID 值是 100,T_Name 值是 FRUIT。应该使用的 SQL 语句是 A 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 WHERET_ID=100 AND T_Name=FRUIT A A 语句修改表的一行或多行数据。2.用 D.WHERE C.SELECTA.UPDATE B.SET3.要建立一个 UPDATE 语句更新表的某一列数据,且更新的数据为表统计的结果。则需要在 UPDATE 语句中使用什么语句?C CC.SELECT D.WHERE A.UPDATE B.SET4.DELETE 语句中用 B B 语句或子句来指明表中所要删除的行。D.INSERT B.WHERE C.SELECT A.UPDATE5.使用什么命令可以清除表中所有的内容?D DA.INSERT B.UPDATE C.DELETED.TRUNCATE6.如果要设置 SQL*Plus 每页打印的数量,则可以使用如下的哪个命令?C CA.SET PAGE B.PAGESIZE C.SET PAGESIZE D.SIZE7.以下的哪个命令可以将 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 参数设置,则应使用的语句为 Altertable Student allocate extent;;如果为Student 表手动分配了一个大小为128KB 的新盘区,则应使用的语句为 Alter table Student allocate extent(size 128k);。8.填写下面语句,使其可以将 Class 表移动到表空间 SYSTEM 中的数据段,并且其初始化盘区为 30KB,第二个盘区为 20KB,随后分配的盘区不会增长。moveALTER TABLE ClassTABLESPACE SYSTEMSTORAGE(Initial 30kNext 20kPctincrease 0MAXEXTENTS UNLIMITED);9.根据约束的作用域,约束可以分为表级约束和列级约束两种。列级约束是字段定义的一部分,只能够应用在一个列上;而表级约束的定义独立于列的定义,它可以应用于一个表中的多个列。10.填写下面的语句,使其可以为 Class 表的 ID 列添加一个名为 PK_CLASS_ID 的主键约束。ALTER TABLE ClassAdd constraint PK_CLASS_IDPRIMARY KEY(ID)11.假设已经创建了 CHAINED_ROWS 表,填写下面的语句,以便对“业务员信息”表进行链接记录分析:ANALYZE TABLE 业务员信息 List chained rows into chained_rows二、选择题二、选择题1.下列哪个对象属于模式对象?CA.数据段 B.盘区 D.表空间 C.表2.关于模式的描述下列哪一项不正确?CA.表或索引等模式对象一定属于某一个模式B.在 Oracle 数据库中,模式与数据库用户是一一对应的一个模式可以拥有多个表 D.一个表可以属于多个模式 C.3.如果一个表中某条记录的一个字段暂时不具有任何值,那么在其中将保存什么内容?CA.空格字符 B.数字 0 C.NULL D.该字段数据类型的默认值4.下列哪一项不是伪列 ROWID 的作用?DA.保存记录的物理地址 B.快速查询指定的记录 C.标识各条记录 D.保存记录的头信息5.下列哪一项错误地描述了默认值的作用?BA.为表中某列定义默认值后,如果向表中添加记录而未为该列提供值,则使用定义的默认值代替B.如果向表中添加记录并且为定义默认值的列提供值,则该列仍然使用定义的默认值C.如果向表中添加记录并且为定义默认值的列提供值,则该列使用提供的值D.向表中添加记录时,如果定义默认值的列提供值为 NULL,则该列使用 NULL 值6.某用户需要创建一个很小的表,但是该表会被许多查询使用,这时用户应当在创建该表时指定下列哪个子句?B C.NOLOGGING PCTUSEDB.CACHE D.TABLESPACEA.PCTFREE 和7.为了减少表中的链接记录和迁移记录,应当增大表的哪一个存储参数?AA.PCTFREE B.PCTUSED C.MAXEXTENTS D.PCTINCREASE8.唯一约束与主键约束的一个区别是?DB.唯一约束的列的值可以不是唯一的 A.唯一约束的列的值不可以有重复值D.唯一约束的列可以为空值 C.唯一约束的列不可以为空值9.如果为表 Employee 添加一个字段 Email,现在规定每个雇员都必须具有唯一的 Email 地址,则应当为 Email 字段建立哪种约束?BA.Primary Key B.UNIQUE C.CHECK D.NOT NULL第六章一、填空题1.在使用逗号连接的多表查询中,为了防止出现笛卡儿积,需要 SELECT 语句的 Where 子句中提供连接条件。2.使用逗号连接的多表查询中,用户可以根据下述基本原则创建需要的各种查询:From 子句应当包括所有的表名,在 Where 子句中应定义一个连接条件,当列名为多个表共有时,列名必须被限制。3.自然连接为具有相同名称的列自动进行记录匹配,它不必指定任何同等连接条件。4.集合运算符 UNION 实现了集合的并运算,操作 INTERSECT 实现了对集合的交运算,而MINUS 则实现了减运算。5.使用关键字连接子查询时,EXISTS 关键只注重子查询是否返回行,如果子查询返回一个或多个行,那么便返回为真,否则为假。二、选择题1.下列哪一种连接与逗号分隔连接执行的效果相同?C CD.内连接交叉连接 C.自然连接 A.外连接 B.2.如果只需要返回匹配的列,则应当使用哪种连接?A AA.内连接 B.交叉连接 D.全连接 C.左连接3.下列 SELECT 语句中,哪些子句可以包含子查询?C CD.ORDER BY C.WHERE B.GROUP BY A.SELECT4.如果使用逗号分隔连接查询两个表,其中一表有 20 行,而另一个表有 50 行,如果未使用WHERE 子句,则将返回多少行?B B D.500 C.50 A.20 B.10005.下列的 SELECT 语句中哪个不能正常运行?D DA.SELECT STD,SNAME,SCLASS,CNAME FROM STUDENT S,CLASS C WHERE SCLASS=CID;B.SELECT*FROM STUDENT S,CLASS C WHERE SCLASS=CID;C.SELECTS.SID,S.NAME,SCLASS,C.CNAME FROM STUDENT S,CLASS C WHERE S.SCLASS=C.CID;D.SELECTS.SID,S.SNAME,SCLASS,C.CNAME FROM STUDENT WHERE SCLASS S IN(SELECT CID FROM CLAS C);和模式中的 STUDENT CLASS、6.下面的 A A SELECT 语句用于查询 SCHOOLDEPARTMENT 表中的信息。完成该语句,使其可以正常运行。SELECT s.sname,s.saddress,ame,D.DNAME,D.DOFFICEFROM STUDENT S _ CLASS C_ _ DEPARTMENT DWHERE D.DNAME=法律系;A.JOIN、ON S.SCLASS=C.CID、JOIN、ON D.DID=C.DEPARTMENTON S.SCLASS=C.CID、JOINB.NATURAL JOIN、ON D.DID=C.DEPARTMENTC.CROSS JOIN、ON S.SCLASS=C.CID、JOIN、ON D.DID=C.DERPARTMENTD.JOIN、ON S.SCLASS=C.CID、NATURAL JOIN、ON D.DID=C.DEPARTMENT7.在下面各选项中,B B 与下面 SELECT 语句的查询结果相同。SELECT SID,SNAME,SADDRESS FROM STUDENT WHERE SCLASS=C0010545 OR SCLASS IN(SELECTCID FROM CLASS WHERE DEPARTMENT IN(SELECT DID FROM DEPARTMENTWHERE DNAME=化工系);A.SELECT SID,SNAME,SADDRESS FROM STUDENT WHERE SCLASS=C0010545INTERSECTSELECT SID,SNAME,SADDRESS FROM STUDENT S,CLASS C WHERE S.SCLASS=C.CID AND C.DEPARTMENT IN 化工系);(SELECT DID FROM DEPARTMENT WHEREDNAME=B.SELECT SID,SNAME,SADDRESS FROM STUDENT WHERE SCLASS=C0010545UNIONSELECT 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 STUDENTS,CLASS C WHERE S.SCLASS=C.CID AND C.DEPARTMENT IN);(SELECT DID FROM DEPARTMENT WHEREDNAME=化工系 D.SELECT SID,SNAME,SADDRESS FROM STUDENT WHERE SCLASS=C0010545MINUSSELECT 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_foundno_data_found 异常。4.自定义异常必须使用 raiseraise 语句引发。5.查看操作在数据表中所影响的行数,可通过游标的%RowCount%RowCount 属性实现。6.查看下面的程序块,DBMS_OUTPUT 将显示什么结果?N NDECLAREvar_a CHAR(1):=N;BEGINDECLAREvar_a CHAR(2);BEGINvar_a:=Y;END;DBMS_OUTPUT.put_line(var_a);END;7.查看下面的程序块,其中变量 var_b 的结果为 5 5。DECLAREVar_a number:=1200;Var_b number;BEGINIF var_a500 THENvar_b:=5;ELSIF var_a1000 THENvar_b:=10;ELSEvar_b:=8;END IF;END;8.下列程序计算由 09 之间的任意 3 个不相同的数字组成的三位数,共有多少种不同的组合方式?完成下列程序使其能够正确运行。DECLARE counter number:=0;BEGIN FOR i IN 1.9 LOOP FOR j IN 0.9 LOOP i!=ji!=j THENIF FOR k IN 0.9 LOOP IF k!=i and k!=jk!=i and k!=j THEN counter:=counter+1;END IF;END LOOP;ENDIF;END LOOP;END LOOP;DBMS_OUTPUT.put_line(counter);END;1.以下定义的哪个变量是非法的?B BB.var_ab NUMBER(3)NOT NULL:=0;A.var_ab NUMBER(3);D.var_ab NUMBER(3):=3;C.var_ab NUMBER(3)DEFAULT:=1;2.下列哪一个不是 BOOLEAN 变量可能的取值?D DD.BLANK C.NULLA.TRUE B.FALSE3.只能存储一个值的变量是哪种变量?B BA.游标 B.标题变量 C.游标变量 D.记录变量4.声明%TYPE 类型的变量时,服务器将会做什么操作?A AA.为该变量检索数据库列的数据类型 B.复制一个变量为该变量检索列的数据类型和值 D.C.检索数据库中的数据5.下列哪一项可以正确地引用记录变量中的一个值?B BD.rec_abc.first();C.rec_abc.col;B.rec_abc(1).col;A.rec_abc(1);6.下列哪个语句允许检查 UPDATE 语句所影响的行数?B BA.SQL%FOUND B.SQL%ROWCOUNT二、选择题二、选择题D.SQL%NOTFOUNDC.SQL%COUNTD7.在定义游标时使用的 FOR UPDATE 子句的作用是 B BA.执行游标 B.执行 SQL 语句的 UPDATE 语句 C.对要更新表的列进行加锁 D.都不对8.对于游标 FOR 循环,以下哪一种说法是不正确的?D DA.循环隐含使用 FETCH 获取数据 B.循环隐含使用 OPEN 打开记录集C.终止循环操作也就关闭了游标 D.游标 FOR 循环不需要定义游标9.下列哪个关键字用来在 IF 语句中检查多个条件?BCBC D.ELSIFSB.ELSIF C.ELSIFA.ELSE IF10.如何终止 LOOP 循环,而不会出现死循环?C CA.在 LOOP 语句中的条件为 FALSE 时停止 B.这种循环限定的循环次数,它会自动终止循环C.EXIT WHEN 语句中的条件为 TRUE D.EXIT WHEN 语句中的条件为 FALSE11.下列哪一项可以正确引用记录表变量中的一个值?B BD.tab_abc.first();C.tab_abc.col;A.tab_abc(1);B.tab_abc(1).col12.如果 PL/SQL 程序块的可执行部分引发了一个错误,则程序的执行顺序将发生什么变化?A AA.程序将转到 EXCEPTION 部分运行 B.程序将中止运行 C.程序仍然正常运行 D.以上都不对第八章第八章一、填空题一、填空题1.在下面程序的空白处填写一定的代码,使该函数可以获取指定编号的商品价格。CREATE OR REPLACE FUNCTION get_price(P_ID varchar2)return number isreturn number isv_price NUMBER;BEGINSELECT 单价into v_priceinto v_priceFROM 商品信息 WHERE 商品编号=P_ID;P_ID;RETURN v_price;EXCEPTIONWHEN 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 bodyTEST isFunction max(x in number,y in number)return number is Result number;Begin xy thenResult:=x;ElseResult:=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;运行结果:21213.在下面程序的空白处填写适当的代码,使得调用该过程时可以统计某产地的商品数量和总价。CREATE OR REPLACE PROCEDURE proc_demo(Merch_place IN varchar2,Price_sum outout NUMBER,Merch_count outout NUMBER)ISBEGINSELECT SUM(单价),COUNT(*)INTO Price_sum,Merch_countMerch_placeMerch_place;WHERE 产地=FROM 商品信息 EXCEPTION WHEN NO_DATA_FOUNDTHEN!);DBMS_OUTPUT.PUT_LINE(所需数据不存在 WHEN OTHERS THEN DBMS_OUTPUT.PUT_LINE(发生其他错误!);END proc_demo;二、选择题二、选择题1.下列哪个语句可以在 SQL*Plus 中直接调用一个过程?D D D.EXEC B.CALL C.SET A.RETURN2.下面哪些不是过程中参数的有效模式?C CA.IN B.IN OUT C.OUT IN D.OUT3.如果存在一个名为 TEST 的过程,它包含 3 个参数:第一个参数为 P_NUM1,第二个参数为 P_NUM2,第三个参数为 P_NUM3。3 个参数的模式都是 IN。P_NUM1 参数的数据类型是 NUMBER,P_NUM2 参数的数据类型是 VARCHAR2,第三个参数的数据类型是VARCHAR2。下列哪一个是该过程的有效调用?D D A.TEST(1010,P_NUM3=abc,P_NUM2=bcd)B.TEST(P_NUM1=1010,P_NUM2=abc,bcd)上述都对 D.C.TEST(P_NUM1=1010,abc,bcd)4.函数头部中的 RETURN 语句的作用是什么?A AA.声明返回的数据类型 B.声明返回值的大小和数据类型C.调用函数 D.函数头部不能使用 RETURN 语句5.根据下面的匿名程序块,判断 CHECK_VALUE 程序单元是否为一个函数?D DDECLAREV_TEST NUMBER;BEGIN IF V_TEST 10 THEN CHECK_VALUE(V_TEST);END IF;END;B.可以,但函数必须不包含任何 SQL A.可以为一个函数语句C.可以,但需要初始化变量 V_TEST D.不可以6.如果在程序包的主体中包括了一个过程,但没有在程序包规范中声明这个过程,那么它将会被认为是 D D。C.受限的 D.私有的 B.公有的 A.非法的7.如果创建了一个名为 USERPKG 的程序包,并在程序包中包含了名为 test 的过程。下列哪一个是对这个过程的合法调用?B BA.test(10)B.USERPKG.test(10)C.TEST.USERPKG(10)D.TEST(10).USERPKG8.可以引用哪个数据字典视图来查看软件包中包含的代码?C CD.USER_TEXT A.USER_OBJECTS B.USER_PACKAGE_TEXT C.USER_SOURCE9.对于下面的函数,哪个语句将成功地调用?D DCREATE OR REPLACE FUNCTION Calc_Sum(Addend_X number,Addend_Y number)Return number AsSum number;BEGIN Sum:=Addend_X+Addend_Y;Return Sum;END;A.Calc_Sum B.EXECUTE Calc_Sum(45)C.EXECUTECalc_Sum(23,12)D.Sum:=Calc_Sum(23,12)10.当满足下列哪种条件时,允许两个过程具有相同的名称?B B数据类型不相同时或参数的数量 B.参数的名称或数量不相同时 A.C.参数的数据类型和名称不相同时参数的数量和数据类型不相同时 D.第九章一、填空题1.为了建立外部表,首先需要指示数据文件在操作系统上的位置。现在假设在操作系统的F:DATAFILE 文件夹中存有一个数据文件,使用 create directory exterior_data asF:DATAFILE;语句使 Oracle 可以访问数据文件。2.在使用 CREATE TABLE 语句创建索引组织表时,必须使用 organization indexorganization index 子句指示创建的表为索引组织表,并且为索引组织表指定主键。3.PCTTHRESHOLD 指定一个数据块的百分比,当一行中的数据占用空间大于这个百分比时,该行将被分隔到两个位置存储:主键列被存储在基本索引段中,所有其他列被存储在溢出段中。4.Oracle 中的临时表可以分为事务级临时表和会话级临时表,创建事务级别的临时表,需要使用 on commit delete rows 子句;创建一个会话级别的临时表,则需要使用 on commitpreserver 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.txtLOGFILE log_dev.txtFIELDS TERMINATED BY,)_(F1.txt,F2.txt);A.EXTERNAL、TYPE、ACCESS、LOCATION B.INDEX、TYPE、ACCESS、LOCATIONC.EXTERNAL、TYPE、ACCEPT、LOAD D.INDEX、TYPE、ACCEPT、LOAD2.下列关于索引组织表的说法哪项是错误的?D DA.索引组织表所有的数据都是以 B 树索引的方式存储的B.索引组织表实际是一个表而不是索引C.索引组织表适用于经常需要通过主键字段的值来查询的情况D.索引组织表不能通过查询来创建3.下列关于对象的描述哪项是错误的?B BA.为对象表添加数据时,可以在 INSERT 语句的 VALUES 子句中直接提供值,隐式创建对象类型实例,然后向表中添加数据;也可以显式创建对象实例后向表中添加数据B.对象表与其他类型的表一样,都是作为列的集合C.对象表中的每个对象都有一个 OID,OID 是全局唯一的,表示每一个对象的实例D.查询对象表时,对象表中的数据以关系的形式显示,但也可以通过使用 VALUE()函数以对象实例的形式显示4.下列哪一个语句可以用于创建一个多列的分区表?B BA.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(date1988-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 maxextentsunlimited);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,date1988-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 maxextentsunlimited);C.Create table text_pt(ID NUMBER(20)not null,Tip varchar2(10),Re_date date)Partition by range(ID)Sub