Oracle数据库应用 复习题及答案.docx

上传人:b****6 文档编号:5963826 上传时间:2023-01-02 格式:DOCX 页数:17 大小:24.09KB
下载 相关 举报
Oracle数据库应用 复习题及答案.docx_第1页
第1页 / 共17页
Oracle数据库应用 复习题及答案.docx_第2页
第2页 / 共17页
Oracle数据库应用 复习题及答案.docx_第3页
第3页 / 共17页
Oracle数据库应用 复习题及答案.docx_第4页
第4页 / 共17页
Oracle数据库应用 复习题及答案.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

Oracle数据库应用 复习题及答案.docx

《Oracle数据库应用 复习题及答案.docx》由会员分享,可在线阅读,更多相关《Oracle数据库应用 复习题及答案.docx(17页珍藏版)》请在冰豆网上搜索。

Oracle数据库应用 复习题及答案.docx

Oracle数据库应用复习题及答案

Oracle数据库应用复习题

(参考答案见P15)

一、选择题

1、以下()内存区不属于SGA。

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

2、一个数据库由若干个()组成。

A.段B.表空间C.块D.区

3、在Oracle中创建用户时,若未使用DEFAULTTABLESPACE关键字,则Oracle就将()表空间分配给用户作为默认表空间,将()表空间分配给用户作为临时表空间。

A.TEMPB.USERSC.SYSTEMD.EXAMPLE

4、监听并接受来自客户端应用程序连接请求的服务是()。

A.OracleCSService

B.OracleDBConsoleSID

C.OracleJobScheduler

D.OracleOraDb10g_home1TNSListener

5、()是一个小二进制文件,它维护着数据库的全局物理结构,用以支持数据库成功地启动和运行。

A.数据文件B.控制文件C.日志文件D.参数文件

6、()进程把修改过的数据块从内存写回到数据库的数据文件中。

A.DBWRB.LGWRC.CKPTD.SMON

7、()的任务是将已经写满的联机日志文件复制到归档日志文件中。

这仅在数据库运行在归档模式下时才发生。

A.恢复进程B.进程监视进程C.作业队列D.归档进程

8、()数据库应用架构又称为“瘦客户机”模式。

A.多磁盘结构B.两层模式C.三层模式D.磁盘映像

9、数据字典表保存表、索引、视图以及所有其他数据结构的信息。

它们属于()用户。

A.SYSB.SYSTEMC.SCOTTD.SYSMAN

10、如果用户要安装、查看和卸载Oracle数据库系统,就需要使用()。

A.通用安装器B.数据库配置助手

C.企业管理器D.网络配置助手

11、如果用户需要在安装好Oracle的系统上创建、修改和删除数据库,就需要使用()。

A.通用安装器B.数据库配置助手

C.企业管理器D.网络配置助手

12、要删除一个大表里的所有记录,并释放占用的表空间,可以使用()命令。

A.DELETEFROM表名;B.DELETE表名;

C.TRUNCATETABLE表名;D.TRUNCATE表名;

13、在游标的属性中,()指出是否发现一条记录。

A.%ISOPENB.%FOUND

C.%NOTFOUNDD.%ROWCOUNT

14、要以自身的方案创建私有同义词,用户必须拥有()系统权限。

A.CREATEPRIVATESYNONY

B.CREATESYNONYM

C.CREATEPUBLICSYNONYM

D.CREATEANYSYNONYM

15、可以利用()伪列来访问序列。

A.NEXTVAL和PREVAL

B.CURRVAL和NEXTVAL

C.CACHE和NOCACHE

D.MAXVALUE和MINVALUE

16、()语句在执行语句前先计算选择器的值。

A.IF-THENB.IF-THEN-ELSE

C.FORD.CASE

17、以零作除数时会引发()异常。

A.VALUE-ERRORB.ZERO-DIVIDE

C.STORAGE_ERRORD.NO_DATA_FOUND

18、显式游标在PL/SQL程序的()部分声明。

A.BEGINB.LOOP

C.DECLARED.START

19、要更新游标结果集中的当前行,应使用()子句。

A.WHERECURRENTOFB.FORUPDATE

