最新《Oracle数据库应用》练习题2资料.docx

上传人:b****7 文档编号:15356240 上传时间:2023-07-03 格式:DOCX 页数:15 大小:21.28KB
下载 相关 举报
最新《Oracle数据库应用》练习题2资料.docx_第1页
第1页 / 共15页
最新《Oracle数据库应用》练习题2资料.docx_第2页
第2页 / 共15页
最新《Oracle数据库应用》练习题2资料.docx_第3页
第3页 / 共15页
最新《Oracle数据库应用》练习题2资料.docx_第4页
第4页 / 共15页
最新《Oracle数据库应用》练习题2资料.docx_第5页
第5页 / 共15页
最新《Oracle数据库应用》练习题2资料.docx_第6页
第6页 / 共15页
最新《Oracle数据库应用》练习题2资料.docx_第7页
第7页 / 共15页
最新《Oracle数据库应用》练习题2资料.docx_第8页
第8页 / 共15页
最新《Oracle数据库应用》练习题2资料.docx_第9页
第9页 / 共15页
最新《Oracle数据库应用》练习题2资料.docx_第10页
第10页 / 共15页
最新《Oracle数据库应用》练习题2资料.docx_第11页
第11页 / 共15页
最新《Oracle数据库应用》练习题2资料.docx_第12页
第12页 / 共15页
最新《Oracle数据库应用》练习题2资料.docx_第13页
第13页 / 共15页
最新《Oracle数据库应用》练习题2资料.docx_第14页
第14页 / 共15页
最新《Oracle数据库应用》练习题2资料.docx_第15页
第15页 / 共15页
亲,该文档总共15页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

最新《Oracle数据库应用》练习题2资料.docx

《最新《Oracle数据库应用》练习题2资料.docx》由会员分享,可在线阅读,更多相关《最新《Oracle数据库应用》练习题2资料.docx(15页珍藏版)》请在冰点文库上搜索。

最新《Oracle数据库应用》练习题2资料.docx

最新《Oracle数据库应用》练习题2资料

《Oracle数据库应用》

一、选择题(20分)

1.有一产品表(编号,名称,价格,数量,所属分类),下列语法不正确的是()

A、select*from产品表where价格>1000

B、selectsum(价格)from产品表groupby所属分类havingmax(价格)>1000

C、select所属分类,sum(价格)from产品表where价格>1000groupby所属分类

D、select所属分类,sum(价格)from产品表wheremax(价格)>1000groupby所属分类

2.在建表时如果希望某列的值,在一定的范围内,应建什么样的约束?

()

A、primarykey

B、unique

C、check

D、notnull

3.你要在Oracle中定义SQL查询。

下列哪个数据库对象不能直接从select语句中引用?

()

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

4.SQL*Plus中发出的下列语句:

selectceil(256.342),floor(256.342),round(256.342),trunc(256.342)fromdual;下列哪个函数不返回结果256?

()

A、ceil()B、floor()C、round()D、trunc()

5.在Oracle数据库的逻辑结构中有以下组件:

A表空间B数据块C区D段,这些组件从大到小依次是()。

A、表空间→数据块→区→段

B、表空间→段→区→数据块

C、表空间→区→数据块→段

D、段→表空间→区→数据块

6.有数据”test”分别存放到char(10)和varchar2(10)类型的字段中,其实际存储长度为()

A、1010B、44

C、104D、410

7.SQL语句中修改表结构的命令是()。

A、MODIFYTABLEB、MODIFYSTRUCTURE

C、ALTERTABLED、ALTERSTRUCTURE

8.DELETEFROMSWHERE年龄>60语句的功能是______。

A、从S表中删除年龄大于60岁的记录

B、删除S表中所有数据

C、删除S表

D、删除S表的年龄列

9.在SQL中,删除视图用_____。

A、DROPSCHEMA命令B、CREATETABLE命令

