Oracle10g数据库管理应用与开发标准教程课后习题答案全包括16章精讲.docx
- 文档编号:27541452
- 上传时间:2023-07-02
- 格式:DOCX
- 页数:39
- 大小:313.78KB
Oracle10g数据库管理应用与开发标准教程课后习题答案全包括16章精讲.docx
《Oracle10g数据库管理应用与开发标准教程课后习题答案全包括16章精讲.docx》由会员分享,可在线阅读,更多相关《Oracle10g数据库管理应用与开发标准教程课后习题答案全包括16章精讲.docx(39页珍藏版)》请在冰豆网上搜索。
Oracle10g数据库管理应用与开发标准教程课后习题答案全包括16章精讲
第二章
、填空题
I.Oracle数据库系统的物理存储结构主要由3类文件组成,分别为数据文件、日志文件、
控制文件。
(另外还包含一些参数文件)
2.用户对数据库的操作如果产生日志信息、则该日志信息首先被存储在日志缓冲区中,随后
由LGWR进程保存到日志文件。
3.一个表空间物理上对应一个或多个数据文件。
4.在Oracle的逻辑存储结构中,根据存储数据的类型,可以将段分为数据段、索引段、回
退段、LOB段和临时段。
5.在Oracle的逻辑存储结构中,数据块是最小的I/O单元。
6.在多进程Oracle实例系统中,进程分为用户进程、后台进程和服务器进程。
当一个用户运行应用程序,如PRO*C程序或一个Oracle工具(如SQL*Plus),系统将为用户运行的应用程序建立一个用户进程。
、选择题
1.下列选项中,哪一部分不是Oracle实例的组成部分?
C
A.
D.Dnnn调度进程
系统全局区SGAB.PMON后台进程C.控制文件
2.在全局存储区SGA中,哪部分内存区域是循环使用的?
B
A.数据缓冲区B.日志缓冲区C.共享池D.大池
3.
解析后的SQL语句在SGA的哪个区域中进行缓存?
C
5.如果服务器进程无法在数据缓冲区中找到空闲缓存块,以添加从数据文件中读取的数据块,则将启动如下哪一个进程?
D
A.CKPTB.SMONGLGWRD.DBWR
6.下列关于共享服务器模式的叙述哪一项不正确?
A
A.在共享服务器操作模式下,每一个用户进程必须对应一个服务器进程
B.一个数据库实例可以启动多个调度进程
C.在共享服务器操作模式下,Oracle实例将启动调度进程Dnnn为用户进程分配服务进程
D.共享服务器操作模式可以实现少量服务器进程为大量用户进程提供服务
7.当数据库运行在归档模式下时,如果发生日志切换,为了保证不覆盖旧的日志信息,系统
将启动如下哪一个进程?
D
A.DBWRB.LGWRC.SMOND.ARCH
8.下列哪一个进程和数据库部件可以保证用户对数据库所做的修改在没有保存的情况下,不
会发生丢失修改数据?
C
A.DBWR和数据文件B.LGWR和日志文件组C.CKPT和控制文件D.ARCH和归档日志文件
9.下列哪一个进程用于将修改过的数据从内存保存到磁盘数据文件中?
A
A.DBWRB.LGWRC.RECOD.ARCH
10.
如果要查询数据库中所有表的信息,应当使用下列哪种数据字典视图?
A
11.下列哪一项是Oracle数据库中最小的存储分配单元?
A.表空间B.段C.盘区D.数据块
12.下面的各项中哪一个正确描述了Oracle数据库的逻辑存储结构?
A
A.表空间由段组成,段由盘区组成,盘区由数据块组成
B.段由表空间组成,表空间由盘区组成,盘区由数据块组成
C•盘区由数据块组成,数据块由段组成,段由表空间组成
D.数据块由段组成,段由盘区组成,盘区由表空间组成
第三章
一、填空题
1.标准的SQL语言语句类型可以分为:
数据定义语句(DDL、数据操纵语句(DML和数
据控制语句(DCL。
2.在需要滤除查询结果中重复的行时,必须使用关键字Distinct;在需要返回查询结果中的
所有行时,可以使用关键字allo
3.如果需要在SELECT子句中包括一个表的所有列,可使用符号*o
4.如果定义与组有关的搜索条件,可以把groupby子句添加到SELECT语句中。
5•当进行模糊查询时,就使用关键字LIKE和通配符"_"或百分号"%"o
6.WHERE子句可以接收FROM子句输出的数据,而HAVING子句则可以接收来自groupby、FROM或where子句的输入。
7.使下列SQL语句中添加适当的表达式或子句,使语句可以正常运行。
SELECT供应商所在城市,COUNT供应商编号)
FROM供应商信息
GROUPB似应商所在城市
ORDERB吃DESC;
二、选择题
1.下列的哪个子句在SELECT语句中用于排序结果集?
D
A.HAVING子句B.WHERE子句C.FROM子句D.ORDERBY子句
2.为了去除结果集中重复的行,可在SELECT语句中使用下列哪个关键字?
B
A.ALL
B.DISTINCT
C.SPOOL
D.HAVING
3.下列哪个关键字或子句用来限定查询结果集中的行?
B
A.SELECT
B.WHERE
C.UPDATE
D」NSERT
4.GROUPBY子句的作用
是什么?
A
A.查询结果的分组条件
B.组的筛选条件
C.
限定返回的行的判断条件
D.
对结果集进行排序
5.HAVING子句的作用是
B
A.查询结果的分组条件
B.组的筛选条件
C.
限定返回的行的判断条件
D.
对结果集进行排序
6.下列哪个函数可以把一个列中的所有值相加求和?
B
A.MAX
B.SUMC.COUNT
D.AVG
7.下列哪个子句是
SELECT语句中必选项?
A
A.FROM
B.WHEREC.HAVING
D.ORDERBY
8.当使用三角函数
COS求余弦时,应以B为单位传递参数。
A.角度
B.弧度C.角度和弧度均可
D.上述都不对
9.下列哪个子句实现对一个结果集进行分组和汇总?
D
A.HAVINGB.ORDERBYC.WHERED.GROUPBY
10.查询一个表的总记录数,可以采用C统计函数。
A.AVG(*)B.SUM(*)C.COUNT(*)D.MAX(*)
第四章
一、填空题
1.在SQL语句中,用于向表中插入数据的语句是Insert。
2.如果需要向表中插入一批已经存在的数据,可以在INSERT语句中使用select语句。
3.创建一个UPDATE语句来修改ARTISTS表中的数据,并且把每一行的T_ID值都改成15,
应该使用的SQL语句是updateartistssett_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」NSERTINTOTypesValues(100,'FRUIT')
B.SELECT*FROMTypesWHERET_ID=100ANDT_Name='FRUIT'
C.UPDATESETT_ID=100FROMTypesWHERET_Name='FRUIT'
D.DELETE*FROMTypesWHERET_ID=100ANDT_Name='FRUIT'
2.用A语句修改表的一行或多行数据。
A.UPDATEB.SETC.SELECTD.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」NSERT
B.UPDATE
C.DELETE
D.TRUNCATE
6.如果要设置SQL*Plus每页打印的数量,
则可以使用如下的哪个命令?
C
A.SETPAGE
B.PAGESIZE
C.SETPAGESIZE
D.SIZE
7.以下的哪个命令可以将SQL命令保存到文件中A。
而哪个命令可以将SQL命令的运行结果保存到文件中B。
A.SAVEB.SPOOLC.GETD.INPUT
第五章
一、填空题
I.在Oracle系统中,为了实现对表、视图和索引等数据库对象进行管理,Oracle采用模式
实现。
2•—个模式只能够被一个数据库用户所拥有,其创建的所有模式对象都保存在自己的模式
中。
3.Char数据类型与Varchar2类型都用于存储字符串。
如果定义了Char类型的字段,并且
向其赋值时,字符串的长度小于定义的长度,则使用空格填充;而Varchar2类型的字段用
于存储变长的字符串,即如果向该列赋值的字符长度小于定义时的长度,该列的字符长度只
会是实际字符数据的长度,系统不会使用空格填充。
4.R0WID实际上保存的是记录的物理地址,因此通过ROWID来访问记录右以获得最快的访问速度。
5.在STORAGE子句中可以设置6个存储参数。
其中,Initial指定为表中的数据分配的第一
个盘区的大小;Next指定为存储表中的数据分配的第二个盘区大小;Pctincrease指定从
第二个盘区之后,每个盘区相对于上一个盘区的增长百分比;Minextents指定允许为表中
的数据所分配的最小盘区数目;Maxextents指定允许为表中的数据所分配的最大盘区数目。
6.通过数据块空间管理参数可以控制数据块中空闲空间的使用方法,其中Pctfree用于控制
数据块的更新预留的空间,而Pctused用于控制数据块在删除时释放空间的门槛。
7.为Student表手动分配存储空间,并且大小由NEXT参数设置,则应使用的语句为Alter
tableStudentallocateextent;;如果为Student表手动分配了一个大小为128KB的新
盘区,则应使用的语句为AltertableStudentallocateextent(size128k);。
8.填写下面语句,使其可以将Class表移动到表空间SYSTEM中的数据段,并且其初始化盘
区为30KB,第二个盘区为20KB,随后分配的盘区不会增长。
ALTERTABLEClassmove
TABLESPACESYSTEM
STORAGE(
Initial30k
Next20k
Petincrease0
MAXEXTENTSUNLIMITED);
9.根据约束的作用域,约束可以分为表级约束和列级约束两种。
列级约束是字段定义的一部分,只能够应用在一个列上;而表级约束的定义独立于列的定义,它可以应用于一个表中的多个列。
10.填写下面的语句,使其可以为Class表的ID列添加一个名为PK_CLASS_ID的主键约束。
ALTERTABLEClass
AddconstraintPK_CLASS_ID
PRIMARYKE(YD)
II.假设已经创建了CHAINED_ROW表,填写下面的语句,以便对“业务员信息”表进行
链接记录分析:
ANALYZETABLE业务员信息
Listchainedrowsintochained_rows
二、选择题
1.下列哪个对象属于模式对象?
A.数据段B.盘区C.表D.表空间
2.关于模式的描述下列哪一项不正确?
C
A.表或索引等模式对象一定属于某一个模式
B.在Oracle数据库中,模式与数据库用户是一一对应的
C.一个表可以属于多个模式D.—个模式可以拥有多个表
3.如果一个表中某条记录的一个字段暂时不具有任何值,那么在其中将保存什么内容?
C
A.空格字符B.数字0C.NULLD.该字段数据类型的默认值
4.下列哪一项不是伪列ROWID的作用?
D
A.保存记录的物理地址B.快速查询指定的记录C.标识各条记录D.保存记录的头信息
5.下列哪一项错误地描述了默认值的作用?
B
A.为表中某列定义默认值后,如果向表中添加记录而未为该列提供值,则使用定义的默认值
代替
B.如果向表中添加记录并且为定义默认值的列提供值,则该列仍然使用定义的默认值
C.如果向表中添加记录并且为定义默认值的列提供值,则该列使用提供的值
D.向表中添加记录时,如果定义默认值的列提供值为NULL则该列使用NULL值
6.某用户需要创建一个很小的表,但是该表会被许多查询使用,这时用户应当在创建该表时
指定下列哪个子句?
B
A.PCTFREE和PCTUSEDB.CACHEC.NOLOGGING
7.为了减少表中的链接记录和迁移记录,应当增大表的哪一个存储参数?
9.如果为表Employee添加一个字段Email,现在规定每个雇员都必须具有唯一的Email地
址,则应当为Email字段建立哪种约束?
B
第六章
一、填空题
1.在使用逗号连接的多表查询中,为了防止出现笛卡儿积,需要SELECT语句的Where子
句中提供连接条件。
2.使用逗号连接的多表查询中,用户可以根据下述基本原则创建需要的各种查询:
From子
句应当包括所有的表名,在Where子句中应定义一个连接条件,当列名为多个表共有时,
列名必须被限制。
3.自然连接为具有相同名称的列自动进行记录匹配,它不必指定任何同等连接条件。
4.集合运算符UNION实现了集合的并运算,操作INTERSECT实现了对集合的交运算,而MINUS则实现了减运算。
Intersect,intersect
5.使用关键字连接子查询时,EXISTS关键只注重子查询是否返回行,如果子查询返回一个
或多个行,那么便返回为真,否则为假。
二、选择题
1.下列哪一种连接与逗号分隔连接执行的效果相同?
C
A.
D.内连接
D.全连接
D.ORDERBY
外连接B.交叉连接C.自然连接
2.如果只需要返回匹配的列,则应当使用哪种连接?
A
A.内连接B.交叉连接C.左连接
3.下列SELECT语句中,哪些子句可以包含子查询?
C
A.SELECTB.GROUPBYC.WHERE
4.如果使用逗号分隔连接查询两个表,其中一表有20行,而另一个表有50行,如果未使用
WHERE子句,则将返回多少行?
B
A.20B.1000C.50D.500
5.下列的SELECT语句中哪个不能正常运行?
D
A.
SELECTSTD,SNAME,SCLASS,CNAMEFROMSTUDENTS,CLASSCWHERESCLASS=CID;
B.
SELECT*FROMSTUDENTS,CLASSCWHERESCLASS=CID;
C.
SELECTS.SID,S.NAME,SCLASS,C.CNAMEFROMSTUDENTS,CLASSCWHERES.SCLASS=C.CID;
D.
SELECTS.SID,S.SNAME,SCLASS,C.CNAMEFROMSTUDENT
WHERESCLASSSIN(SELECTCIDFROMCLASC);
6.下面的ASELECT语句用于查询SCHOOL模式中的STUDENTCLASS和
DEPARTMEN表中的信息。
完成该语句,使其可以正常运行。
SELECTs.sname,s.saddress,c.cname,D.DNAME,D.DOFFICE
FROMSTUDENTSCLASSCDEPARTMENTD
WHERED.DNAME法律系';
A.JOIN、ONS.SCLASS=C.CIDJOIN、OND.DID=C.DEPARTMENT
B.NATURALJOINOND.DID=C.DEPARTMENTJOIN、ONS.SCLASS=C.CID
C.CROSSJOINONS.SCLASS=C.CIDJOIN、OND.DID=C.DERPARTMENT
D.JOIN、ONS.SCLASS=C.CIDNATURALJOINOND.DID=C.DEPARTMENT
7.在下面各选项中,B与下面SELECT语句的查询结果相同。
SELECTSID,SNAME,SADDRESSFROMSTUDENT
WHERESCLASS='C0010545'ORSCLASSIN(SELECTCIDFROMCLASS
WHEREDEPARTMENTIN(
SELECTDIDFROMDEPARTMENT
WHEREDNAME化'工系'));
A.
SELECTSID,SNAME,SADDRESSFROMSTUDENTWHERESCLASS='C0010545'INTERSECT
SELECTSID,SNAME,SADDRESSFROMSTUDENTS,CLASSC
WHERES.SCLASS=C.CIDANDC.DEPARTMENTIN
(SELECTDIDFROMDEPARTMENTWHEREDNAttl工系');
B.
SELECTSID,SNAME,SADDRESSFROMSTUDENTWHERESCLASS='C0010545'
UNION
SELECTSID,SNAME,SADDRESSFROMSTUDENTS,CLASSC
WHERES.SCLASS=C.CIDANDC.DEPARTMENTIN
(SELECTDIDFROMDEPARTMENTWHEREDNAME工系');
C.
SELECT*FROMSTUDENTWHERESCLASS='C0010545'
UNION
SELECT*FROMSTUDENTS,CLASSC
WHERES.SCLASS=C.CIDANDC.DEPARTMENTIN
(SELECTDIDFROMDEPARTMENTWHEREDNAME工系');
D.
SELECTSID,SNAME,SADDRESSFROMSTUDENTWHERESCLASS='C0010545'
MINUS
SELECTSID,SNAME,SADDRESSFROMSTUDENTS,CLASSC
WHERES.SCLASS=C.CIDANDC.DEPARTMENTIN
(SELECTDIDFROMDEPARTMENTWHEREDNAME工系');
第七章
一、填空题
1.PL/SQL程序块主要包含3个主要部分:
声明部分、可执行部分和异常处理部分<
2.使用显式游标主要有4个步骤:
声明游标、打开游标、检索数据、关闭游标。
3.在PL/SQL中,如果SELECT语句没有返回列,则会引发ORACLE错误,并引发
no_data_found异常。
4.自定义异常必须使用raise语句引发。
5.查看操作在数据表中所影响的行数,可通过游标的%RowCount属性实现。
6.查看下面的程序块,DBMS_OUTPU将显示什么结果?
N
DECLARE
var_aCHAR
(1):
='N:
BEGIN
DECLARE
var_aCHAR
(2);
BEGIN
var_a:
='Y:
END;
DBMS_OUTPUT.put_line(var_a);
END;
7.查看下面的程序块,其中变量var_b的结果为5。
DECLARE
Var_anumber:
=1200;
Var_bnumber;
BEGIN
IFvar_a>500THEN
var_b:
=5;
ELSIFvar_a>1000THEN
var_b:
=10;
ELSE
var_b:
=8;
ENDIF;
END;
8.下列程序计算由0~9之间的任意3个不相同的数字组成的三位数,共有多少种不同的组合
方式?
完成下列程序使其能够正确运行。
DECLARE
counternumber:
=0;
BEGIN
FORiIN1..9LOOP
FORjIN0..9LOOP
IFi!
=jTHEN
FORkIN0..9LOOP
IFk!
=iandk!
=jTHENcounter:
=counter+1;
ENDIF;
ENDLOOP;
ENDIF;
ENDLOOP;
ENDLOOP;
DBMS_OUTPUT.put_line(counter);
END;
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%FOUNDB.SQL%ROWCOUNTC.SQL%COUNTDD.SQL%NOTFOUND
7.在定义游标时使用的FORUPDATE子句的作用是B
A.执行游标B.执行SQL语句的UPDAT语句C.对要更新表的列进行加锁D.都不对
A.循环隐含使用FETCH获取数据B.循环隐含使用OPEN打开记录集
C.终止循环操作也就关闭了游标D.游标FOR循环不需要定义游标
9.下列哪个关键字用来在IF语句中检查多个条件?
B\C
A.ELSEIFB.ELSIFC.ELSIFD.ELSIFS
10.如何终止LOOP循环,而不会出现死循环?
C
A.在LOOP语句中的条件为FALSE时停止B.这种循环限定的循环次数,它会自动终止循环
C.EXITWHEN语句中的条件为TRUED.EXITWHEN语句中的条件为FALSE
11.下列哪一项可以正确引用记录表变量中的一个值?
B
A.tab_abc
(1);B.tab_abc⑴.colC.tab_abc.col;D.tab_abc.first();
12.如果PL/SQL程序块的可执行部分引发了一个错误,则程序的执行顺序将发生什么变化?
A
A.程序将转到EXCEPTIO部分运行B.程序将中止运行C.程序仍然正常运行D.以上都不对
第八章
、填空题
1.在下面程序的空白处填写一定的代码,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Oracle10g 数据库 管理 应用 开发 标准 教程 课后 习题 答案 包括 16 章精讲