C.FORDELETED.FORMODIFY

20、以下不属于命名PL/SQL块的是()。

A.函数B.过程

C.触发器D.游标

21、子程序的()模式参数可以在调用子程序时指定一个常量。

A.INB.OUT

C.INOUTD.INOUT

22、数据字典()包含存储过程的代码文本。

A.USER_OBJECTSB.USER_TEXT

C.DBA_PROCEDURED.USER_SOURCE

23、在PL/SQL块中,下列()变量名合法。

A.3dffswaB.AVariable

C.Rose$$_1D.Ta%a

24、游标的属性中,()的意义是指出是否打开了游标。

A.%FOUNDB.%ISOPEN

C.%NOTFOUNDD.%ROWCOUNT

25、()对查询结果没有任何影响,但能提高获取查询结果的速度。

A.表B.索引C.视图D.序列

26、()是一个表示表的数据的数据库对象,它允许用户从一个或一组表中通过一定的查询语句建立一个“虚表”。

A.表B.索引C.视图D.序列

27、()是一种可被多个用户使用的用于产生一系列惟一数字的数据库对象。

A.表B.索引C.视图D.序列

28、下列表达1979年10月8日的日期表示中,()是合法的日期格式。

A.8-10-79B.8-10月-79

C.10月-8-79D.79-10月-8

29、下列数据库模式对象中,具有EXECUTE对象权限的是()。

A.表B.视图

C.过程D.序列

30、下列数据库模式对象中,不具有SELECT对象权限的是()。

A.表B.视图

C.过程D.序列

二、填空题

1、一个为一个数据库用户所拥有,并且名称与用户名相同,是一个数据库的逻辑结构的集合。

2、视图包含了当前用户方案下的存储过程定义文本。

3、数据库的结构分为和。

4、Oracle的进程分为、和3种。

5、Oracle权限分为、。

6、给用户授予和回收权限的命令的关键字分别是和。

7、PL/SQL是和的结合。

8、PL/SQL中的块主要有两种类型:

和。

9、是Oracle数据库中数据的逻辑组织,它存储段的集合,在操作系统级映射到一个或多个上去。

10、一个就是一个数据库对象的别名,当应用时,Oracle服务器会自动用来代替。

11、每个Oracle10g数据库创建后都会有4个默认的数据库用户:

、、和。

12、要使新建的用户能连接到数据库,必须先授予其角色。

13、在创建和修改用户时,设置口令的子句应以开头。

14、一个Oracle数据库可以包含数据文件。

15、基于视图进行数据查询时,限制;但基于视图进行数据更新时,只能对基于的视图进行数据更新。

16、变量赋值有两种方式:

用赋值运算符为单个变量赋值;通过或语句给个变量同时赋值。

17、Oracle中主要的复合类型有:

、和。

18、使用使一个变量的类型定义参考另一个已经定义的变量的类型,或参考表中某个字段的数据类型。

19、使用使一个变量的类型参考另一个表或视图的结构,变量内的分量名字、数据类型与表或视图结构中的字段名字、数据类型完全一致。

20、在PL/SQL中循环结构有3种类型,即循环、循环和循环。

21、在循环中可以用表示递减循环。

22、要对查询结果集中的多行数据进行逐行处理,应该使用技术。

23、在声明游标的SELECT语句中不能使用子句。

24、在显式游标的使用过程中,返回从游标中取出的记录总行数。

25、使用游标FOR循环时,不能使用语句、语句和语句。

26、使用游标FOR循环时,游标FOR循环中用到的记录变量需要事先声明,该记录变量是由系统隐式定义的与游标数据行一致的记录型变量。

27、异常分为:

和两种。

28、存储过程的参数模式有:

、和3种。

29、修改存储过程或函数的语法格式与定义存储过程或函数的语法格式的不同之处是。

30、一个触发器由、、、和5部分组成。

三、问答题

1、使用什么工具创建和删除数据库?

2、使用什么工具配置和修改监听程序和数据库的网络服务名?

3、Oracle数据库设计的步骤是什么?

4、表空间与数据库、数据文件之间的关系是怎样?

5、若要备份/恢复某个表空间,需要将表空间设置为什么状态?