C、DROPVIEW命令D、DROPINDEX命令

10.下列哪个命令是用于ORACLE中数据导出的()

A、expB、impC、inputD、output

11.ORACLE数据库物理结构包括以下三种文件,以下不属于的是()

A、系统文件B、日志文件C、数据文件D、控制文件

12.假定有一张表用户表users,其中一身份证字段ID_card。

为了维护数据的完整性,在设计数据库时,最好对ID_card字段添加约束,请问应该添加什么约束(  )

A、primarykeyB、checkC、defaultD、notnull

13.下面四个语句中哪一个是正确的?

()

A、SELECT*,ENAMEFROMEMP;

B、DELETE*FROMEMP;

C、SELECTDISTINCTEMPNO,HIREDATEFROMEMP;

D、SELECTENAME|SALAS“name”FROMEMP;

14.当给一个有主键的表中插入重复行时,将引发下列哪个异常?

()

A、NO_DATA_FOUNDB、TOO_MANY_ROWS

C、DUP_VAL_ON_INDEXD、ZERO_DIVIDE

15.下面哪个命令不属于数据操纵语言(DML)()

A、ALTER…

B、INSERT…

C、UPDATE…

D、GRANT…

16.删除emp表中所有数据,且可以rollback,以下语句哪个命令可以实现( )

A、truncatetableemp

B、droptableemp

C、delete*fromemp

D、deletefromemp

17.更改oracle用户HR,使其变为不可用(锁定)状态(  )

A、UPDATEUSERHRACCOUNTDISABLE;

B、UPDATEUSERHRACCOUNTLOCK;

C、ALTERUSERHRACCOUNTLOCK;

D、ALTERUSERHRACCOUNTDISABLE;

18.INSERTINTOTESTVALUES(‘&ID’,’&NAME’);语句在执行时将()

A、编译错:

提示变量未定义

B、运行错:

提示不能识别符号

C、将值&ID和&NAME插入到表中

D、提示用户输入输入ID和NAME的值,再将输入值插入表中

19.在Oracle中,使用下列的语句:

CREATEPUBLICSYNONYMpartsFORScott.inventory;

 完成的任务是(  )。

A、需要给出schema被除去的对象名

B、指定了新的对象权限

C、指定了新的系统权限

D、给Scott.inventory对象创建一个公用同义词parts

20.在PL/SQL块中,以零作除数时会引发下列( )异常。

A、VALUE_ERROR

B、ZERO_DIVIDE

C、VALUE_DIVIDE

D、ZERO_ERROR

二、填空题(20分)

1.运行sql脚本命令是____Start脚本或@脚本_____

2.显示当前用户名的命令____Showuser____

3.显示表emp的结构命令____Descemp____

4.权限是指执行特定类型sql命令或是访问其它方案对象的权利,包括__系统权限和对象权限_____两种。

5.pl/sql块为变量赋值不同于其它的编程语言,需要在等号前面加___冒号__

6.定义变量v_name,该变量的数据类型与emp表的ename字段数据类型一致,定义变量的语句是_V_nameemp.ename%type__

7.数据控制语句DCL包含授权语句grant和_Revoke_

8.oracle中的注释符号有--和__/**/_

9.在Oracle中创建用户时,若未提及DEFAULTTABLESPACE关键字,则Oracle就将__system_____表空间分配给用户作为默认表空间。

10.写出数据库默认的两个用户的名称____system和sys___

11.oracle数据库中的数据文件的扩展名是什么?

__.dbf_____

12.控制文件的扩展名是什么?

__.ctl__

13.写出PL/SQL程序的三个组成部分__声明部分______、__执行部分________和____异常处理部分____

14.写出数据字典的三种前缀,三种前缀:

__DBA____ALL___和___USER___

15.Oracle数据库的存储结构分为物理结构和____逻辑结构_____。

三、判断题(10分)

1.索引的主要目标是提高访问的速度。

