ORACLE数据库测试1及答案

ORACLE数据库测试1及答案
ORACLE数据库测试1及答案

ORACLE数据库过程测试1

1、用SQL完成以下表格的创建:(5分*4=20分)

1)仓库(仓库号,城市,面积),其中仓库号为主键;

create table 仓库

(

仓库号char(4) primary key,

城市char(6),

面积number(8,2)

);

2)职工(仓库号,职工号,工资),其中职工号为主键,仓库号为外键;

create table 职工

(

仓库号char(4) foreign key references 仓库,

职工号char(4) primary key,

工资number(8,2)

);

3)供应商(供应商号,供应商名,地址),其中供应商号为主键;

create table 供应商

(

供应商号char(3) primary key,

供应商名char(4),

地址char(6)

);

4)订购单(职工号,供应商号,订购单号,订购日期),其中订购单号为主键,供应商号和职工号为外键。

create table 订购单

(

订购单号char(4) primary key,

经手人char(4) foreign key references 职工(职工号),

供应商号char(3) foreign key references 供应商,

订购日期date

);

2、以前面表为例,用SQL完成以下检索:(2分*20=40分)

1)检索在北京的供应商的名称。

select 供应商名from 供应商where 地址=’北京’;

2)检索发给供应商S6的订购单号。

select 订购单号from 订购单where 供应商号=’S6’;

3)检索出职工E6发给供应商S6的订购单信息。

select * from 订购单where 经手人=’E6’ and 供应商=’S6’;

4)检索出向供应商S3发过订购单的职工的职工号和仓库号。

①select 职工号,仓库号from 职工where 职工号in

(select 经手人from 订购单where 供应商号=’S3’ );

②select 职工号,仓库号from 职工where exists

(select 经手人from 订购单where 供应商号=’S3’ );

③自然连接

select 职工号,仓库号from 职工as E,订购单as O where

E.职工号=O.经手人and 供应商号=’S3’;

④join内连接

select 职工号,仓库号from 职工as E join 订购单as O

on E.职工号=O.经手人where 供应商号=’S3’;

5)检索出目前与S3供应商没有联系的职工信息。

select * from 职工where 职工号not in

(

select 经手人from 订购单where 订购单.经手人=职工.职工号and 供应商号=’S3’);

6)检索出目前没有任何订购单的供应商信息。

①select * from 供应商where 供应商号not in

( select 供应商号from 订购单where 供应商号is not null);

②select * from 供应商where not exists

(select * from 订购单where 供应商号=供应商.供应商号);

7)检索出和职工E1、E3都有联系的北京的供应商信息。

①select * from 供应商where 地址=’北京’

and 供应商号in

(select 供应商号from 订购单where 经手人=’E1’)

and 供应商号in

(select 供应商号from 订购单where 经手人=’E3’);

②select * from 供应商where 地址=’北京’and 供应商号in

(select A.供应商号from 订购单as A,订购单as B

where A.供应商号=B.供应商号

and A.供应商号=’E1’

and B.供应商号=’E3’

);

8)检索出目前和华通电子公司有业务联系的每个职工的工资。

select * from 职工where 职工号in

(select 经手人from 订购单where 供应商号in

(select 供应商号from 供应商where 供应商名=’华通电子公司’));

9)检索出与工资在1220元以下的职工没有联系的供应商的名称。select 供应商名from 供应商where 供应商号not in

(

select 供应商号from 订购单where 供应商号is not null

and 经手人in

(

select 职工号from 职工where 工资<1220

));

10)检索出向S4供应商发出订购单的仓库所在的城市。

select 城市from 仓库where 仓库号in

(select 仓库号from 职工where 职工号in

(select 经手人from 订购单where 供应商号=’S4’));

11)检索出在上海工作并且向S6供应商发出了订购单的职工号。select 职工号from 职工where 仓库号in

(select 仓库号from 仓库where 城市=’上海’)

and 职工号in

(select 经手人from 订购单where 供应商号=’S6’);

12)检索出在广州工作并且只向S6供应商发出了订购单的职工号。select 职工号from 职工where 仓库号in

(select 仓库号from 仓库where 城市=’广州’)

and 职工号in

(select 经手人from 订购单where 供应商号=’S6’)

and 职工号not in

(select 经手人from 订购单where 供应商号!=’S6’);

13)检索出由工资多于1230元的职工向北京的供应商发出的订购单号。select 订购单号from 订购单where 供应商号in

(select 供应商号from 供应商where 地址=’北京’)

and 职工号in

( select 职工号from 职工where 工资>1230);

14)检索出仓库的个数。

select count(*) as 仓库个数from 仓库;

15)检索出有最大面积的仓库信息。

select * from 仓库where 面积=(select MAX(面积) from 仓库);

16)检索出所有仓库的平均面积。

select A VG(面积) as 平均面积from 仓库;

17)检索出向S4供应商发出订购单的那些仓库的平均面积。

select A VG(面积) as 平均面积from 仓库where 仓库号in (select 仓库号from 职工where 职工号in

(select 经手人from 订购单where 供应商号=’S4’));

18)检索出每个仓库中工资多于1220元的职工个数。

select 仓库号,count(*) as 职工个数from 职工where 工资>1220

group by 仓库号;

19)检索出和面积最小的仓库有联系的供应商的个数。

select count(*) as 供应商个数from 供应商where 供应商号in

(select 供应商号from订购单where 经手人in

(select 职工号from 职工where 仓库号in

(select 仓库号from 仓库where 面积=(select MIN(面积) from 仓库))))

