《Oracle数据库应用》练习题及答案
更新时间:2023-03-08 10:23:40 阅读量: 综合文库 文档下载
《Oracle数据库应用》
一、 选择题
1. 在Windows操作系统中,Oracle的____服务监听并接受来自客户端应用程序的连接请求。
A、OracleHOME_NAMETNSListener B、OracleServiceSID C、OracleHOME_NAMEAgent D、OracleHOME_NAMEHTTPServer
2. ORACLE中,用来判断列值是否为空的操作符是____
A、==NULL B、IS NULL C、 AS NULL D、 NULLIS 3. 在CUSTOMER中有一列为单价(PRICE),写一个SELECT命令显示所有单价在500以上的查询语句______。
A、SELECT * FROM CUSTOMER WHERE PRICE MORE THAN 500; B、SELECT * FROM CUSTOMER WHERE PRICE BETWEEN 500 AND *; C、SELECT * FROM CUSTOMER WHERE PRICE LIKE 'P0%'; D、SELECT * FROM CUSTOMER WHERE PRICE>=500;
4. 在Oracle中,使用HAVING子句也可以进行条件查询,以下选项说法是正确的是______.
A、 HAVING子句和WHERE子句相同 B、 HAVING子句用于行的条件查询 C、 HAVING子句用于已分组结果的条件查询 D、以上皆非 5. 在安装oracle时,自动开启了的账号是( ) A、System B、Sa C、Scott D、Administrator 6. 下列哪一项是Oracle数据库中最小的存储分配单元( ) A、表空间 B、段 C、盘区 D、数据块
7. ( )是一个很小的二进制文件,它维护着数据库的全局物理结构,用以支持数据库成功地启动和运行。创建数据库时,同时就提供了与之对应的控制文件。 A、数据文件 B、控制文件 C、重做日志文件 D、以上都不对 8. 若用户要连接数据库,则该用户必须拥有的权限是()
A、create table B、create index C、create session D、create user
9. 授予删除任何表的系统权限(DROP ANY TABLE)给user1,并使其能继续授该权限给其他用户,以下正确的SQL语句是() A、Grant drop any table to user1;
B、Grant drop any table to user1 with admin option; C、Grant drop table to user1;
D、Grant drop any table to user1 with grant potion;
10. 数据库中有两个用户scott和muuser,物资表wz是属于myuser用户的,但当前用户是scott,要求查询物资表wz(wno,wname,wtype,wunit)物资单位wunit列为null的记录,取结果的前5条记录显示,以下正确的SQL语句是() A、select * from scott.wz where wunit is null and rownum<5; B、select * from myuser.wz where wunit = null and rownum<5; C、select * from myuser.wz where wunit is null and rownum<6; D、select * form scott.wz where wunit is null and rownum<6; 11. 以下哪个表空间不能设置为OFFLINE。( ) A、USER B、SYSTEM C、TOOLS D、INDEX 12. 如何删除tester用户( ) A、 drop role tester; B、 drop user tester; C、 alter user tester; D、 delete user tester; 13. 分析以下SQL 命令:
SELECT price FROM inventory
WHERE price BETWEEN 1 AND 50 AND (price IN(55, 30, 95); 命令执行后的最可能的输出结果是:( )
A、 55 B、 30 C、 95 D 、51
14. 那一个查询语句能够提取当前的系统时间并且显示成“2013”的格式?( ) A、 Select to_char(sysdate, ’yyyy’) from dual;
B、 Select to_char(substr(sysdate,8,2), ’year’) from dual;
C、 Select to_date(sysdate, ’yyyy’) from dual;
D、 Select decode(substr(sysdate,8), ’YYYY’) from dual; 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) from dual; 下列哪个函数不返回结果-97?( )
A、 ceil() B、floor() C、round() D、 trunc() 20. 以下哪个选项不是建立新的表空间时必须要确定的?( )
A、数据文件 B、表空间名称 C、数据文件的大小 D、数据文件最大值
二、 填空题
1. Oracle中运行指定的文件命令是_______
2. Oracle数据库系统的物理存储结构主要有3类文件组成,分别是_______文件、_______文件和控制文件。
3. 每个Oracle数据库都有一个或多个______________文件。
4. 在Oracle中,使用_______命令可显示表的结构,使用_______命令可提交对
表数据的修改。
5. Oracle中,进行逻辑备份与恢复时使用的导出命令是_________;导入命令是_______。
6. 一个PL/SQL程序块可以划分为三个部分:_________、____________和__________
7. 创建表employee的副本,包含表中全部记录:CREATE TABLEemployee_copy AS_______________________________;
8. 创建用户自定义函数可以使用__________________语句。
9. 显示游标首先要_____________,在使用时要_____________,使用完毕后要_____________。
10.包的创建分为_____________的创建和_____________的创建两部分。 11.过程参数和函数参数一样,也有三种类型,分别是in,_________和_____________。
三、 判断题
1. 回收一个用户的系统权限后,该用户传递给其他用户的权限会自动取消( ) 2. 视图是索引的另一种形式()
3. 一个数据文件可以隶属于不同表空间()
4. 对students表空间中的数据文件进行备份,students表空间可以处于online状态()
5. 在Oracle中创建用户时,若未提及DEFAULT TABLESPACE关键字,则Oracle就将system表空间分配给用户作为默认表空间。() 6. 可以使用CURRVAL和NEXTVAL伪列来访问序列。() 7. 以零作除数时会引发value_errror异常 ()
8. 触发器是一个被指定关联到一个表的数据对象,触发器是不需要调用的。( ) 9. 创建用户时,需要赋予新用户connect角色就能使它连上数据库。() 10.WITH CHECK OPTION表示使用视图更新数据时应满足视图定义中设置的条件 ()
四、 简答题
1. 简述数据完整性的分类(3分)
2. 简述PL/SQL语言的组成(3分)
3. 简单介绍表空间,并写出一种建立表空间的方法。(4分)
五、 程序题(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。
2. 在data1表空间中创建部门表mydept的,要求deptno为字符型数据,长度为2,主键;dname字符型数据,长度为10,唯一;loc字符型数据,长度4,只能是北京,上海,天津。
3. 在data1表空间创建表myemp,字段名及类型内容同scott用户下的emp 4. 将所有销售人员(即职位为销售salesman)的奖金加100
5. 修改myemp表,增加性别字段,性别字段默认为男,性别字段的值只能是男或女
6. 查询myemp表,显示第三个字符为大写O的所有员工的姓名和工资? 7. 查询myem表,显示每个部门的每种岗位的平均工资和最低工资? 8. 查询平均工资低于2000的部门名和它的平均工资?
9. 创建只读的雇员信息视图xin,显示雇员号,雇员名,岗位,部门名,地址,工资级别,并查询视图 10.
创建用户myuser,密码m123,授予myuser连接数据库,创建表的
系统权限,并能够级联授权。 11.
授予myuser查询,修改,删除scott用户的emp表的权限,并能够
级联授权。 12.
创建存储过程pro_sum,该存储过程输入参数vdeptno,实现统计某
个部门人数并输出,执行该过程,显示10号部门的人数。 13.
创建一个system方案中的函数fn1,函数的作用为:将指定empno
号的记录中的sal字段值乘以1.05。
参考 答案
一、 选择题(20分)
1---5 ABDCA 6—10 DBCBC 11 --15BBBCD 16—20 BBDAD
二、 填空题(20分)
@文件名 2. 数据文件重做日志文件 3. 物理数据文件(data file) 4. desc
12.Updata 5. EXPIMP 6.声明部分、执行部分和异常处理部分。
7. select * from employee 8. Create function 9. 定义打开关闭 10. 包头包体 11. out 和 in out
三、 判断题(10分)
1---10 ××××√ √×√√√
四、 简答题(10分)
1.简述数据完整性的分类(3分)
答:实体完整性 域完整性和参照完整性 2.简述PL/SQL语言的组成(3分)
? 数据定义语句(create alter drop ) ? 数据操纵语句(insert update delete select) ? 数据控制语句(grant revoke )。
3.简单介绍表空间,并写出一种建立表空间的方法。(4分)
答:表空间是Oracle逻辑存储结构的最高层,一个数据库就是若干个表空间组成的。每个表空间对应操作系统中的一个或多个数据文件,但每个数据文件只能属于一个表空间。
Create tablespace表空间名datafile 数据文件名;
五、 程序题(40分,2题4分,其余每题3分)
1.创建表空间data,该表空间有两个数据文件data1和data2,初始大小分别是10M和20M。 createtablespace data
datafile 'c:\\data1.dbf' size 10M reuse,'c:\\data2.dbf' size 20M reuse autoextend off;
2. 在data表空间中创建部门表mydept的,要求deptno为字符型数据,长度为2,主键;dname字符型数据,长度为10,唯一;loc字符型数据,长度4,只能是北京,上海,天津。
Create table mydept(deptno varchar2(2) primary key,dname char(10) unique,log varchar2(4) check(loc in (‘北京’,’上海’,’天津’)))
3. 在data表空间创建表myemp,字段名及类型内容同scott用户下的emp Create tablemyemp as select * from scott.emp default tablespace data1
4. 将所有销售人员(即职位为销售salesman)的奖金加100 Update myemp set comm=comm+100 WHERE JOB=’salesman’
5. 修改myemp表,增加性别字段,性别字段默认为男,性别字段的值只能是男或女
ALTER TABLE MYEMP add sex char(2) default ‘男’ check(性别=‘男’ or 性别=‘女’)
6. 查询myemp表,显示第三个字符为大写O的所有员工的姓名和工资? selectename,sal from scott.emp where ename like '__O%'; 7. 查询myem表,显示每个部门的每种岗位的平均工资和最低工资? selectdeptno,job,max(sal),avg(sal) job,deptno;
8.查询平均工资低于2000的部门名和它的平均工资?
select dname as 部门名,avg(sal)as 平均工资 from scott.emp,scott.dept where scott.emp.deptno=scott.dept.deptno group by dname having avg(sal)<2000;
9.创建只读的雇员信息视图xin,显示雇员号,雇员名,岗位,部门名,地
址,并查询视图
Create view xin as select empno,ename,job,dname,loc from meemp,medept where myemp.deptno=mydept.deptno
from
myemp
group
by
Select * from xin 10.
创建用户myuser,密码m123,授予myuser连接数据库,创建表的
系统权限,并能够级联授权。E
Create user myuser identified by m123;
Grant create session,create table to myuser with admin option; 11.
授予myuser查询,修改,删除scott用户的emp表的权限,并能够
级联授权。
Grant select ,update,delete on scott.emp to myuser with grant option 12.
创建存储过程pro_sum,该存储过程输入参数vdeptno,实现统计某
个部门人数并输出,执行该过程,显示 10号部门的人数。 Create or replace procedure pro_sum(vdeptno in varchar2) As
V_rsnumber(3); Begin
Select count(*) into v_rs from emp where deptno=vdeptno; Dbms_output.put_line(v_rs) End;
Exec pro_sum(‘10’) 13.
创建一个system方案中的函数fn1,函数的作用为:将指定empno
号的记录中的sal字段值乘以1.05。
答:create or replace function system.fn1(v_idscott.emp.empno% type) return number as
new_salaryscott.emp.sal% type; begin
selectsal into new_salary fromscott.emp where empno=v_id; new_salary:=new_salary*1.05; returnnew_salary; end;
正在阅读:
《Oracle数据库应用》练习题及答案03-08
我国金融市场发展情况05-07
音乐《数高楼》教案09-10
flash试题说明05-23
浅谈如何促进学生的全面发展.doc06-07
施工现场临时用电专项施工方案03-17
理力习题01-15
工程造价职业规划书10-20
标题、创意、URL 精编03-08
银监会三个办法一个指引标准全文05-23
- 《江苏省环境水质(地表水)自动监测预警系统运行管理办法(试行)》
- 安乐死合法化辩论赛立论稿(浙大新生赛)
- 公共科目模拟试卷公务员考试资料
- 我国固定资产投资FAI对GDP的影响
- 大学生创新创业训练计划项目申请书大创项目申报表
- 完美版—单片机控制步进电机
- 2013资阳中考化学试题
- 18.两位数减一位数退位(397道)
- 工程量计算规则
- 二年级操行评语(下)
- 第3章 流程控制语句
- 浅基桥墩加固技术
- 课题研究的主要方法
- 5100软件说明书 - 图文
- 车间技术员年终总结
- 关于印发《中铁建工集团开展项目管理实验室活动方案》的通知
- 经典诵读结题报告
- 地下水动力学习题答案
- 2018年全国各地高考数学模拟试题平面解析几何试题汇编(含答案解
- 街道办事处主任2018年度述职述廉报告
- 练习题
- 答案
- 数据库
- 应用
- Oracle