(Y)

2.包头没有包体是可以独立存在的。

(Y)

3.OUT不是PL/SQL过程和函数的参数模式。

(N)

4.存储过程与触发器的主要区别就是,存储过程是由用户或应用程序显示调用,而触发器是被事件自动触发。

(Y)

5.提供对对象的公共访问不是同义词具有的用途(N)

6.Trancatetable学生,该语句表示删除学生表。

(N)

7.创建视图的参数withreadonly,规定视图中不能执行插入、修改、删除和查询操作。

(N)

8.创建对象类型使用createtype语句(Y)

9.PL/SQL程序块最终由关键字end结束。

(Y)

10.For循环中,每循环一次,循环变量自动增加一个步长的值。

(Y)

四、简答题(15分)

1.列出oracle中索引的类型(5分)列出oracle中索引的类型(5分)

答:

按照数据存储方式,可以分为B*树、反向索引、位图索引;

按照索引列的个数分类,可以分为单列索引、复合索引;

按照索引列值的唯一性,可以分为唯一索引和非唯一索引。

此外还有函数索引,全局索引,分区索引...

2.简单列出几种当前流行的关系数据库系统?

(5分)

答:

Oracle,MySql,MsSql,DB2,Sybase.

3.简单介绍表空间,并写出一种建立表空间的方法。

(5分)

答:

表空间是Oracle逻辑存储结构的最高层,一个数据库就是若干个表空间组成的。

每个表空间对应操作系统中的一个或多个数据文件,但每个数据文件只能属于一个表空间。

Createtablespace表空间名datafile数据文件名;

五、程序题(35分)

Scott用户下有表emp(EMPNO,ENAME,JOB,MGR,HIREDATE,SAL,COMM,DEPTNO)和表dept(DEPTNO,DNAME,LOC),其中emp表为雇员表,各字段的中文含义为:

雇员表(雇员号,雇员名,职位,上级编号,入职时间,月工资,奖金,部门号);dept表为部门表,各字段的中文含义为:

部门表(部门编号,部门名,部门所在地点)。

1.创建表空间mysp1,文件大小5M,文件名可以复用,数据文件放在‘c:

\mysp1.dbf’。

创建表空间mysp1,文件大小5M,文件名可以复用,数据文件放在‘c:

\mysp1.dbf’。

createtablespacemysp1datafile'c:

\mysp1.dbf'size5mreuseuniformsize128k;

2.在mysp1表空间创建表myemp,字段名及类型内容同scott用户下的emp。

在mysp1表空间创建表myemp,字段名及类型内容同scott用户下的emp。

Createtablemyempasselect*fromscott.empdefaulttablespacemysp1

3.修改myemp表将所有销售人员(即职位job为销售salesman)的奖金comm加100

修改myemp表将所有销售人员(即职位(job)为销售salesman)的奖金(comm)加100

Updatemyempsetcomm=comm+100wherejob=‘salesman’

4.创建用户fox,密码f123,授予fox连接数据库,完全访问emp表和dept表的权限。

创建用户fox,密码f123,授予fox连接数据库,完全访问emp表和dept表的权限。

createuserfox2identifiedbyf123;

grantcreatesessiontofox;

grantselectonscott.emptofox;

5.使用emp表查询工资高于500或者是岗位为MANAGER的雇员,同时还要满足他们的姓名首字母为大写的J?

使用emp表查询工资高于500或者是岗位为MANAGER的雇员,同时还要满足他们的姓名首字母为大写的J?

select*fromscott.empwhere(sal>500orjob='MANAGER')andenamelike'J%';

6.使用emp表显示每个部门的每种岗位的员工的平均工资和最低工资?

使用emp表显示每个部门的每种岗位的员工的平均工资和最低工资?

selectdeptno,job,avg(sal)as平均工资,min(sal)as最低工资fromempgroupbydeptno,job;