20)检索出工资低于本仓库平均工资的职工信息。

select * from 职工as A where 工资<

(select A VG(工资) from 职工as B where B.职工号=A.职工号);

3、以上图的数据库为例,用SQL语句完成操作:(2分*5=10分)

1)插入一个新的订购单元组,其中职工号为E6,订购单号为OR99,其他列为空。

2)删除目前没有任何订购单的供应商。

3)删除由在上海仓库工作的职工发出的所有订购单。

4)北京的所有仓库增加100m2的面积。

5)给低于所有职工平均工资的职工提高5%的工资。

解:1)insert into 订购单values (‘OR99’,’E6’,null,null);

2) delect from 供应商where 供应商号not in

(select 供应商号from 订购单where 供应商号is not null);

3)①delect from 订购单where 职工号in

(select 职工号from 职工where 仓库号in

(select 仓库号from 仓库where 城市=’上海’));

②delect [from] 订购单from 职工,仓库

where 订购单.职工号=职工.职工号

and 职工.仓库号=仓库.仓库号

and城市=’上海’;

注:第一个from可省略

4)update 仓库set 面积=面积+100 where 城市=’北京’;

5)update 职工set 工资=工资*1.05 where 工资<

(select A VG(工资) from 职工);

4、在第1题的数据库中建立一个存储过程,查询工资大于某个值且在某个城市工作的职工

信息;并以工资大于8000元且在北京工作的职工为例执行该存储过程。(10分)

解:create or replace procedure pro

(salary in number,city in number)

as

begin

select * from 职工from 工资>salsry and 仓库号in

(select 仓库号from 仓库where 城市=citu );

end;

--执行存储过程

exec proc(salary=>8000,city=’北京’);

5、在第1题的数据库中建立一个触发器,当删除仓库记录时同时删除该仓库的职工信息。

(10分)

解:create or replace trigger tri

after delete on 仓库for each row

begin

delete from 职工where 仓库号=::OLD.仓库号;

end;

6、在第1题的数据库中建立一个触发器,当插入一个职工记录时,检查该职工所在的仓库

是否存在,若不存在则撤消所做的插入操作。(10分)

解:create or replace trigger 职工1

after insert or update on 职工for each row

declare

n number;

begin

select count(*) into n from 仓库where 仓库号=:NEW仓库号

if n=0 then

dbms_output.put_line(‘职工所在仓库不存在’);

rollback;

end if;

end;

Oracle数据库试题及答案