在ALTERTABLESPACE命令中用什么子句来设置?

6、如何删除表空间及表空间中包含的数据库对象?

7、什么是角色?

简述角色和用户之间的关系。

8、简述通过角色管理用户的权限具体步骤。

9、概要文件的作用是什么?

10、比较表和视图两者间的异同。

11、使用同义词有哪些好处?

12、一个PL/SQL块有哪几部分组成?

哪些是必须的?

哪写是可选的?

13、简述游标使用的步骤。

14、处理用户自定义异常的步骤有哪些?

15、比较存储过程和函数的异同。

16、比较存储过程和触发器的异同。

17、那个系统表存储了本方案存储过程、函数和触发器的信息?

18、简述游标的作用。

19、如果在调用存储过程时需要从存储过程返回值,应该使用参数。

20、创建表时,如果存在外键关系,则创建表的先后顺序有什么规定?

四、根据要求写命令

1、将user12方案下的staff表中性别(ssex)为男的记录复制成新表staff_bk1。

2、将user12方案下的staff表中性别(ssex)为女的记录添加到表staff_bk1中。

3、创建表空间tabs11,包含一个数据文件ygbxfile1.dbf,路径为“D:

\oracle\product\10.1.0\oradata\ygbx”,大小为10MB,如果数据文件已经存在,则被覆盖。

数据文件具有自动扩展属性,每次增量为128KB,最大值为100MB。

4、创建用户ygbx_user1,口令为“user1”,默认表空间为“tabs11”,临时表空间为“temp”,创建后解锁该用户。

5、创建一个角色ygbx_role1,并通过该角色将user12.staff表的增删改查权限授予所有用户。

6、为user12.staff表创建一个公用同义词staff_synonym。

7、定义一个记录变量c1,用于存放staff表中的一条记录。

8、根据ygbx数据库中的business表和staff表建立一个视图view1,通过view1可以查询每个员工的sno,sname,ssex,sbirthday,及员工所在企业编号(bno)和企业名称(bname)。

五、请写出以下PL/SQL程序块或子程序的功能或输出结果。

1、写出以下PL/SQL程序块的输出结果:

SETSERVEROUTPUTON

DECLARE

n1NUMBER(5);

n2NUMBER(5);

BEGIN

n1:

=10;

n2:

=10;

DECLARE

n1NUMBER(5);

BEGIN

n1:

=20;

n2:

=n1;