7.编写PL/SQL程序块,实现查询某个雇员的岗位,用中文显示岗位名称。

CLERK普员工,SALESMAN销售,MANAGER经理,ANALYST分析师,PRESIDENT总裁(使用case语句)

编写PL/SQL程序块,实现查询某个雇员的岗位,用中文显示岗位名称。

CLERK普员工,SALESMAN销售,MANAGER经理,ANALYST分析师,PRESIDENT总裁(使用case语句)

setserverouton

declare

v_jobscott.emp.job%type;

v_shuchuvarchar2(30);

V_empnovarchar2(20);

begin

V_empno:

=&empno;

selectjobintov_jobfromscott.empwhereempno=v_empno;

casev_job

when'CLERK'thenv_shuchu:

='得职位是:

普通员工';

when'SALESMAN'thenv_shuchu:

='得职位是:

销售员';

when'MANAGER'thenv_shuchu:

='得职位是:

经理';

when'ANALYST'thenv_shuchu:

='得职位是:

分析师';

elsev_shuchu:

='总裁';

endcase;

dbms_output.put_line(v_empno||v_shuchu);

exception

whenno_data_foundthen

dbms_output.put_line('您输入的员工不存在!

');

end;

8.编写程序块,用PL/sql实现输出7369号员工的姓名。

编写程序块,用PL/sql实现输出7369号员工的姓名。

Declare

V_nameemp.ename%type;

Begin

Selectenameintov_namefromempwhereempno=’7369’;

Dbms_output.put_line(v_name)

End;

9.编写函数annual_incomec,实现输入雇员的姓名,返回该雇员的年薪

编写函数annual_incomec,实现输入雇员的姓名,返回该雇员的年薪

createfunctionannual_incomec(namevarchar2)

returnnumberis

annual_salazynumber(7,2);

begin

--执行部分

selectsal*12+nvl(comm,0)intoannual_salazyfromempwhereename=name;

returnannual_salazy;

end;

/

10.编写一个过程,可以输入一个雇员名,如果该雇员的工资低于2000,就给该员工工资增加10%。

编写一个过程,可以输入一个雇员名,如果该雇员的工资低于2000,就给该员工工资增加10%。

createorreplaceproceduresp_pro6(spNamevarchar2)is

--定义

v_salemp.sal%type;

begin

--执行

selectsalintov_salfromempwhereename=spName;

--判断

ifv_sal<2000then

updateempsetsal=sal+sal*10%whereename=spName;

endif;

end;

11.创建角色myrole,将连接数据库,创建表,创建用户,创建角色,在任何模式修改表,完全访问emp表的权限赋予myrole。

创建角色myrole,将连接数据库,创建表,创建用户,创建角色,在任何模式修改表,完全访问emp表的权限赋予myrole。

createrolemyrole;

grantcreatesession,createtable,createuser,createrole,alteranytabletomyrole;

grantallonscott.emptomyrole;

12.回收myrole角色中完全访问emp表的权限

回收myrole角色中完全访问emp表的权限

revokeallonscott.empfrommyrole;

 

《Oracle数据库应用》答案

一、选择题(20分)

1—5DCCAB6—10CCACA11—15AACCA16—20DCDDB

二、填空题(20分)

1.Start脚本或@脚本2.Showuser3.Descemp4.系统权限和对象权限5.冒号6.V_nameemp.ename%type7.Revoke8./**/9.system10.system和sys11..dbf12..ctl13.声明部分、执行部分、异常处理部分。

14.DBAALLUSER15.逻辑结构

三、判断题(10分)

1—10YYNYNNNYYY

四、简答题(15分)

1.列出oracle中索引的类型(5分)

答:

按照数据存储方式,可以分为B*树、反向索引、位图索引;

按照索引列的个数分类,可以分为单列索引、复合索引;

按照索引列值的唯一性,可以分为唯一索引和非唯一索引。

此外还有函数索引,全局索引,分区索引...

2.简单列出几种当前流行的关系数据库系统?

(5分)

答:

Oracle,MySql,MsSql,DB2,Sybase.

3.简单介绍表空间,并写出一种建立表空间的方法。

(5分)

答:

表空间是Oracle逻辑存储结构的最高层,一个数据库就是若干个表空间组成的。

每个表空间对应操作系统中的一个或多个数据文件,但每个数据文件只能属于一个表空间。

Createtablespace表空间名datafile数据文件名;

五、程序题(35分)

1.创建表空间mysp1,文件大小5M,文件名可以复用,数据文件放在‘c:

\mysp1.dbf’。

createtablespacemysp1datafile'c:

\mysp1.dbf'size5mreuseuniformsize128k;

2.在mysp1表空间创建表myemp,字段名及类型内容同scott用户下的emp。

Createtablemyempasselect*fromscott.empdefaulttablespacemysp1

3.修改myemp表将所有销售人员(即职位(job)为销售salesman)的奖金(comm)加100

Updatemyempsetcomm=comm+100wherejob=‘salesman’

4.创建用户fox,密码f123,授予fox连接数据库,完全访问emp表和dept表的权限。

createuserfox2identifiedbyf123;

grantcreatesessiontofox;

grantselectonscott.emptofox;

5.使用emp表查询工资高于500或者是岗位为MANAGER的雇员,同时还要满足他们的姓名首字母为大写的J?

select*fromscott.empwhere(sal>500orjob='MANAGER')andenamelike'J%';

6.使用emp表显示每个部门的每种岗位的员工的平均工资和最低工资?

selectdeptno,job,avg(sal)as平均工资,min(sal)as最低工资fromempgroupbydeptno,job;

7.编写PL/SQL程序块,实现查询某个雇员的岗位,用中文显示岗位名称。

CLERK普员工,SALESMAN销售,MANAGER经理,ANALYST分析师,PRESIDENT总裁(使用case语句)

setserverouton

declare

v_jobscott.emp.job%type;

v_shuchuvarchar2(30);

V_empnovarchar2(20);

begin

V_empno:

=&empno;

selectjobintov_jobfromscott.empwhereempno=v_empno;

casev_job

when'CLERK'thenv_shuchu:

='得职位是:

普通员工';

when'SALESMAN'thenv_shuchu:

='得职位是:

销售员';

when'MANAGER'thenv_shuchu:

='得职位是:

经理';

when'ANALYST'thenv_shuchu:

='得职位是:

分析师';

elsev_shuchu:

='总裁';

endcase;

dbms_output.put_line(v_empno||v_shuchu);

exception

whenno_data_foundthen

dbms_output.put_line('您输入的员工不存在!

');

end;

8.编写程序块,用PL/sql实现输出7369号员工的姓名。

Declare

V_nameemp.ename%type;

Begin

Selectenameintov_namefromempwhereempno=’7369’;

Dbms_output.put_line(v_name)

End;

9.编写函数annual_incomec,实现输入雇员的姓名,返回该雇员的年薪

createfunctionannual_incomec(namevarchar2)

returnnumberis

annual_salazynumber(7,2);

begin

--执行部分

selectsal*12+nvl(comm,0)intoannual_salazyfromempwhereename=name;

returnannual_salazy;

end;

/

10.编写一个过程,可以输入一个雇员名,如果该雇员的工资低于2000,就给该员工工资增加10%。

createorreplaceproceduresp_pro6(spNamevarchar2)is

--定义

v_salemp.sal%type;

begin

--执行

selectsalintov_salfromempwhereename=spName;

--判断

ifv_sal<2000then

updateempsetsal=sal+sal*10%whereename=spName;

endif;

end;

11.创建角色myrole,将连接数据库,创建表,创建用户,创建角色,在任何模式修改表,完全访问emp表的权限赋予myrol

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

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2