《Oracle数据库应用》练习题1.docx

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

《Oracle数据库应用》练习题1.docx

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

《Oracle数据库应用》练习题1.docx

《Oracle数据库应用》练习题1

《Oracle数据库应用》

一、选择题

1.在Windows操作系统中,Oracle的____服务监听并接受来自客户端应用程序的连接请求。

A、OracleHOME_NAMETNSListener

B、OracleServiceSID

C、OracleHOME_NAMEAgent

D、OracleHOME_NAMEHTTPServer

2.ORACLE中,用来判断列值是否为空的操作符是____

A、==NULLB、ISNULLC、ASNULLD、NULLIS

3.在CUSTOMER中有一列为单价(PRICE),写一个SELECT命令显示所有单价在500以上的查询语句______。

A、SELECT*FROMCUSTOMERWHEREPRICEMORETHAN500;

B、SELECT*FROMCUSTOMERWHEREPRICEBETWEEN500AND*;

C、SELECT*FROMCUSTOMERWHEREPRICELIKE'%500%';

D、SELECT*FROMCUSTOMERWHEREPRICE>=500;

4.在Oracle中,使用HAVING子句也可以进行条件查询,以下选项说法是正确的是______.

A、HAVING子句和WHERE子句相同B、HAVING子句用于行的条件查询

C、HAVING子句用于已分组结果的条件查询D、以上皆非

5.在安装oracle时,自动开启了的账号是()

A、SystemB、SaC、ScottD、Administrator

6.下列哪一项是Oracle数据库中最小的存储分配单元()

A、表空间B、段C、盘区D、数据块

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

创建数据库时,同时就提供了与之对应的控制文件。

A、数据文件B、控制文件C、重做日志文件D、以上都不对

8.若用户要连接数据库,则该用户必须拥有的权限是()

A、createtableB、createindexC、createsessionD、createuser

9.授予删除任何表的系统权限(DROPANYTABLE)给user1,并使其能继续授该权限给其他用户,以下正确的SQL语句是()

A、Grantdropanytabletouser1;

B、Grantdropanytabletouser1withadminoption;

C、Grantdroptabletouser1;

D、Grantdropanytabletouser1withgrantpotion;

10.数据库中有两个用户scott和muuser,物资表wz是属于myuser用户的,但当前用户是scott,要求查询物资表wz(wno,wname,wtype,wunit)物资单位wunit列为null的记录,取结果的前5条记录显示,以下正确的SQL语句是()

A、select*fromscott.wzwherewunitisnullandrownum<5;

B、select*frommyuser.wzwherewunit=nullandrownum<5;

C、select*frommyuser.wzwherewunitisnullandrownum<6;

D、select*formscott.wzwherewunitisnullandrownum<6;

11.以下哪个表空间不能设置为OFFLINE。

()

A、USERB、SYSTEMC、TOOLSD、INDEX

12.如何删除tester用户()

A、droproletester;

B、dropusertester;

C、alterusertester;

D、deleteusertester;

13.分析以下SQL命令:

SELECTprice

FROMinventory