Oracle数据库试题 一、选择题 1、段是表空间中一种逻辑存储结构,以下( D )不是ORACLE数据库使用的段类型。(A)索引段(B)临时段(C)回滚段(D)代码段 2、 ORACLE数据库物理结构包括以下三种文件,以下不属于的是( A )。 ?(A)系统文件(B)日志文件(C)数据文件(D)控制文件 3、数据库中有两个用户scott和muuser,物资表wz是属于myuser用户的,但当前用户是scott,要求查询物资表wz(wno,wname,wtype,wunit)物资单位wunit列为null的记录,取结果的前5条记录显示,以下正确的SQL语句是( C ) (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; ?4、若当前日期为’25-5月-06’,以下( D? )表达式能计算出5个月后那一天所在月份的最后一天的日期。 (A)NEXT_DAY(ADD_MONTHS(28-5月-06,5)) (B)NEXT_DAY(MONTHS_BETWEEN(28-5月-06,5)) (C)NEXT_DAY(MONTHS_BETWEEN(’28-5月-06’,5)) (D)NEXT_DAY(ADD_MONTHS(’28-5月-06’,5)) 5、下列叙述中正确的是_C_。 A、数据库是一个独立的系统,不需要操作系统的支持 B、数据库设计是指设计数据库管理系统 C、数据库技术的根本目标是要解决数据共享的问题 D、数据库系统中,数据的物理结构必须与逻辑结构一致 6、SQL语句中修改表结构的命令是 ???C?? ?。 A、MODIFY TABLE B、MODIFY STRUCTURE C、ALTER TABLE D、ALTER STRUCTURE 7、数据库DB、数据库系统DBS、数据库管理系统DBMS三者之间的关系是__ A___。 A、DBS包括DB和DBMS B、DBMS包括DB和DBS C、DB包括DBS和DBMS D、DBS就是DB,也就是DBMS 8、要控制两个表中数据的完整性和一致性可以设置"参照完整性",要求这两个表_A___。 A、是同一个数据库中的两个表 B、不同数据库中的两个表 C、两个自由表 D、一个是数据库表另一个是自由表 9、在关系模型中,实现"关系中不允许出现相同的元组"的约束是通过__B_ __。 A、候选键 B、主键 C、外键 D、超键 10、索引字段值不唯一,应该选择的索引类型为___ B__。 A、主索引 B、普通索引 C、候选索引 D、唯一索引 11、从数据库中删除表的命令是___C __。 A、DROP TABLE B、ALTER TABLE C、DELETE TABLE D、USE 12、 DELETE FROM S WHERE 年龄>60语句的功能是___B___。 A、从S表中彻底删除年龄大于60岁的记录 B、S表中年龄大于60岁的记录被加上删除标记

ORACLE试题

ORACLE 选择 B52X0001ORACLE7数据库中,命令lsnrctl start用到的参数文件是:() A、tnsnames.ora B、sqlnet.ora C、listener.ora D、以上都不对 正确答案:C B52X0002在将格式化的文本文件导入ORACLE时我们经常采用的是SQLLOAD命令,请选择正确的写法() A、sqlldr username/password control=data_file B、sqlldr username/password rows=128control=data_file C、sqlldr username/password control=data_file rows=64 D、sqlldr username/password control=data_file.ctl 正确答案:D B52X0003在Oracle维护过程中,第一步应查看数据库管理系统的运行日志,其日值文件名为:() A、error_'SID'.log B、Alert_'SID'.log C、trace_'SID'.log E、logtail_'SID'.log 正确答案:B B52X0004SGA(System Global Area)是ORACLE系统为实例分配的一组共享缓冲存储区,SGA分为几个部分。() A、4 B、5 C、6 D、7 正确答案:A库缓冲区、数据字典缓冲区、数据块高速缓冲区、重做日志缓冲区 B52X0005Oracle逻辑结构可分解为:表空间、数据库块、物理块、分类段、范围。它们之间的大小关系正确的是() A、表空间≥范围≥分类段≥数据库块≥物理块 B、表空间≥范围≥分类段≥物理块≥数据库块 C、表空间≥数据库块≥物理块≥分类段≥范围 D、表空间≥分类段≥范围≥数据库块≥物理块 正确答案:D B52X0006ORACLE中模式为模式对象的集合,为一个数据库用户所占有,模式名为与该用户名同名,下列属于模式对象的有() A、表 B、视图 C、快照 D、用户环境文件

中南大学oracle数据库期末考试试题及答案

A1、以下()内存区不属于SGA。 A.PGA B.日志缓冲区C.数据缓冲区D.共享池 D2、()模式存储数据库中数据字典的表和视图。 A.DBA B.SCOTT C.SYSTEM D.SYS C3、在Oracle中创建用户时,若未提及DEFAULT TABLESPACE 关键字,则Oracle就将()表空间分配给用户作为默认表空间。 A.HR B.SCOTT C.SYSTEM D.SYS A4、()服务监听并按受来自客户端应用程序的连接请求。 A.OracleHOME_NAMETNSListener B.OracleServiceSID C.OracleHOME_NAMEAgent D.OracleHOME_NAMEHTTPServer B5、()函数通常用来计算累计排名、移动平均数和报表聚合等。 A.汇总B.分析C.分组D.单行 B6、()SQL语句将为计算列SAL*12生成别名Annual Salary A.SELECT ename,sal*12 …Annual Salary? FROM emp; B.SELECT ename,sal*12 “Annual Salary” FROM emp; C.SELECT ename,sal*12 AS Annual Salary FROM emp; D.SELECT ename,sal*12 AS INITCAP(“Annual Salary”) FROM emp; B7、锁用于提供( )。 A.改进的性能

B.数据的完整性和一致性 C.可用性和易于维护 D.用户安全 C8、( )锁用于锁定表,允许其他用户查询表中的行和锁定表,但不允许插入、更新和删除行。 A.行共享B.行排他C.共享D.排他 B9、带有( )子句的SELECT语句可以在表的一行或多行上放置排他锁。 A.FOR INSERT B.FOR UPDATE C.FOR DELETE D.FOR REFRESH C10、使用( )命令可以在已分区表的第一个分区之前添加新分区。 A.添加分区B.截断分区 C.拆分分区D.不能在第一个分区前添加分区 C11、( )分区允许用户明确地控制无序行到分区的映射。 A.散列B.范围C.列表D.复合 C12、可以使用()伪列来访问序列。 A.CURRVAL和NEXTVAL B.NEXTVAL和PREVAL C.CACHE和NOCACHE D.MAXVALUE和MINVALUE A13、带有错误的视图可使用()选项来创建。 A.FORCE B.WITH CHECK OPTION C.CREATE VIEW WITH ERROR

Oracle面试题笔试题及参考答案

一套Oracle面试题笔试题及参考答案 Oracle, 笔试, 面试 完成下列操作,写出相应的SQL语句 1.创建表空间neuspace,数据文件命名为neudata.dbf,存放在d:\data 目录下,文件大小为200MB,设为自动增长,增量5MB,文件最大为 500MB。(8分) 答:create tablespace neuspace datafile ‘d:\data\neudata.dbf’ size 200m auto extend on next 5m maxsize 500m; 2. 假设表空间neuspace已用尽500MB空间,现要求增加一个数据文件,存放在e:\appdata目录下,文件名为appneudata,大小为500MB,不自动增长。(5 分) 答:alter tablespace neuspace add datafile ‘e:\appdata\appneudata.dbf’ size 500m; 3. 以系统管理员身份登录,创建账号tom,设置tom的默认表空间为neuspace。为tom分配connect和resource系统角色,获取基本的系统权限。然后为tom 分配对用户scott的表emp的select权限和对SALARY, MGR属性的update权限。 (8分) 答:create user tom identified by jack default tablespace neuspace; Grant connect, resource to tom; Grant select, update(salary, mgr) on scott.emp to tom;

ORACLE数据库期末考试题目及答案

期末考试卷(卷) 课程名称:数据库考试方式:开卷()闭卷(√) 、本试卷共4 页,请查看试卷中是否有缺页。 2、考试结束后,考生不得将试卷、答题纸带出考场。 1、以下(a )内存区不属于SGA。 A.PGA B.日志缓冲区 C.数据缓冲区 D.共享池 2、d )模式存储数据库中数据字典的表和视图。 (A.DBA B.SCOTT C.SYSTEM D.SYS 3、Oracle 中创建用户时,在若未提及DEFAULT TABLESPACE 关键字,Oracle 就将 c )则(表空间分配给用户作为默认表空间。A.HR B.SCOTT C.SYSTEM D.SYS

4、a )服务监听并按受来自客户端应用程序的连接请求。(A.OracleHOME_NAMETNSListener B.OracleServiceSID C.OracleHOME_NAMEAgent D.OracleHOME_NAMEHTTPServer 5、b )函数通常用来计算累计排名、移动平均数和报表聚合等。(A.汇总B.分析C.分组D.单行 6、b)SQL 语句将为计算列SAL*12 生成别名Annual Salary (A.SELECT ename,sal*12 …Annual Salary? FROM emp; B.SELECT ename,sal*12 “Annual Salary” FROM emp; C.SELECT ename,sal*12 AS Annual Salary FROM emp; D.SELECT ename,sal*12 AS INITCAP(“Annual Salary”) FROM emp; 7、锁用于提供(b )。 A.改进的性能 B.数据的完整性和一致性 C.可用性和易于维护 D.用户安全 8、( c )锁用于锁定表,允许其他用户查询表中的行和锁定表,但不允许插入、更新和删除行。 A.行共享B.行排他C.共享D.排他 9、带有( b )子句的SELECT 语句可以在表的一行或多行上放置排他锁。 A.FOR INSERT B.FOR UPDATE C.FOR DELETE D.FOR REFRESH

Oracle测试题

一、选择题(40分) 1.Oracle发出下列select语句: SQL> select , , 2 from emp e, dept d 3 where = 4 and substr, 1, 1) = ‘S’; 下列哪个语句是Oracle数据库中可用的ANSI兼容等价语句 A.select empno, ename, loc from emp join dept on = where substr, 1, 1) = ‘S’; B.select empno, ename, loc from emp, dept on = where substr, 1, 1) = ‘S’; C.select empno, ename, loc from emp join dept where = and substr, 1, 1) = ‘S’; D.select empno, ename, loc from emp left join dept on = and substr, 1, 1) = ‘S’; 2.下列哪个选项表示Oracle中select语句的功能 A.可以用select语句改变Oracle中的数据 B.可以用select语句删除Oracle 中的数据 C.可以用select语句和另一个表的内容生成一个表 D.可以用select语句对表截断 3.你要操纵Oracle数据,下列哪个不是SQL命令 A.select * from dual; B.set define C.update emp set ename = 6543 where ename = ‘SMITHERS’; D.create table employees(empid varchar2(10) primary key); 4.你要在Oracle中定义SQL查询。下列哪个数据库对象不能直接从select语句中引用