DBMS_OUTPUT.PUT_LINE('子块:

n1='||n1||',n2='||n2);

END;

DBMS_OUTPUT.PUT_LINE('主块:

n1='||n1||',n2='||n2);

END;

2、写出以下程序块的功能:

setserveroutputon

declare

r1scott.dept%rowtype;

begin

select*intor1fromscott.dept

Wheredeptno='10';dbms_output.put_line(r1.deptno||','||r1.dname||','||r1.loc);

end;

3、写出以下程序块的功能:

SETSERVEROUTPUTON

DECLARE

scorefloat:

=&score;

BEGIN

IFscore<0ORscore>100THEN

DBMS_OUTPUT.PUT_LINE('成绩不合理');

ELSIFscore>=60then

DBMS_OUTPUT.PUT_LINE('合格');

ELSE

DBMS_OUTPUT.PUT_LINE('不合格');

ENDIF;

END;

4、写出以下程序块的功能:

SETSERVEROUTPUTON

DECLARE

jNUMBER:

=1;

iNUMBER:

=1;

BEGIN

LOOP

j:

=j*i;

i:

=i+1;

EXITWHENi>10;

ENDLOOP;

DBMS_OUTPUT.PUT_LINE(j);

END;

5、写出以下程序块的输出结果:

SETSERVEROUTPUTON

DECLARE

sNUMBER:

=0;

BEGIN

FORiINREVERSE1..5LOOP

s:

=s+i;

DBMS_OUTPUT.PUT_LINE('i='||i)

ENDLOOP;

DBMS_OUTPUT.PUT_LINE('1--5的和为:

'||s);

END;

6、写出以下程序块的功能:

SETSERVEROUTPUTON

DECLARE

nNUMBER;

CURSORstaff3_cursorISSELECT*FROMstaffWHEREssex='男';--声明游标

c1staff3_cursor%rowtype;--定义参考游标结构的记录变量

BEGIN

selectcount(*)intonfromstaffwheressex='男';

OPENstaff3_cursor;--打开游标

FORiin1..nLOOP

FETCHstaff3_cursorintoc1;--提取游标数据行

DBMS_OUTPUT.PUT_LINE(c1.sno||','

||c1.sname||','||c1.sbirthday);

ENDLOOP;

CLOSEstaff3_cursor;--关闭游标

END;

7、写出下列存储过程的功能:

CREATEPROCEDUREstaff2_pro

(c1INCHAR,v1_staffOUTstaff%ROWTYPE)

AS

BEGIN

SELECT*INTOv1_staffFROMstaff

WHEREsno=c1;

END;

8、写出下列触发器的功能:

CREATETRIGGERstaff_trig

AFTERINSERTORUPDATEORDELETEONstaff

FOREACHROW

BEGIN

IFINSERTINGTHEN

DBMS_OUTPUT.PUT_LINE('正在向staff表插入数据!

');

ELSIFUPDATINGTHEN

DBMS_OUTPUT.PUT_LINE('正在staff中更新数据!

');

ELSIFDELETINGTHEN

DBMS_OUTPUT.PUT_LINE('正在staff删除数据!

');

ENDIF;

END;

六、编写程序

1、利用标准CASE语句根据grade变量的值ABCDE分别输出“优秀”、“良好”、“中等”、“及格”、“不及格”。

2、使用while循环,编程计算并输出n!

n从键盘输入。

3、将第五题中第6小题改写成带参数游标并使用while循环来实现。

4、将第五题中第6小题改写成不带参数的游标FOR循环来实现。

5、编写存储过程swap交换两个参数,并写出调用程序。

6、利用存储函数staff_func重做第五题第7小题。

参考答案

一、选择题

1.A

2.B

3.BA

4.D

5.B

6.A

7.D

8.C

9.A

10.A

11.B

12.C

13.B

14.B

15.B

16.D

17.B

18.C

19.A

20.D

21.A

22.D

23.C

24.B

25.B

26.C

27.D

28.B

29.C

30.C

二、填空题

1.方案/模式

2.USER_SOURCE

3.物理结构;逻辑结构;

4.用户进程;服务器进程;后台进程;

5.系统权限;对象权限;

6.GRANT;REVOKE;

7.过程语言PL;结构化查询语言SQL

8.无名块;命名的子程序;

9.表空间;数据文件;

10.同义词;同义词;同义词所代表的对象;同义词

11.SYS;SYSTEM;SYSMAN;DBSNMP;

12.CONNECT

13.IDENTIFIEDBY

14.一个或多个

15.没有;行列子集;

16.:

=;SELECTINTO或FETCHINTO;多

17.记录类型;数组类型;表类型

18.%TYPE

19.%ROWTYPE

20.LOOP;WHILE;FOR

21.FOR;REVERSE

22.游标

23.INTO

24.%ROWCOUNT

25.OPEN;FETCH;CLOSE

26.不

27.系统预定义异常;用户自定义异常

28.IN;OUT;INOUT

29.有没有ORREPLACE子句

30.触发依据;触发事件;触发时间;触发器类型;触发器主体

三、问答题

1.数据库配置助手

2.网络配置助手

3.需求分析;创建系统数据库;系统的安全性管理;创建数据库对象;创建存储过程、函数和触发器等高级对象;编写前台应用程序脚本,并完善DBMS.

4.关系:

一个数据库由多个表空间组成,一个表空间包含一个或多个数据文件。

5.脱机;OFFLINE

6.使用DROPTABLESPACE<表空间名>INCLUDINGCONTENTSANDDATAFILES;命令。

7.角色是一组权限的集合。

关系:

当把角色授予多个用户时,这些用户就具有相同的权限。

当角色的权限改变时,所有这些用户的权限也随之改变。

8.通过角色管理用户的步骤分为3步:

创建角色;给角色分配权限;将角色分配给用户。

9.概要文件的作用:

限制用户对资源的访问,并进行口令管理。

10.不同点:

表用于真正存放数据。

而视图并不存放数据,是虚表。

相同点:

表和视图都能用于数据查询及更新。

11.同义词的好处:

⏹数据库所有者想屏蔽要操作的对象名称。

⏹由于对象名过长不便于记忆和书写,这时可为对象起一个简短的别名。

⏹屏蔽远程服务器中对象的位置信息。

12.一个PL/SQL块由3个部分组成:

声明部分,执行部分和异常处理部分。

其中执行部分是必须的,而声明部分和异常处理部分是可选的。

13.使用游标的步骤:

声明游标,打开游标,从游标中取数据行进行处理,关闭游标。

14.处理用户自定义异常的步骤:

定义异常,触发异常,异常处理。

15.相同点:

存储过程和存储函数都能完成特定的操作。

不同点:

存储函数主要目的是为了返回一个值,存储过程可以使用OUT参数返回一个或多个值,也可以不返回值;存储过程使用语句格式进行调用,而存储函数只能在表达式中进行调用。

16.相同点:

存储过程和触发器都能完成特定的操作。

不同点:

存储过程在程序中被显式调用;而触发器不能被显式调用。

17.USER_SOURCE

18.使用游标技术可以方便地对查询结果集中的多行数据进行逐行处理。

19.OUT

20.先创建无外键关联的父表,再创建子表。

四、根据要求写命令

1.CREATETABLEstaff_bk1ASSELECT*FROMuser12.staffwheressex=’男’;

2.INSERTINTOstaff_bk1SELECT*FROMuser12.staffwheressex=’女’;

3.CREATETABLESPACEtabs11

DATAFILE‘D:

\oracle\product\10.1.0\oradata\ygbx\ygbxfile1.dbf’

SIZE10MREUSEAUTOEXTENDONNEXT128KMAXSIZE100M;

4.CREATEUSERygbx_user1

IDENTIFIEDBYuser1

DEFAULTTABLESPACEtabs11

TEMPORARYTABLESPACEtemp

ACCOUNTUNLOCK

5.分为以下3个步骤:

⏹CREATEROLEygbx_role1;

⏹GRANTSELECT,INSERT,UPDATE,DELETEONuser12.staffTOygbx_role1;

⏹GRANTygbx_role1TOPUBLIC;

6.CREATEPUBLICSYNONYMstaff_synonymFORuser12.staff;

7.c1staff%ROWTYPE;

8.CREATEVIEWview1AS

SELECTsno,sname,ssex,sbirthday,bno,bname

FROMbusiness,staff

WHEREbusiness.bno=staff.bno;

五、请写出以下PL/SQL程序块或子程序的功能或输出结果。

1、执行结果:

子块:

n1=20,n2=20

主块:

n1=10,n2=20

2、使用记录变量查询显示部门号为“10”的部门信息。

3、根据从键盘输入的百分制成绩,判断是否合格。

4、计算并显示10!

5、输出结果:

i=5

i=4

i=3

i=2

i=1

1—5的和为:

15

6、通过游标逐行显示staff表中性别为“男”的记录的sno,sname,sbirthday3个字段信息。

7、通过IN和OUT参数,查询并返回指定编号的员工记录。

8、创建行级触发器“staff_trig”,用于对表“staff”进行DML操作之后,显示相应的操作信息。

六、编写程序

1、SETSERVEROUTPUTON

DECLARE

gradeCHAR

(1):

='B';

BEGIN

CASEgrade

WHEN'A'THENDBMS_OUTPUT.PUT_LINE('优秀');

WHEN'B'THENDBMS_OUTPUT.PUT_LINE('良好');

WHEN'C'THENDBMS_OUTPUT.PUT_LINE('中等');

WHEN'D'THENDBMS_OUTPUT.PUT_LINE('及格');

WHEN'E'THENDBMS_OUTPUT.PUT_LINE('不及格');

ELSEDBMS_OUTPUT.PUT_LINE('不存在');

ENDCASE;

END;

2、SETSERVEROUTPUTON

DECLA

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 学科竞赛

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1