WHEREpriceBETWEEN1AND50AND(priceIN(55,30,95);

命令执行后的最可能的输出结果是:

()

A、55B、30C、95D、51

14.那一个查询语句能够提取当前的系统时间并且显示成“2013”的格式?

()

A、Selectto_char(sysdate,’yyyy’)fromdual;

B、Selectto_char(substr(sysdate,8,2),’year’)fromdual;

C、Selectto_date(sysdate,’yyyy’)fromdual;

D、Selectdecode(substr(sysdate,8),’YYYY’)fromdual;

15.以下对表空间描述正确的是?

()

A、一个数据库只能有一个表空间

B、数据库中表空间数量是没有限制的,但数据文件数量有限制

C、一个表空间只能被一个用户所使用

D、一个表空间可以管理多个数据文件

16.以下对约束描述正确的是()

A、在建表的时候必须定义该表的主键约束,否则不能通过语句修改

B、约束中唯一约束、主键约束都会自动创建唯一索引

C、一个字段不能同时有主键约束和唯一约束

D、一个字段可以即为主键又为外键

17.()可以从过程返回多个值。

A、使用IN参数B、使用OUT参数C、使用指针D、不能

18.一下是同义词不具有的用途是()。

A、简化SQL语句B、隐藏对象的名称和所有者

C、提供对对象的公共访问D、显示对象的名称和所有者

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

SQL>selectceil(97.34),floor(97.34),round(97.34),trunc(97.34)

fromdual;下列哪个函数不返回结果-97?

()

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

20.以下哪个选项不是建立新的表空间时必须要确定的?

()

A、数据文件B、表空间名称C、数据文件的大小D、数据文件最大值

二、填空题

1.Oracle中运行指定的文件命令是__@文件名_____

2.Oracle数据库系统的物理存储结构主要有3类文件组成,分别是___数据文件____、___重做日志文件____和控制文件。

3.每个Oracle数据库都有一个或多个_______物理数据文件(datafile)_______。

4.在Oracle中,使用____desc___命令可显示表的结构,使用___commit____命令可提交对表数据的修改。

5.Oracle中,进行逻辑备份与恢复时使用的导出命令是____EXP_____;导入命令是__IMP_____。

6.一个PL/SQL程序块可以划分为三个部分:

_____声明部分____、________执行部分和异常处理部分_______

7.创建表employee的副本,包含表中全部记录:

CREATETABLEemployee_copyAS_______________select*fromemployee________________;

8.创建用户自定义函数可以使用______Createfunction____________语句。

9.显示游标首先要_____定义________,在使用时要____打开_________,使用完毕后要______关闭_______。

10.包的创建分为_____包头________的创建和_________包体____的创建两部分。

11.过程参数和函数参数一样,也有三种类型,分别是in,___out______和________inout_____。

三、判断题

1.回收一个用户的系统权限后,该用户传递给其他用户的权限会自动取消(×)

2.视图是索引的另一种形式(×)

3.一个数据文件可以隶属于不同表空间(×)

4.对students表空间中的数据文件进行备份,students表空间可以处于online状态(×)

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

(√)

6.可以使用CURRVAL和NEXTVAL伪列来访问序列。

(√)

7.以零作除数时会引发value_errror异常(×)

8.触发器是一个被指定关联到一个表的数据对象,触发器是不需要调用的。

(√)

9.创建用户时,需要赋予新用户connect角色就能使它连上数据库。

(√)

10.WITHCHECKOPTION表示使用视图更新数据时应满足视图定义中设置的条件(√)

四、简答题

1.简述数据完整性的分类(3分)

答:

实体完整性域完整性和参照完整性

2.简述PL/SQL语言的组成(3分)

数据定义语句(createalterdrop)

数据操纵语句(insertupdatedeleteselect)

数据控制语句(grantrevoke)。

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

(4分)

答:

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

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

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

五、程序题(40分,2题4分,其余每题3分)

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

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

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

1.创建表空间data1,该表空间有两个数据文件data1和data2,初始大小分别是10M和20M。

创建表空间data,该表空间有两个数据文件data1和data2,初始大小分别是10M和20M。

createtablespacedata

datafile'c:

\data1.dbf'size10Mreuse,'c:

\data2.dbf'size20Mreuse

autoextendoff;

2.在data1表空间中创建部门表mydept的,要求deptno为字符型数据,长度为2,主键;dname字符型数据,长度为10,唯一;loc字符型数据,长度4,只能是北京,上海,天津。

在data表空间中创建部门表mydept的,要求deptno为字符型数据,长度为2,主键;dname字符型数据,长度为10,唯一;loc字符型数据,长度4,只能是北京,上海,天津。

Createtablemydept(deptnovarchar2

(2)primarykey,dnamechar(10)unique,logvarchar2(4)check(locin(‘北京’,’上海’,’天津’)))

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

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

Createtablemyempasselect*fromscott.empdefaulttablespacedata1

4.将所有销售人员(即职位为销售salesman)的奖金加100

将所有销售人员(即职位为销售salesman)的奖金加100

Updatemyempsetcomm=comm+100WHEREJOB=’salesman’

5.修改myemp表,增加性别字段,性别字段默认为男,性别字段的值只能是男或女

修改myemp表,增加性别字段,性别字段默认为男,性别字段的值只能是男或女

ALTERTABLEMYEMPaddsexchar

(2)default‘男’check(性别=‘男’or性别=‘女’)

6.查询myemp表,显示第三个字符为大写O的所有员工的姓名和工资?

查询myemp表,显示第三个字符为大写O的所有员工的姓名和工资?

selectename,salfromscott.empwhereenamelike'__O%';

7.查询myem表,显示每个部门的每种岗位的平均工资和最低工资?

查询myem表,显示每个部门的每种岗位的平均工资和最低工资?

selectdeptno,job,max(sal),avg(sal)frommyempgroupbyjob,deptno;

8.查询平均工资低于2000的部门名和它的平均工资?

查询平均工资低于2000的部门名和它的平均工资?

selectdnameas部门名,avg(sal)as平均工资fromscott.emp,scott.deptwherescott.emp.deptno=scott.dept.deptnogroupbydnamehavingavg(sal)<2000;

9.创建只读的雇员信息视图xin,显示雇员号,雇员名,岗位,部门名,地址,工资级别,并查询视图

创建只读的雇员信息视图xin,显示雇员号,雇员名,岗位,部门名,地址,并查询视图

Createviewxinasselectempno,ename,job,dname,locfrommeemp,medeptwheremyemp.deptno=mydept.deptno

Select*fromxin

10.创建用户myuser,密码m123,授予myuser连接数据库,创建表的系统权限,并能够级联授权。

创建用户myuser,密码m123,授予myuser连接数据库,创建表的系统权限,并能够级联授权。

E

Createusermyuseridentifiedbym123;

Grantcreatesession,createtabletomyuserwithadminoption;

11.授予myuser查询,修改,删除scott用户的emp表的权限,并能够级联授权。

授予myuser查询,修改,删除scott用户的emp表的权限,并能够级联授权。

Grantselect,update,deleteonscott.emptomyuserwithgrantoption

12.创建存储过程pro_sum,该存储过程输入参数vdeptno,实现统计某个部门人数并输出,执行该过程,显示10号部门的人数。

创建存储过程pro_sum,该存储过程输入参数vdeptno,实现统计某个部门人数并输出,执行该过程,显示10号部门的人数。

Createorreplaceprocedurepro_sum(vdeptnoinvarchar2)

As

V_rsnumber(3);

Begin

Selectcount(*)intov_rsfromempwheredeptno=vdeptno;

Dbms_output.put_line(v_rs)

End;

Execpro_sum(‘10’)

13.创建一个system方案中的函数fn1,函数的作用为:

将指定empno号的记录中的sal字段值乘以1.05。

答:

createorreplacefunctionsystem.fn1(v_idscott.emp.empno%type)

returnnumberas

new_salaryscott.emp.sal%type;

begin

selectsalintonew_salaryfromscott.empwhereempno=v_id;

new_salary:

=new_salary*1.05;

returnnew_salary;

end;

参考答案

一、选择题(20分)

1---5ABDCA6—10DBCBC11--15BBBCD16—20BBDAD

二、填空题(20分)

@文件名2.数据文件重做日志文件3.物理数据文件(datafile)4.desc

12.Updata5.EXPIMP6.声明部分、执行部分和异常处理部分。

7.select*fromemployee8.Createfunction9.定义打开关闭10.包头包体

11.out和inout

三、判断题(10分)

1---10××××√√×√√√

四、简答题(10分)

1.简述数据完整性的分类(3分)

答:

实体完整性域完整性和参照完整性

2.简述PL/SQL语言的组成(3分)

●数据定义语句(createalterdrop)

●数据操纵语句(insertupdatedeleteselect)

●数据控制语句(grantrevoke)。

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

(4分)

答:

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

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

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

五、程序题(40分,2题4分,其余每题3分)

1.创建表空间data,该表空间有两个数据文件data1和data2,初始大小分别是10M和20M。

createtablespacedata

datafile'c:

\data1.dbf'size10Mreuse,'c:

\data2.dbf'size20Mreuse

autoextendoff;

2.在data表空间中创建部门表mydept的,要求deptno为字符型数据,长度为2,主键;dname字符型数据,长度为10,唯一;loc字符型数据,长度4,只能是北京,上海,天津。

Createtablemydept(deptnovarchar2

(2)primarykey,dnamechar(10)unique,logvarchar2(4)check(locin(‘北京’,’上海’,’天津’)))

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

Createtablemyempasselect*fromscott.empdefaulttablespacedata1

4.将所有销售人员(即职位为销售salesman)的奖金加100

Updatemyempsetcomm=comm+100WHEREJOB=’salesman’

5.修改myemp表,增加性别字段,性别字段默认为男,性别字段的值只能是男或女

ALTERTABLEMYEMPaddsexchar

(2)default‘男’check(性别=‘男’or性别=‘女’)

6.查询myemp表,显示第三个字符为大写O的所有员工的姓名和工资?

selectename,salfromscott.empwhereenamelike'__O%';

7.查询myem表,显示每个部门的每种岗位的平均工资和最低工资?

selectdeptno,job,max(sal),avg(sal)frommyempgroupbyjob,deptno;

8.查询平均工资低于2000的部门名和它的平均工资?

selectdnameas部门名,avg(sal)as平均工资fromscott.emp,scott.deptwherescott.emp.deptno=scott.dept.deptnogroupbydnamehavingavg(sal)<2000;

9.创建只读的雇员信息视图xin,显示雇员号,雇员名,岗位,部门名,地址,并查询视图

Createviewxinasselectempno,ename,job,dname,locfrommeemp,medeptwheremyemp.deptno=mydept.deptno

Select*fromxin

10.创建用户myuser,密码m123,授予myuser连接数据库,创建表的系统权限,并能够级联授权。

E

Createusermyuseridentifiedbym123;

Grantcreatesession,createtabletomyuserwithadminoption;

11.授予myuser查询,修改,删除scott用户的emp表的权限,并能够级联授权。

Grantselect,update,deleteonscott.emptomyuserwithgrantoption

12.创建存储过程pro_sum,该存储过程输入参数vdeptno,实现统计某个部门人数并输出,执行该过程,显示10号部门的人数。

Createorreplaceprocedurepro_sum(vdeptnoinvarchar2)

As

V_rsnumber(3);

Begin

Selectcount(*)intov_rsfromempwheredeptno=vdeptno;

Dbms_output.put_line(v_rs)

End;

Execpro_sum(‘10’)

13.创建一个system方案中的函数fn1,函数的作用为:

将指定empno号的记录中的sal字段值乘以1.05。

答:

createorreplacefunctionsystem.fn1(v_idscott.emp.empno%type)

returnnumberas

new_salaryscott.emp.sal%type;

begin

selectsalintonew_salaryfromscott.empwhereempno=v_id;

new_salary:

=new_salary*1.05;

returnnew_salary;

end;

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

当前位置:首页 > 农林牧渔 > 林学

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

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