oracle数据库试题

ORACLE数据库试题 74 姓名:戴希引 一、选择题(总分50分,每题1分,*为多选)42 1.下列不属于ORACLE的逻辑结构的是(C) A 区 B 段 C 数据文件 D表空间 2. 下面哪个用户不是ORACLE缺省安装后就存在的用户( A ) A . SYSDBA B. SYSTEM C. SCOTT D. SYS 3 下面哪个操作会导致用户连接到ORACLE数据库,但不能创建表(A ) A 授予了CONNECT的角色,但没有授予RESOURCE的角色 B没有授予用户系统管理员的角色 C数据库实例没有启动 D数据库监听没有启动 4. 在Oracle中,当FETCH语句从游标获得数据时,下面叙述正确的是( C ) A 游标打开 B游标关闭 C当前记录的数据加载到变量中 D创建变量保存当前记录的数据 5. 在Oracle中,下面关于函数描述正确的是( A D)* A SYSDATE函数返回Oracle服务器的日期和时间 B ROUND数字函数按四舍五入原则返回指定十进制数最靠近的整数 C ADD_MONTHS日期函数返回指定两个月份天数的和 D SUBSTR函数从字符串指定的位置返回指定长度的子串 6. 阅读下面的PL/SQL程序块: BEGIN INSERT INTO employee(salary,last_name,first_name)VALUES(35000,’Wang’,'Fre d ’); SAVEPOINT save_a; INSERT INTO employee(salary,last_name,first_name) VALUES(40000,’Woo’,'David’); SAVEPOINT save_b; DELETE FROM employee WHERE dept_no=10; SAVEPOINT save_c; INSERT INTO employee(salary,last_name,first_name) VALUES(25000,’Lee’,'Bert’); ROLLBACK TO SAVEPOINT save_c;

oracle考试试题及答案

试题一 一、填空题(每小题4分,共20分) 1、数据库管理技术经历了人工管理、文件系统、数据库系统三个阶段 2、数据库三级数据结构是外模式、模式、内模式 3、Oracle数据库中,SGA由数据库缓冲区,重做日志缓冲区,共享池组成 4、在Oracle数据库中,完正性约束类型有Primay key约束。Foreign key约束,Unique约束,check约束,not need约束 5、PL/SQL中游标操作包括声明游标,打开游标,提取游标,关闭游标 二、正误判断题(每小题2分,共20分) 1、数据库中存储的基本对象是数据(T) 2、数据库系统的核心是DBMS(T) 3、关系操作的特点是集合操作(T) 4、关系代数中五种基本运算是并、差、选择、投影、连接(F) 5、Oracle进程就是服务器进程(F) 6、oraclet系统中SGA所有用户进程和服务器进程所共享(T) 7、oracle数据库系统中数据块的大小与操作系统有关(T) 8、oracle数据库系统中,启动数据库和第一步是启动一个数据库实例(T) 9、PL/SQL中游标的数据是可以改变的(F) 10、数据库概念模型主要用于数据库概念结构设计() 三、简答题(每小题7分,共35分) 1、何谓数据与程序的逻辑独立性和物理独立性? 2、试述关系代数中等值连接与自然连接的区别与联系? 3、何谓数据库,数据库设计一般分为哪些阶段? 4、简述Oracle逻辑数据库的组成?

5、试任举一例说明游标的使用方法? 五、设有雇员表emp(empno,ename,age,sal,tel,deptno), 其中:empno-----编号,name------姓名,age -------年齡,sal-----工资,tel-----电话 deptno-----部门号。 请按下列要求分别晨SQL*PLUS下编程。(每小题3分,共15分)?1、查询家有电话的职工信息。 ?2、查询工资在500至800元之间的雇员信息 ?3、按年龄递增顺序显示雇员编号、姓名、年龄、工资 ?4、求部门号为D_01的平均工资 ?5、查找部门号为D_01的40岁以上而工资在400元以下的雇员名单。 1、SQL>SELECT * FROM emp WHERE tel NOT NULL; 2、SQL>SELECT * FROM emp WHERE BETWEEN 500 AND 800; 3、SQL>SELECT empno,ename,age,sal FROM emp ORDER BY age ASC; 4、SQL>SELECT AVG(sal) FROM emp WHERE deptno='D_01'; 5、SQL>SELECT ename FROM emp WHERE deptno='D_01' AND age>40 AND Sal<400; ? 试题一答案 一、填空题 1、人工管理、文件系统、数据库系统 2、外模式、模式、内模式 3、数据库缓冲区,重做日志缓冲区,共享池 4、Primay key约束。Foreign key约束,Unique约束,check约束,not need 约束 5、声明游标,打开游标,提取游标,关闭游标 二、正误判断题 1、T 2、T 3、T 4、F 5、F 6、T 7、T 8、T 9、F 三、(略) 五、 1、SQL>SELECT * FROM emp WHERE tel NOT NULL; 2、SQL>SELECT * FROM emp WHERE BETWEEN 500 AND 800; 3、SQL>SELECT empno,ename,age,sal FROM emp ORDER BY age ASC; 4、SQL>SELECT AVG(sal) FROM emp WHERE deptno='D_01'; 5、SQL>SELECT ename FROM emp WHERE deptno='D_01' AND age>40 AND Sal<400; 试题二

oracle数据库期末考试试题及复习资料

oracle数据库期末考试试题及答案 A1、以下()内存区不属于SGA。 A.PGA B.日志缓冲区C.数据缓冲区D.共享池 D2、()模式存储数据库中数据字典的表和视图。 A.DBA B.SCOTT C.SYSTEM D.SYS C3、在Oracle中创建用户时,若未提及DEFAULT TABLESPACE 关键字,则Oracle就将()表空间分配给用户作为默认表空间。A.HR B.SCOTT C.SYSTEM D.SYS A4、()服务监听并按受来自客户端应用程序的连接请求。A.OracleHOME_NAMETNSListener B.OracleServiceSID C.OracleHOME_NAMEAgent D.OracleHOME_NAMEHTTPServer B5、()函数通常用来计算累计排名、移动平均数和报表聚合等。A.汇总B.分析C.分组D.单行 B6、()SQL语句将为计算列SAL*12生成别名Annual Salary A.SELECT ename,sal*12 ‘Annual Salary' FROM emp; B.SELECT ename,sal*12 “Annual Salary”FROM emp; C.SELECT ename,sal*12 AS Annual Salary FROM emp; D.SELECT ename,sal*12 AS INITCAP(“Annual Salary”) FROM

12 / 1 emp; B7、锁用于提供( )。 A.改进的性能 B.数据的完整性和一致性 C.可用性和易于维护 D.用户安全 C8、( )锁用于锁定表,允许其他用户查询表中的行和锁定表,但不允许插入、更新和删除行。 A.行共享B.行排他C.共享D.排他 B9、带有( )子句的SELECT语句可以在表的一行或多行上放置排他锁。 A.FOR INSERT B.FOR UPDATE C.FOR DELETE D.FOR REFRESH C10、使用( )命令可以在已分区表的第一个分区之前添加新分区。A.添加分区B.截断分区 C.拆分分区D.不能在第一个分区前添加分区 C11、( )分区允许用户明确地控制无序行到分区的映射。 A.散列B.范围C.列表D.复合 C12、可以使用()伪列来访问序列。 A.CURRVAL和NEXTVAL B.NEXTVAL和PREVAL C.CACHE和NOCACHE D.MAXVALUE和MINVALUE

Oracle数据库试题及答案word版本

O r a c l e数据库试题及 答案

Oracle数据库试题 一、选择题 1、段是表空间中一种逻辑存储结构,以下( D )不是ORACLE数据库使用的段类型。 (A)索引段(B)临时段(C)回滚段(D)代码段 2、 ORACLE数据库物理结构包括以下三种文件,以下不属于的是( A )。(A)系统文件(B)日志文件(C)数据文件(D)控制文件 3、数据库中有两个用户scott和muuser,物资表wz是属于myuser用户的,但当前用户是scott,要求查询物资表wz(wno,wname,wtype,wunit)物资单位wunit列为null的记录,取结果的前5条记录显示,以下正确的SQL语句是( C ) (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; 4、若当前日期为’25-5月-06’,以下( D )表达式能计算出5个月后那一天所在月份的最后一天的日期。 (A)NEXT_DAY(ADD_MONTHS(28-5月-06,5)) (B)NEXT_DAY(MONTHS_BETWEEN(28-5月-06,5)) (C)NEXT_DAY(MONTHS_BETWEEN(’28-5月-06’,5)) (D)NEXT_DAY(ADD_MONTHS(’28-5月-06’,5))

Oracle数据库试题

constraint pk_spj primary key (sno,pno,jno), constraint fk_spj_sno foreign key (sno) references s(sno), constraint fk_spj_pno foreign key (pno) references p(pno), constraint fk_spj_jno foreign key (jno) references j(jno) 实验二游标和函数 1、定义一个游标完成显示所有供应商名。 declare v_sname s.sname%type; cursor cursor_sname is select sname from s; begin for curso in cursor_sname loop dbms_output.put_line(curso.sname); end loop; end; 2、定义、调用一个简单函数:查询返回指定供应商编号的供应商名及其供应零件总数量。create or replace function fun(f_sno in s.sno%type,f_sname out s.sname%type) return number as f_qty number; begin SELECT s.sname,sum(qty) into f_sname,f_qty from s,spj WHERE s.sno=spj.sno GROUP BY s.sname,spj.sno having spj.sno=f_sno; return f_qty; end; declare v_sno s.sno%type:='&sno'; v_sname s.sname%type; v_qty spj.qty%type; begin v_qty:=fun(v_sno,v_sname); dbms_output.put_line(v_sname||v_qty); end; 3、定义一个函数:对于给定的供应商号,判断是否存在,若存在返回0,否则返回-1。写一段程序调用此函数,若供应商号存在则在spj插入一元组。

几个Oracle的笔试题

Oracle笔试试题 1. SQL必备 <选择题每空 1 分共 14题> 1. 如果在where子句中有两个条件要同时满足,应该用以下哪个逻辑符来连接 ( ) A.OR B.NOT C.AND D.NONE 2. 外连接的条件可以放在以下的那一个子句中( ) A.FROM B.WEHRE C.SELECT D.HAVING E.GROUP BY F.ORDER BY 3. 在从两个表中查询数据时,连接条件要放在哪个子句中( ) A.FROM B.WHERE C.SELECT D.HAVING E.GROUP BY 4. 用以下哪个子句来限制分组统计结果信息的显示( ) A.FROM B.WEHRE C.SELECT D.HAVING E.GROUP BY F.ORDER BY 5. 以下需求中哪个需要用分组函数来实现( ) A.把ORDER表中的定单时间显示成 'DD MON YYYY' 格式 B.把字符串 'JANUARY 28, 2000' 转换成日期格式 C.显示PRODUCT 表中的COST 列值总量 D.把PRODUCT表中的DESCRIPTION列用小写形式显示 6. 以下那些命令可以暗含提交操作( )

A.GRANT B.UPDATE C.SELECT D.ROLLBACK 7.RDBMS是下列哪一项的缩写( ) A. Relational DataBase Management System(关系数据库管理系统) B. Relational DataBase Migration System(关系数据库移植系统) C. Relational Data Migration System(关系数据移植系统) D. Relational DataBase Manage System(关系数据库管理系统) 8.INSERT 是( ) A. DML语句 B. DDL语句 C. DCL语句 D. DTL语句 9.SELECT CHR(66) FROM DUAL的结果是( ) A. Z B. S C. B D. 都不是 10.函数返回一个值除以另一个值后的余数( ) A. MOD B. ABS C. CEIL D. 以上都不是 11. 什么锁用于锁定表,仅允许其他用户查询表中的行,行不允许插入,更新, 或删除行( ) A. 共享 B. 排他 C. 共享更新 D. 以上都不是 12.什么是oracle提供的一个对象,可以生成唯一的连续的整数( ) A. 同义词 B. 序列 C. 视图 D. 没有 13. 那种类型的约束可以自动创建索引( ) A.CHECK B.UNIQUE

Oracle测试题及答案.doc

Oracle 式 学号_____________________________________ 姓名________________ 分数_ (一)按照题意写出SQL语句(45分每题3分) 本题用到下而三个关系表: 借书卡card (eno卡号,name姓名,class班级) 图书books (bno书号,bname书名,author作者,price单价,quantity库存册数) 借书记录borrow (eno借书卡号,bno书号,rdate还书曰期) 注:限定每人每种书只能借一本;库存册数随借书、还书而改变。 1.写出建立borrow表的SQL语句,要求定义主码完整性约束和引用完整性约束 create table card (eno char (6) primary key, name varchar2(10), class varchar2(12) ); create table books (bno char (8) primary key, bname varchar2(50), author varchar2(10), price number(5,3), quantity number(4) ); create table borrow (eno char (6) references card(eno) on delete cascade, bno char (8) references books (bno) on delete cascade, rdate date, primary key (eno, bno) ); 2.找出借书超过5本的读者,输出借书卡号及所借图书册数。 select eno, count (*)册数 from borrow group by eno having count(*)>5; 3.查询借阅了“水浒’’一书的读者,输出姓名及班级。 select name, class from card where eno in ( select eno from borrow where bno=( select bno from books where bname=’ 水游, ) ) 1.杏询过期未还图书,输出借阅者(卡号)、书号及还书曰期。

Oracle数据库基础题库【含答案】

1、判断题,正确请写写"T",错误请写写"F", 1、oracle数据库系统中,启动数据库的第一步是启动一个数据库实例。( T ) 2、Oracle服务器端的监听程序是驻留在服务器上的单独进程,专门负责响应客户机的连接请求。( F) 3、oracle数据库中实例和数据库是一一对应的(非ORACLE并行服务,非集群)。( T) 4、系统全局区SGA 是针对某一服务器进程而保留的内存区域,它是不可以共享的。( F ) 5、数据库字典视图ALL_***视图只包含当前用户拥有的数据库对象信息。( F ) 8、数据字典中的内容都被保存在SYSTEM表空间中。( T ) 9、HAVING后面的条件中可以有聚集函数,比如SUM(),AVG()等, WHERE 后面的条件中也可以有聚集函数。( F ) 10、"上海西北京" 可以通过like ‘%上海_’查出来。( F ) 11、表空间是oracle 最大的逻辑组成部分。Oracle数据库由一个或多个表空间组成。一个表空间由一个或多个数据文件组成,但一个数据文件只能属于一个表空间。( T ) 12、表空间分为永久表空间和临时表空间两种类型。( T ) 13、truncate是DDL操作,不能 rollback。( T ) 14、如果需要向表中插入一批已经存在的数据,可以在INSERT语句中使用WHERE语句。( F ) 15、Oracle数据库中字符串和日期必须使用双引号标识。( F ) 16、Oracle数据库中字符串数据是区分大小写的。( T ) 17、Oracle数据库中可以对约束进行禁用,禁用约束可以在执行一些特殊操作时候保证操作能正常进行。( F ) 18、为了节省存储空间,定义表时应该将可能包含NULL值的字段放在字段列表的末尾。( T ) 20、在连接操作中,如果左表和右表中不满足连接条件的数据都出现在结果中,那么这种连接是全外连接。( T ) 21、自然连接是根据两个表中同名的列而进行连接的,当列不同名时,自然连接将失去意义。( T ) 23、PL/SQL代码块声明区可有可无。( T ) 24、隐式游标与显式游标的不同在于显式游标仅仅访问一行,隐式的可以访问多行。( F )

ORACLE数据库习题

1.0RACLE数据库物理结构包括以下三种文件,以下不属于的是() A .系统文件 B.日志文件 C.数据文件 D.控制文件 2?下列哪个命令是用于ORACLE中数据导出的() A.exp B. imp C . in put D . output 3.()是用于控制数据访问的语言。 A.DML B . DDL C . DCL D . DLL 4.NULL表示什么() A . 0 B.空格 C .值D .没有值 5?下面四个语句中哪一个是正确的?() A . SELECT * , ENAME FROM EMP; B . DELETE * FROM EMP; C . SELECT DISTINCT EMPNO ,HIREDATE FROM EMP; D . SELECT ENAME|SAL AS “ namS FROM EMP ; 6?假定有一张表用户表users,其中一身份证字段ID_card。为了维护数据的完整性,在设计数据库时,最好对ID_card字段添加约束,请问应该添加什么约束() A . primary key B . check C . default D . notnull 7?下面哪一个like命令会返回名字象HOTKA的行?() A . where en ame like ‘ _HOT%' B . where ename like ‘ H_T%' C . where ename like ‘ %TKA_' D . where ename like ‘ %TOK%' 8.()操作符只返回由第一个查询选定但是没有被第二个查询选定的行。 A.UNION B.UNION ALL C.IN TERSECT D.MINUS 9 . EMPLOYEES表的结构如下: EMPLOYEE_ID NUMBER PRIMARY KEY FIRST_NAME VARCHAR2(25) LAST_NAME VARCHAR2(25) HIRE_DATE DATE 考虑下面的语句。 1.CREATE table n ew_emp (employee_id NUMBER, name VARCHAR2(30)); 2.IN SERT INTO n ew_emp SELECT employee_id,last_ name from employees; 3.Savepo int s2; 4.DELETE from n ew_emp; 5.ROLLBACK to s2; 6.DELETE from n ew_emp where employee_id=180; 7.UPDATE new_emp set name= ' James'; 8.R0LLBACK to s2;

Oracle期末考试试题及答案

Oracle期末考试试题及答案

考 生 信 息 栏 装 订 线 一、选择题:(本题共20个小题,每小题2分,共40分) 1当Oracle 服务器启动时,下列哪种文件不是必须的 ( ) 。 A. 数据文件 B. 控制文件 C. 日志文件 D. 归档日志文件 2. 在Oracle 中,一个用户拥有的所有数据库对象统称为 ( )。 A. 数据库 B. 模式 C. 表空间 D. 实例 3.在 Oracle 数据库的逻辑结构中有以下组件: 1. 表空间 2. 数据块 3. 区 4. 段 这些组件从大到小依次是( )。 A. 1→2→3→4 B.1→4→3→2 C.1→3→2→4 D. 4→1→3→2 4.下列哪个子句实现对一个结果集进行分组和汇总( )。 A.HAVING B.ORDER BY C.WHERE D.GROUP BY 5. 在Oracle 数据库中,( )用户模式存储数据字典表和视图对象。 A. SYS B. SYSTEM C. SCOTT D. SYSDBA 6.以下不属于命名的PL/SQL 块的是( )。 A .程序包 B .过程 C .游标 D .函数 7.在Oracle 中创建用户时,若未提及DEFAULT TABLESPACE 关键字,则Oracle 就将( )表空间分配给用户作为默认表空间。 A .HR B .SCOTT C .SYSTEM D .SYS

8.在Windows操作系统中,Oracle的( )服务是使用iSQL*Plus必须的。 A.OracleHOME_NAMETNSListener B. OracleServiceSID C. OracleHOME_NAMEAgent D. OracleHOME_NAMEHTTPServer 9.下列哪个语句可以在SQL*Plus 中直接调用一个过程( )。 A. RETURN B. CALL C. SET D. EXEC 10.如果服务器进程无法在数据缓冲区中找到空闲块,为添加从数据文件中读出的数据块,则系统会启动如下哪一个进程( ) A.CKPT B. DBWR C.LGWR D. SMON 11.下列哪一个锁模式不属于Oracle( )。 A.死锁 B.排他锁 C.行级共享锁 D.共享锁 12.有字符串数据”test”分别存放到char(10)和varchar2(10)类型的字段中,其实际存储长度为( ) A. 10 4 B. 4 4 C. 10 10 D. 4 10 13.在Oracle中,当控制一个显式游标时,下面哪种命令包含INTO子句( )。 A. FETCH B. CLOSE C. OPEN D. CURSOR 14. ORACLE中,用来判断列值是否为空的操作符是( )。 A. ==NULL B. NULLIS C. AS NULL D. IS NULL 15.查询一个表的总记录数,可以采用( )统计函数。 A. AVG(*) B. SUM(*) C. COUNT(*) D. MAX(*) 16.以下的哪个命令可以将SQL 命令的运行结果保存到文件中( )。 A.SAVE B.SPOOL C.GET D.INPUT 17.为了去除结果集中重复的行,可在SELECT 语句中使用下列哪个关键字( ) 。 A.ALL B.DISTINCT C.SPOOL D.HAVING 18.关于模式的描述下列哪一项不正确( )。 A.表或索引等模式对象一定属于某一个模式 B.在Oracle 数据库中,模式与数据库用户是一一对应的 C.一个表可以属于多个模式 D.一个模式可以拥有多个表 19.下列SELECT 语句中,哪些子句可以包含子查询( )。 A.SELECT B.GROUP BY C.WHERE D.ORDER BY 20.在下列模式对象中,哪个对象不会占用实际的存储空间( )。

Mysql-Oracle数据库测试题 -带答案

Oralce mysql 1、当你执行以下查询语句: SELECT empno,ename FROM emp WHERE empno =7782 or empno =7876; 在WHERE语句中,以下哪个操作符可以取代or?[参考答案:A] A、IN B、BETWEEN ……AND... C、<= D、>= 2、PL/SQL块中可以使用下列()命令。(选择两项)[参考答案:B,C] A、TRUNCATE B、DELETE C、SAVEPOINT D、ALTER TABLE 3、Oracle数据库的物理文件不包括[参考答案:D] A、数据文件(.dbf) B、重做日志文件(.log) C、控制文件(.ctl) D、缓存文件

4、哪个命令用来创建一个primary key constraint pk_books 在表BOOKS, 列ISBN上? 请选择一个[参考答案:C] A、create primary key on books(ISBN) B、create constraint pk_books primary key on books(ISBN) C、alter table books add constraint pk_books primary key (ISBN); D、alter table books add primary key (ISBN) 5、下列那个()不是Oracle默认的用户[参考答案:D] A、system B、sys C、scott D、sa 6、当创建过程时,可以实现输出数据的参数有[参考答案:B] A、IN参数 B、OUT参数 C、TEST参数 D、任何参数都不能输出 7、下面的case语句 DECLARE V_sal NUMBER:=1200; V_result NUMBER;

ORACLE数据库工程师面试题目

1. 解释冷备份和热备份的不同点以及各自的优点 解答:热备份针对归档模式的数据库,在数据库仍旧处于工作状态时进行备份。而冷备份指在数据库关闭后,进行备份,适用于所有模式的数据库。热备份的优点在于当备份时,数据库仍旧可以被使用并且可以将数据库恢复到任意一个时间点。冷备份的优点在于它的备份和恢复操作相当简单,并且由于冷备份的数据库可以工作在非归档模式下,数据库性能会比归档模式稍好。(因为不必将archive log写入硬盘) 2. 你必须利用备份恢复数据库,但是你没有控制文件,该如何解决问题呢? 解答:重建控制文件,用带backup control file 子句的recover 命令恢复数据库。 3. 如何转换init.ora到spfile? 解答:使用create spfile from pfile 命令. 4. 解释data block , extent 和segment的区别(这里建议用英文术语) 解答:data block是数据库中最小的逻辑存储单元。当数据库的对象需要更多的物理存储空间时,连续的data block就组成了extent . 一个数据库对象拥有的所有extents被称为该对象的segment. 5. 给出两个检查表结构的方法 解答:1.DESCRIBE命令 2.DBMS_METADATA.GET_DDL 包 6. 怎样查看数据库引擎的报错 解答:alert log. 7. 比较truncate和delete 命令 解答:两者都可以用来删除表中所有的记录。区别在于:truncate是DDL操作,它移动HWK,不需要rollback segment .而Delete是DML操作, 需要rollback segment 且花费较长时间. 8. 使用索引的理由 解答:快速访问表中的data block 9. 给出在STAR SCHEMA中的两种表及它们分别含有的数据 解答:Fact tables 和dimension tables. fact table 包含大量的主要的信息而dimension t ables 存放对fact table 某些属性描述的信息

相关文档
最新文档