Oracle 笔试题目带答案

Oracle 笔试题目带答案
Oracle 笔试题目带答案

1.( )程序包用于读写操作系统文本文件。(选一项)

A、Dbms_output

B、Dbms_lob

C、Dbms_random

D、Utl_file

2.( )触发器允许触发操作的语句访问行的列值。(选一项)

A、行级

B、语句级

C、模式

D、数据库级

3.( )是oracle在启动期间用来标识物理文件和数据文件的二进制文件。(选一项)

A、控制文件

B、参数文件

C、数据文件

D、可执行文件

4.CREATE TABLE 语句用来创建(选一项)

A、表

B、视图

C、用户

D、函数

5.imp命令的哪个参数用于确定是否要倒入整个导出文件。(选一项)

A、constranints

B、tables

C、full

D、file

6.ORACLE表达式NVL(phone,'0000-0000')的含义是(选一项)

A、当phone为字符串0000-0000时显示空值

B、当phone为空值时显示0000-0000

C、判断phone和字符串0000-0000是否相等

D、将phone的全部内容替换为0000-0000

7.ORACLE交集运算符是(选一项)

A、intersect

B、union

C、set

D、minus

8.ORACLE使用哪个系统参数设置日期的格式(选一项)

A、nls_language

B、nls_date

C、nls_time_zone

D、nls_date_format

9.Oracle数据库中,通过()访问能够以最快的方式访问表中的一行(选一项)

A、主键

B、Rowid

C、唯一索引

D、整表扫描

10.Oracle数据库中,下面()可以作为有效的列名。(选一项)

A、Column

B、123_NUM

C、NUM_#123

D、#NUM123

11.Oracle数据库中,以下()命令可以删除整个表中的数据,并且无法回滚(选一项)

A、drop

B、delete

C、truncate

D、cascade

12.Oracle中, ( )函数将char或varchar数据类型转换为date数据类型。(选一项)

A、date

B、to_date

C、todate

D、ctodate

13.ORACLE中,执行语句:SELECT address1||','||address2||','||address2 "Address" FROM employ;

将会返回()列(选一项)

A、0

B、1

C、2

D、3

14.Oralce数据库中,以下()函数可以针对任意数据类型进行操作。(选一项)

A、TO_CHAR

B、LOWER

C、MAX

D、CEIL

15.partition by list(msn_id)子句的含义是(选一项)

A、按msn_id列进行范围分区

B、按msn_id列进行列表分区

C、按msn_id列进行复合分区

D、按msn_id列进行散列分区

16.比较pagesize和linesize两个命令的特点,正确的是(选两项)

A、pagesize命令用于设置屏幕上每一页包含的行数

B、linesize命令用于设置屏幕上每一行的字符数

C、pagesize命令用于设置屏幕上每一行的字符数

D、linesize命令用于设置屏幕上每一页包含的行数

17.查询语句SELECT LTRIM('aaabaccaddefg','abc') FROM DUAL的返回结果是(选一项)

A、addefg

B、dde

C、ddefg

D、aabaccaddefg

18.带有()字句的SELECT语句可以在表的一行或多行放置排他锁(选一项)

A、FOR INSERT

B、FOR UPDATE

C、FOR DELETE

D、FOR REFRESH

19.调用ORACLE隐式游标的关键字是(选一项)

A、CURSOR

B、SQL

C、PLSQL

D、ORACLECURSOR

20.关于ORACLE锁的级别,说法正确的是(选一项)

A、ROW SHARE是表级锁

B、一个会话对表加了SHARE锁,别的会话不能对该表加SHARE锁

C、一个会话对表加了SHARE锁,别的会话不能对该表进行修改

D、使用UPDATE语句修改记录,系统一定会添加ROW SHARE锁

21.看下面代码,正确的是( 选一项)

A、DECLARE DBMS_OUTPUT.PUT_LINE('定义部分'); BEGIN

DBMS_OUTPUT.PUT_LINE('语句部分'); END;

B、BEGIN NUM NUMBER:=100; DBMS_OUTPUT.PUT_LINE('NUM 的值为:'||NUM); END;

C、DECLARE NUM NUMBER:=100; BEGIN NUM:=NUM+NUM/2;

DBMS_OUTPUT.PUT_LINE('NUM 的值为:'||NUM); END;

D、BEGIN NUM NUMBER:=100; DECLARE NUM:=NUM+NUM/2;

DBMS_OUTPUT.PUT_LINE('NUM 的值为:'||NUM); END;

22.可以使用下面的( )个数据字典查看当前数据库的表空间情况。(选一项)

A、dba_users

B、dba_tab_privs

C、dba_tablespaces

D、user_tab_privs

23.如果存储过程的参数类型为OUT,那么调用时传递的参数应该为(选一项)

A、常量

B、表达式

C、变量

D、都可以

24.如果希望更新Oracle表authors中first_name列为非空,可以使用哪个语句(选一项)

A、alter table authors add first_name not null

B、alter table authors modify first_name not null

C、alter table authors alter first_name not null

D、alter table authors drop first_name not null

25.如果希望执行某操作时,该操作不执行,而是执行另一个操作,那么可是使用什么方式来

完成(选一项)

A、before触发器

B、after触发器

C、instead of触发器

D、undo触发器

26.使用desc命令不能显示表的( )信息(选一项)

A、列名称

B、列长度

C、列是否为空

D、表中的记录数

27.数据字典在SGA的哪一个组件中缓存(选一项)

A、数据库高速缓冲区

B、共享

C、PGA

D、重做日志缓冲区

28.下列ORACLE说法错误的是(选一项)

A、UNION集合运算中不会存在重复记录

B、UNION ALL集合运算不会存在重复记录

C、INTERSECT运算结果是两个结果集合中共同的部分

D、MINUS运算中不存在第二个集合的记录

29.下列不属于ORACLE分析函数的是(选一项)

A、ROW_NUMBER

B、ROWNUM

C、RANK

D、DENSE_RANK

30.下列不属于ORACLE逻辑结构的是(选一项)

A、区

B、段

C、数据文件

D、数据块

31.下列不属于ORACLE游标属性的是(选一项)

A、ISOPEN

B、EXISTS

C、FOUND

D、ROWCOUNT

32.下列关于ORACLE的to_date函数和to_char函数,描述正确的是(选两项)

A、to_char 函数的作业是将字符串数据转换为日期数据

B、to_date 函数的作业是讲字符串转换为日期

C、to_char 函数是将日期数据转换为字符数据

D、to_date 函数是将日期数据转换为字符数据

33.下列哪个ORACLE后台进程是数据写入进程(选一项)

A、DBWR

B、SERVICELOG

C、LGWR

D、SMON

34.下列哪个进程主要职责是监控服务器进程和注册数据服务。(选一项)

A、SMON

B、PMON

C、DBWR

D、LGWR

35.下列说法错误的是(选两项)

A、在PL/SQL中使用<>表示不等于

B、在PL/SQL中使用!=表示不等于

C、在PL/SQL中使用相等判断使用==

D、在PL/SQL中赋值使用=

36.下列有关包的使用说法错误的是(选一项)

A、在不同的包内模块可以重名

B、包的私有过程不能被外部程序调用

C、包体中的全局过程和函数必须在包头部分说明

D、必须先创建包头,然后创建包体

37.下列有关存储过程的特点说法错误的是(选一项)

A、存储过程不能将值传回调用的主程序

B、存储过程是一个命名的模块

C、编译的存储过程存放在数据库中

D、一个存储过程可以调用另一个存储过程

38.下列有关函数的特点说法错误的是(选一项)

A、函数必须定义返回类型

B、函数参数的类型可以是OUT

C、在函数体内可以多次使用RETURN语句

D、函数的调用应使用EXECUTE命令

39.下面哪个ORACLE函数把字符串x的所有单词的首字母变成大写(选一项)

A、initcap

B、concat

C、upper

D、lower

40.下面哪个操作会导致用户连接到ORACLE数据库,但不能创建表(选一项)

A、授予了CONNECT的角色,但没有授予RESOURCE的角色

B、没有授予用户系统管理员的角色

C、数据库实例没有启动

D、数据库监听没有启动

41.下面哪个用户不是ORACLE缺省安装后就存在的(选一项)

A、SYSMANAGER

B、SYSTEM

C、SYS

D、SCOTT

42.下面那个部分是PL/SQL中必须存在的部分(选一项)

A、声明部分

B、执行部分

C、异常处理部分

D、跳转块

43.下面是有关Oracle主键约束的描述,正确的是(选一项)

A、主键约束用于唯一的确定表中的每一行数据

B、在一个表中,最多只能有2个主键约束

C、主键约束只能由一个列组成

D、主键约束不能由一个单列组成

44.下面是有关系统权限和对象权限的描述,正确的是(选一项)

A、系统权限是针对某个对象的权限,对象权限不与数据库中的某个对象关联

B、系统权限和对象权限都是针对某个对象操作的权限

C、系统权限和对象权限都不与具体的对象关联

D、系统权限不与数据库中的对象关联,对象权限是针对某个对象操作的权限

45.序列的两个属性是(选两项)

A、currval

B、nowval

C、nextval

D、preval

46.要审计用户执行的create,drop,和alter等ddl语句,应创建( )触发器。(选一项)

A、行级

B、语句级

C、模式

D、数据库

47.以下需求中哪个需要用分组函数来实现(选一项)

A、把ORDER表中的定单时间显示成'DD MON YYYY' 格式

B、把字符串'JANUARY 28, 2000' 转换成日期格式

C、显示PRODUCT 表中不同种类产品的COST的和

D、把PRODUCT表中的DESCRIPTION列用小写形式显示

48.有关ORACLE包的说法正确的是(选一项)

A、包的声明和包体中的函数可以在参数个数上不一致

B、包中不能定义变量

C、包中定义的全局变量所有的子过程都可以使用

D、包中的存储过程不能重载,但函数可以重载

49.有关ORACLE触发器的说法正确的是(选一项)

A、可以通过手工的方式激发触发器

B、停用触发器的唯一方法是删除触发器

C、行级触发器是在修改每条记录时都触发一次

D、在行级触发器中可以使用deleted和inserted表

50.有关ORACLE存储过程说法正确的是(选两项)

A、可以在查询语句中调用储存过程

B、存储过程是一次编译多次使用

C、存储过程通过传出参数的形式对外提供数据传递

D、存储过程中不能调用其他的存储过程

51.有关ORACLE的INSTEAD OF触发器说法正确的是(选一项)

A、替代触发器的触发源可以是表

B、替代触发器可以后置触发

C、替代触发器就是用触发器执行部分替换DML语句的操作

D、替代触发器仍然会执行DML语句

52.有关ORACLE函数说法错误的是(选一项)

A、函数中可以对表进行处理

B、函数的主要作用是进行业务处理

C、函数主要是对传入的参数进行数据处理

D、函数可以递归调用

53.有关ORACLE函数说法正确的是(选一项)

A、ORACLE不能自定义函数

B、函数每次调用的时候都需要解释执行PL/SQL

C、函数只能在查询中使用

D、函数可以不带参数

54.有关ORACLE视图说法正确的是(选一项)

A、视图的数据和对应表的数据单独存储

B、视图只能在存储过程中使用

C、使用WITH CHECK OPTION可以保证通过视图修改数据不会改变表视图的记录数

D、如果表不存在不能创建视图

55.有关ORACLE数据类型下列说法正确的是(选一项)

A、%TYPE是取的一个行结构类型

B、%ROWTYPE是取的一个行结构类型

C、VARCHAR2在PL/SQL中和SQL中表示数据的长度一致

D、PL/SQL和SQL中都有逻辑类型

56.有关ORACLE索引说法正确的是(选一项)

A、索引的数据和表的数据分开存储,但索引组织表除外

B、所有索引中的数据是顺序排序

C、分区表的索引必须统一存储

D、只能对分区表的索引进行分区

57.有关ORACLE异常说法正确的是(选一项)

A、可以利用非预定异常抛出有编号的异常

B、用户可以定义预定义异常

C、自定义异常反应的是ORACLE系统错误

D、使用try…catch抓异常

58.有关触发器的维护说法错误的是(选两项)

A、触发器创建后由系统自动调用

B、在触发器中不能执行事务操作

C、可以人为的设定触发器是否有效

D、不能对一个表的所有触发器同时修改为无效

59.有关序列说法错误的是(选一项)

A、序列的起始值必须在最大值和最小值之间

B、序列开始使用后不能进行修改

C、序列如果可以循环取值,下一个循环的开始值是minvalue指定的值

D、第一次使用序列的NEXTV AL得到的是起始值

60.阅读以下PL/SQL程序:

begin

for idx in 1..10 loop

dbms_output.put_line('Index='||idx);

end loop;

end;

下说法正确的是(选一项)

A、程序出错,因为第2行变量idx没有声明

B、程序出错,因为第3行字符串连接应该用+号,而不是||

C、程序出错,因为第3行变量idx必须用TO_CHAR函数进行类型转换

D、该段代码可以正常运行

61.在Oracal中,阅读以下PL/SQL代码:

DELCARE

vempno number;

BEGIN

SELECT empno INTO vempno FROM emp;

...

END;

针对上述PL/SQL片段,可能发生的异常是(选两项)

A、TOO_MANY_ROWS

B、DUP_CAL_ON_INDEX

C、NO_DATA_FOUND

D、ZERO_DIVIDE

62.在Oracle 中,使用了如下的语句创建用户TOM

CREATE USER TOM IDENTIFIED BY TOMSYS

则对于该用户而言,以下说法错误的是(选一项)

A、该用户的口令为TOMSYS

B、TOM默认为表空间为SYSSTEM

C、TOM 的临时表空间为TEMP

D、使GRANT UPDATE 命令可以修改TOM的口令

63.在oracle程序中处理语句时发生的逻辑错误导致( )故障。(选一项)

A、实例

B、介质

C、语句

D、用户进程

64.在Oracle数据库中,使用以下语句创建一个触发器:

Create or replace trigger ai_emp

After insert on emp

For each row

Begin

:new.ename:=upper(:new.ename);

End ai_emp;

以下说法正确的是(选一项)

A、触发器创建成功,该触发器将每次插入的新记录的ename列变为大写

B、触发器创建成功,该触发器将每次insert语句插入的第一条记录的ename列变为大写

C、触发器创建失败,因为insert触发器不能更改:new对象的值

D、触发器创建失败,因为after触发器不能更改:new对象的值

65.在Oracle系统中,可以使用( )提交完成的事务。(选一项)

A、commit

B、rollback

C、savepoint

D、transaction

66.在oracle中( )是最小的存储空间。(选一项)

A、区

B、段

C、块

D、表空间

67.在Oracle中, 关于HA VING 子句, 以下说法正确的是(选一项)

A、HA VING子句和WHERE子句相同

B、HA VING子句用于单行的条件查询

C、HA VING子句用于已分组的条件查询

D、HA VING子句必须紧跟在WHERE子句后面使用

68.在Oracle中,( )操作符返回两个查询所选定的所有不重复的行。(选一项)

A、INTERSECT

B、MINUS

C、UNION

D、OR

69.在Oracle中,INSTEAD OF触发器主要用于(选一项)

A、表

B、表和视图

C、基于单个表的视图

D、基于多个表的视图

70.在Oracle中,PL/SQL块中定义了一个带参数的游标:

CURSOR emp_cursor(dnum NUMBER) IS

SELECT sal,comm FORM emp WHERE deptno=dnum;

那么正确打开此游标的语句是(选一项)

A、OPEN emp_cursor(20);

B、OPEN emp_cursor FOR 20;

C、OPEN emp_cursor USING 20;

D、FOR rmp_rec IN emp_cursor(20) LOOP ... END LOOP;

71.在ORACLE中,rank()函数和dense_rank()函数的差别是(选一项)

A、rank函数和dense_rank函数都没有跳跃

B、rank函数和dense_rank函数都有跳跃

C、rank函数有跳跃dense_rank函数没有跳跃

D、rank函数没有跳跃dense_rank函数有跳跃

72.在Oracle中,表EMP包含以下列:

……

NAME VARCHAR2(20)

ADDR VARCHAR2(60)

……

要以NAME's address is ADDR格式返回数据,以下SQL语句正确的是(选一项)

A、SELECT NAME '''s address is ' ADDR FROM EMP;

B、SELECT NAME || '''s address is ' || ADDR FROM EMP;

C、SELECT NAME '\'s address is ' ADDR FROM EMP;

D、SELECT NAME || '\'s address is ' || ADDR FROM EMP;

73.在Oracle中,表分区方式()建议分区数是2的幂(2、4、8等),以获得最平均的数据发

布(选一项)

A、范围分区

B、列表分区

C、散列分区

D、复合分区

74.在Oracle中,不属于游标属性的是(选一项)

A、%NOTFOUND。

B、%FOUND

C、%ISCLOSED

D、%ROWTYPE

75.在ORACLE中,当col为( )时,col > any ( 5 , 10 , 28 ) 为假。(选一项)

A、22

B、2

C、12

76.在Oracle中,当FETCH语句从游标获得数据时,下面叙述正确的是(选一项)

A、游标打开

B、游标关闭

C、当前记录的数据加载到变量中

D、创建变量保存当前记录的数据

77.在Oracle中,当从SQL表达式调用函数时,下列描述不正确的是(选一项)

A、从SELECT语句调用的函数均不能修改数据库表

B、函数可以带有IN、OUT等模式的参数

C、函数的返回值必须是数据库类型,不得使用PL/SQL类型

D、形式参数必须使用数据库类型,不得使用PL/SQL类型

78.在Oracle中,当需要使用显式游标更新或删除游标中的行时,声明游标时指定的SELECT

语句必须带有()子句。(选一项)

A、WHERE CURRENT OF

B、INTO

C、FOR UPDATE

D、ORDER BY

79.在Oracle中,第1个用户对数据库表Product实行了如下的命令:

SELECT * FROM Product WHERE ProductID='001' FOR UPDATE;

此时第2个用户也对该表执行了如下命令:

SELECT * FROM Product WHERE ProductID='001' FOR UPDATE WAIT 3;

UPDATE Product SET ProductID='002' WHERE ProductID='001';

COMMIT;

则针对第2个用户,说法正确的是(选一项)

A、修改成功,将ProductID为001的记录改为ProductID为002

B、等待3秒后修改成功,将ProductID为001的记录改为ProductID为002

C、提示资源被占用,如果第一个用户在3秒期间释放了资源,则提示修改成功

D、等待时间大雨3秒,第1个用户释放资源后,修改成功

80.在Oracle中,关于PL/SQL下列描述正确的是(选一项)

A、PL/SQL代表Power Language/SQL

B、PL/SQL不支持面向对象编程

C、PL/SQL块包括声明部分、可执行部分和异常处理部分

D、PL/SQL提供的四种内置数据类型是character,integer,float,boolea

81.在Oracle中,关于程序包的描述不正确的是(选一项)

A、程序包是一种数据库对象,它是对相关PL/SQL类型、子程序、游标、异常、变量和常

量的封装

B、程序包中私有对象是通过PRIV ATE关键字来标识的

C、PL/SQL允许两个或多个打包的子程序具有同一名称,只要子程序接受的参数数据类型

D、程序包具有模块化、信息隐藏、新增功能及性能更佳等优点

82.在Oracle中,关于触发器的描述正确的是(选一项)

A、触发器可以删除,但不能禁用

B、触发器只能用于表

C、触发器可以分为行级和语句级

D、触发器是一个对关联表发出select、insert、update或delete语句时触发的存储过程

83.在Oracle中,关于锁,下列描述不正确的是(选一项)

A、锁用于在用户之间控制对数据的并发访问

B、可以将锁归类为行级锁和表级锁

C、insert、update、delete语句自动获得行级锁

D、同一时间只能有一个用户锁定一个特定的表

84.在Oracle中,关于子程序的描述不正确的是(选一项)

A、子程序是已命名的PL/SQL块,可带参数并可在需要时随时调用

B、子程序可以具有声明部分、可执行部分和异常处理部分

C、子程序参数的模式只有IN和OUT两种模式

D、子程序可分为过程和函数两种类型

85.在ORACLE中,模式是(选一项)

A、创建表的模板

B、一个用户下所有对象的集合

C、一种设计数据库的方法

D、数据库别名

86.在Oracle中,你需要创建索引提高薪水审查的性能,该审查要对员工薪水提高12个百分点

后进行分析处理,下面哪个create index命令能解决此问题(选一项)

A、CREATE INDEX my_idx_1 ON employee(salary*1.12);

B、CREATE UNIQUE INDEX my_idx_1 ON employee(salary)

C、CREATE BITMAP INDEX my_idx_1 ON employee(salary);

D、CREATE INDEX my_idx_1 ON employee(salary) REVERSE;

87.在Oracle中,你以SYSDBA登录,CUSTOMER表位于Mary用户方案中,下面哪条语句

为数据库中的所有用户创建CUSTOMER表的同义词()。(选一项)

A、CREATE PUBLIC SYNONYM cust ON mary.customer;

B、CREATE PUBLIC SYNONYM cust FOR mary.customer;

C、CREATE SYNONYM cust ON mary.customer FOR PUBLIC;

D、不能创建CUSTOMER的公用同义词。

88.在Oracle中,使用下列语句产生序列:

CREATE SEQUENCE id;

Oracle服务器会预开辟内存并维持的序列值有()个(选一项)

B、10

C、20

D、100

89.在Oracle中,使用以下语句创建视图:

CREATE OR REPLACE VIEW pen_view

AS SELECT * FROM order_master

WHERE ostatus = ‘p’ WITH CHECK OPTION;

当用户试图执行以下语句:

UPDATE pen_view SET ostatus = ‘d’ WHERE ostatus=’p’;

下列描述正确的是(选一项)

A、Oracle将ostatus修改为d,不提示任何错误

B、Oracle不执行更新操作,并返回错误信息

C、Oracle将ostatus修改为d,同时返回错误信息

D、Oracle不执行更新操作,也不提示任何错误

90.在Oracle中,使用以下语句创建视图;

create or replace view myView

as select * from orders

where status='p';

假定Orders表中包含10条status='p'的记录,当用户试图执行以下语句;

update myView set status='o' where status='p';

下列正确的是(选一项)

A、Oracle不执行更新操作,并返回错误信息

B、Oracle成功执行更新操作,再次查看视图时返回0行记录

C、Oracle成功执行更新操作,再次查看视图时返回10行记录

D、Oracle执行更新操作,但提示错误信息

91.在Oracle中,事务中使用下列SQL语句不会引起锁定(选一项)

A、SELECT

B、INSERT

C、UPDATE

D、DELETE

92.在Oracle中,数据库中的触发器是一个对关联表发出insert、update或()语句时触发的存

储过程。(选一项)

A、delete

B、drop

C、create

D、truncate

93.在Oracle中,通过命令()可以释放锁。(选一项)

A、INSERT

C、ROLLBACK

D、UNLOCK

94.在Oracle中,下列( )语句不能用于控制游标。(选一项)

A、Open

B、Create

C、Fetch

D、Close

95.在Oracle中,下列关于PL/SQL的说法不正确的是(选一项)

A、PL/SQL支持DML、DDL和DCL

B、PL/SQL支持游标操作和事务命令

C、声明部分是必选的

D、可执行部分是必选的

96.在Oracle中,下列哪种标量类型不能保存到数据库表中(选一项)

A、CHAR

B、BLOB

C、DATE

D、BOOLEAN

97.在Oracle中,下面关于函数描述正确的是(选两项)

A、SYSDATE函数返回Oracle服务器的日期和时间

B、ROUND数字函数按四舍五入原则返回指定十进制数最靠近的整数

C、ADD_MONTHS日期函数返回指定两个月份天数的和

D、SUBSTR函数从字符串指定的位置返回指定长度的子串

98.在Oracle中,下述( )命令会使挂起的事务完成。(选一项)

A、COMMIT

B、DELETE

C、UPDATE

D、SELECT

99.在Oracle中,序列venseq使用下面的语句创建:

CREATE SEQUENCE venseq INCREMENT BY 1 START WITH 10

MAXVALUE 100 MINV ALUE 10 CYCLE CACHE 5;

下面对序列venseq修改的语句,错误的是(选一项)

A、ALTER SEQUENCE venseq START WITH 1

B、ALTER SEQUENCE venseq MAXVALUE 90;

C、ALTER SEQUENCE venseq NOMINVALUE;

D、ALTER SEQUENCE venseq NOCACHE;

100.在Oracle中,以下不属于集合操作符的是(选一项)

B、SUM

C、MINUS

D、INTERSECT

101.在Oracle中,用户()拥有所有内置的程序包。(选一项)

A、SYS

B、SYSTEM

C、PUBLIC

D、DEFAULT

102.在Oracle中,用下列语句定义了一个过程:

CREATE OR REPLACE PROCEDURE test(a IN VARCHAR2,

b IN OUT NUMBER,

c OUT VARCHAR2) IS

BEGIN

……

END;

假定使用的变量都已定义,下面对过程test的调用语法正确的是(选一项)

A、test('String1',50,v_str2)

B、test(v_str1,v_num1,'String2')

C、test('String1',v_num1,v_str2)

D、test(v_str1,20,v_str2)

103.在Oracle中,用下列语句定义了一个过程:

CREATE PROCEDURE proc(value1 IN VARCHAR2,value2 OUT NUMBER,value3 IN OUT VARCHAR2)

IS

BEGIN

……

END;

假定使用的变量都已定义,下面对过程proc的调用语法正确的是(选一项)

A、proc('tt',10,v3)

B、proc('tt',v2,v3)

C、proc(v1,v2,v3)

D、proc('tt',10,'dd')

104.在Oracle中,用以下SQL命令创建了一个序列:

CREATE SEQUENCE my_seq

START WITH 394

INCREMENT BY 12

NOMINVALUE

NOMAXVALUE

NOCYCLE

用户执行包含my_seq.NEXTVAL的SQL语句三次,然后执行包含

my_seq.CURRVAL的SQL语句四次,请问序列my_seq的当前值是(选一项)

A、406

B、418

C、430

D、442

105.在Oracle中,有表“cd”它包含列“cdcode”,“category”和“cdname”,要查询category 取值为“CLASSIC”或“ROCK”的行,应采用语句(选两项)

A、SELECT * FROM cd WHERE category IN ('CLASSIC','ROCK');

B、SELECT * FROM cd WHERE category BETWEEN 'CLASSIC' AND 'ROCK';

C、SELECT * FROM cd WHERE category='CLASSIC'AND category='ROCK';

D、SELECT * FROM cd WHERE category='CLASSIC' OR category='ROCK';

106.在Oracle中,有一个名为seq的序列对象,以下语句能返回序列值但不会引起序列值增加的是(选一项)

A、select seq.ROWNUM from dual

B、select seq.ROWID from dual;

C、select seq.CURRVAL from dual;

D、select seq.NEXTV AL from dual;

107.在Oracle中,阅读下列PL/SQL块:

DECLARE

v_lower NUMBER:=2;

v_upper NUMBER:=100;

v_count NUMBER:=1;

BEGIN

FOR i IN v_lower..v_upper LOOP

INSERT INTO test(results) VALUES (v_count);

v_count := v_count + 1;

END LOOP;

END;

请问FOR LOOP循环体执行了()次。(选一项)

A、1

B、2

C、98

D、100

108.在Oracle中,在SQL提示符下调用存储过程的方法是(选两项)

A、使用CALL语句

B、使用EXECUTE语句

C、使用RUN语句

D、直接使用过程名

109.在Oracle中,在以下情形建立位图索引可以获得较好的性能(选一项)

A、在列值唯一的列上建立

B、在列值相差很小的列上建立

C、在列值频繁重复的列上建立

D、在用于保存位图的列上建立

110.在Oracle中,在执行SQL语句时,你不小心使用Update命令将所有的ID值设置成了11111,那么使用( )命令可以取消这一操作。(选一项)

A、EXIT

B、OUIT

C、COMMIT

D、ROLLBACK

111.在Oracle中,执行下面的语句:

SELECT ceil(-97.342),

floor(-97.342),

round(-97.342),

trunc(-97.342)

FROM dual;

哪个函数的返回值不等于-97(选一项)

A、ceil()

B、floor()

C、round()

D、trunc()

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

(选一项)

A、OracleHOME_NAMETNSListener

B、OracleServiceSID

C、OracleHOME_NAMEAgent

D、OracleHOME_NAMEHTTPServe

113.在非归档方式下操作的数据库禁用了(选一项)

A、归档日志。

B、联机日志。

C、日志写入程序。

D、日志文件。

114.子程序的( )模式参数可以在调用子程序时指定一个常量。(选一项)

A、in

B、out

C、In out

D、inout

oracle课后题答案

一、选择题 1. 若关系的某一属性组的值能唯一地标识一个元组,我们称之为(B)。 A、主码 B、候选码 C、外码 D、联系 2. 以下不属于数据库模式的三要素的是(C)。 A、数据结构 B、数据操作 C、数据控制 D、完整性约束 3. 以下对关系性质的描述中,哪个是错误的?(B) A、关系中每个属性值都是不可分解的 B、关系中允许出现相同的元组 C、定义关系模式时可随意指定属性的排列次序 D、关系中元组的排列次序可以任意交换 二、填空题 1.数据管理发展的三个阶段是人工管理、文件管理和数据库系统管理。 2.数据库系统的三级模式包括逻辑模式、用户模式、物理模式。 三、思考题 1. 数据库管理系统的主要功能有哪些? 1)数据定义功能。DBMS提供相应数据语言来定义(DDL)数据库结构,它们是刻画数据库框架,并被保存在数据字典中。 2)数据存取功能。DBMS提供数据操纵语言(DML),实现对数据库数据的基本存取操作:检索,插入,修改和删除。 3)数据库运行管理功能。DBMS提供数据控制功能,即是数据的安全性、完整性和并发控制等对数据库运行进行有效地控制和管理,以确保数据正确有效。 4)数据库的建立和维护功能。包括数据库初始数据的装入,数据库的转储、恢复、重组织,系统性能监视、分析等功能。 5)数据库的传输;DBMS提供处理数据的传输,实现用户程序与DBMS之间的通信,通常与操作系统协调完成。 2.思考关系规范化的过程。 答:对于存在数据冗余、插入异常、删除异常问题的关系模式,应采取将一个关系模式分解为多个关系模式的方法进行处理。一个低一级范式的关系模式,通过模式分解可以转换为若干个高一级范式的关系模式,这就是所谓的规范化过程。 3.思考数据库设计的步骤。 答:1需求分析、2概念设计阶段、3逻辑结构设计阶段、4数据库物理结构设计阶段、5数据库实施阶段、6数据库运行和维护阶段。

oracle练习题及答案

WORD格式 1.找出各月倒数第3天受雇的所有员工 selectenamefromempwherelast_day(hiredate)-2=hiredate; 2.找出早于12年前受雇的员工 selectenamefromempwheremonths_between(sysdate,hiredate)>=144; 3.以首字母大写的方式显示所有员工的姓名 selectinitcap(ename)fromemp; 4.显示正好为5个字符的员工的姓名 selectenamefromempwherelength(ename)=5; 5.显示不带有“R”的员工姓名 selectenamefromempwhereinstr(ename,'R',1,1)=0; 6.显示所有员工姓名的前三个字符 selectsubstr(ename,1,3)fromemp; 7.显示所有员工的姓名,用“a”替换所有的“A” selectename,replace(ename,'A','a')fromemp; 8.显示满10年服务年限的员工的姓名和受雇日期 selectename,hiredatefromempwheremonths_between(sysdate,hiredate)>=120; 9.显示员工的详细资料,按姓名排序 select*fromemporderbyenamedesc; 10.显示员工的姓名和受雇日期,根据其服务年限,将最老的员工排在最前面selectename,hiredatefromemporderbyhiredate; 11.显示所有员工的姓名、工作和薪金,按照工作的降序排序,若工作相同则按薪金排序selectename,job,salfromemporderbyjobdesc,sal; 12.显示所有员工的姓名、加入公司的年份和月份,按受雇日期所在月排序,若月份 相同则将最早年份的员工排在最前面 selectename,to_char(hiredate,'yyyy')h,to_char(hiredate,'mm')m fromemporderbym,h; 13.显示在一个月为30天的情况所有员工的日薪金,忽略余数 selecttrunc(sal/30)fromemp; 14.找出在(任何年份的)2月受聘的所有员工 selectenamefromempwhereto_char(hiredate,'mm')=2; 15.对于每个员工显示其加入公司的天数 selectename,sysdate-hiredatefromemp; 16.显示姓名字段的任何位置包含“A”的所有员工姓名 selectenamefromempwhereinstr(ename,'A',1,1)<>0; selectenamefromempwhereenamelike'%A%'; 专业资料整理

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

2019年oracle期末考试试题及答案

A.PGA B.日志缓冲区C.数据缓冲区D.共享池 2、()模式存储数据库中数据字典的表和视图。 A.DBA B.SCOTT C.SYSTEM D.SYS 3、在Oracle中创建用户时,若未提及DEFAULT TABLESPACE关键字,则Oracle就将() 表空间分配给用户作为默认表空间。 A.HR B.SCOTT C.SYSTEM D.SYS 4、()服务监听并按受来自客户端应用程序的连接请求。 A.OracleHOME_NAMETNSListener B.OracleServiceSID C.OracleHOME_NAMEAgent D.OracleHOME_NAMEHTTPServer 5、()函数通常用来计算累计排名、移动平均数和报表聚合等。 A.汇总B.分析C.分组D.单行 6、()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、锁用于提供( )。 A.改进的性能 B.数据的完整性和一致性 C.可用性和易于维护 D.用户安全 8、( )锁用于锁定表,允许其他用户查询表中的行和锁定表,但不允许插入、更新和删除 行。 A.行共享B.行排他C.共享D.排他 9、带有( )子句的SELECT语句可以在表的一行或多行上放置排他锁。 A.FOR INSERT B.FOR UPDATE C.FOR DELETE D.FOR REFRESH 10、使用( )命令可以在已分区表的第一个分区之前添加新分区。 A.添加分区B.截断分区 C.拆分分区D.不能在第一个分区前添加分区 11、( )分区允许用户明确地控制无序行到分区的映射。 A.散列B.范围C.列表D.复合 12、可以使用()伪列来访问序列。 A.CURRVAL和NEXTVAL B.NEXTVAL和PREVAL C.CACHE和NOCACHE D.MAXVALUE和MINVALUE 13、带有错误的视图可使用()选项来创建。 A.FORCE B.WITH CHECK OPTION C.CREATE VIEW WITH ERROR D.CREATE ERROR VIEW

oracle课后题答案总教学内容

o r a c l e课后题答案总

第一章 一、选择题 1. 若关系的某一属性组的值能唯一地标识一个元组,我们称之为(B)。 A、主码 B、候选码 C、外码 D、联系 2. 以下不属于数据库模式的三要素的是(C)。 A、数据结构 B、数据操作 C、数据控制 D、完整性约束 3. 以下对关系性质的描述中,哪个是错误的?(B) A、关系中每个属性值都是不可分解的 B、关系中允许出现相同的元组 C、定义关系模式时可随意指定属性的排列次序 D、关系中元组的排列次序可以任意交换 二、填空题 1.数据管理发展的三个阶段是人工管理、文件管理和数据库系统管理。 2.数据库系统的三级模式包括逻辑模式、用户模式、物理模式。 三、思考题 1. 数据库管理系统的主要功能有哪些? 1)数据定义功能。DBMS提供相应数据语言来定义(DDL)数据库结构,它们是刻画数据库框架,并被保存在数据字典中。 2)数据存取功能。DBMS提供数据操纵语言(DML),实现对数据库数据的基本存取操作:检索,插入,修改和删除。

3)数据库运行管理功能。DBMS提供数据控制功能,即是数据的安全性、完整性和并发控制等对数据库运行进行有效地控制和管理,以确保数据正确有效。 4)数据库的建立和维护功能。包括数据库初始数据的装入,数据库的转储、恢复、重组织,系统性能监视、分析等功能。 5)数据库的传输;DBMS提供处理数据的传输,实现用户程序与DBMS之间的通信,通常与操作系统协调完成。 2.思考关系规范化的过程。 答:对于存在数据冗余、插入异常、删除异常问题的关系模式,应采取将一个关系模式分解为多个关系模式的方法进行处理。一个低一级范式的关系模式,通过模式分解可以转换为若干个高一级范式的关系模式,这就是所谓的规范化过程。 3.思考数据库设计的步骤。 答:1需求分析、2概念设计阶段、3逻辑结构设计阶段、4数据库物理结构设计阶段、5数据库实施阶段、6数据库运行和维护阶段。 第二章 一、选择题 1、Oracle 11g不具备的版本是(C) A.个人版 B.标准版 C. 扩展板 D.企业版 2、oracle 数据库的数据字典不能做的工作有(B) A.查找oracle数据库用户信息

ORACLE数据库习题(有答案)

--1.列出至少有一个雇员的所有部门。 SELECT * FROM DEPT WHERE DEPTNO IN (SELECT DISTINCT DEPTNO FROM EMP); --2.列出薪金比“SMITH”多的所有雇员。 SELECT * FROM EMP WHERE SAL>(SELECT SAL FROM EMP WHERE ENAME='SMITH'); --3.列出所有雇员的姓名及其上级的姓名。 SELECT AS empName, AS mgrName FROM emp ygb,emp sjb WHERE =; --4.列出入职日期早于其直接上级的所有雇员。 SELECT * FROM emp ygb WHERE hiredate<(SELECT hiredate FROM emp sjb WHERE =; --5.列出所有部门的名称和这些部门的雇员编号及姓名(没有雇员的部门包含在内) SELECT dname,ename FROM dept a LEFT JOIN emp b ON =; --6.列出所有JOB 为“CLERK”(办事员)的员工姓名及其部门名称 SELECT ename,dname FROM dept a,emp b WHERE = AND job='CLERK'; --7.列出各种类型的最低薪金,并使最低薪金大于。 SELECT job,MIN(sal) FROM emp GROUP BY job HAVING MIN(sal)>1500; --8.列出从事“SALES”(销售)工作的雇员的姓名,假定不知道销售部的部门编号。 SELECT ename FROM emp WHERE deptno=(SELECT deptno FROM dept WHERE dname='SALES'); --9.列出薪金高于公司平均水平的所有雇员。 SELECT * FROM EMP WHERE SAL>(SELECT AVG(SAL) FROM EMP); --10.列出与“SCOTT”从事相同工作的所有雇员。 SELECT * FROM EMP WHERE JOB=(SELECT JOB FROM EMP WHERE ENAME='SCOTT') AND ENAME<>'SCOTT'; --11.列出薪金等于部门中任何一个雇员薪金的员工姓名和 薪金 SELECT ENAME,SAL FROM EMP WHERE SAL IN(SELECT SAL FROM EMP WHERE DEPTNO=30); SELECT ENAME,SAL FROM EMP WHERE SAL =ANY(SELECT SAL FROM EMP WHERE DEPTNO=30); --12.列出薪金高于部门中所有雇员薪金的员工姓名和薪金SELECT * FROM EMP WHERE SAL >ALL(SELECT SAL FROM EMP WHERE DEPTNO=30); --13.列出所有部门的部门名称、地点以及该部门中雇员的数量 SELECT DNAME,DEPTNO,LOC, (SELECT COUNT(*) FROM EMP E WHERE = AS TOTAL FROM DEPT; --14.列出各种类别工作的最低工资 SELECT job,MIN(sal) FROM emp GROUP BY job; --15.列出各个部门的MANAGER(经理)的最低薪金。 SELECT MIN(sal) FROM emp WHERE job='MANAGER' GROUP BY DEPTNO; --1. 查询所有部门员工的编号、姓名、月薪及奖金。 select empno,ename,sal,comm from emp where deptno=10; --2. 查询员工WHITE的员工编号。 select empno from emp where ename='WHITE'; --3. 查询所有员工的编号及收入。(提示:收入=月薪+奖金)select empno 编号,sal+nvl(comm,0) as 收入from emp; --4. 查询所有员工的编号、姓名、工种及其工龄,按工龄降序排序,工龄相同时按编号升序排序。 Select empno,ename,job,trunc(months_between(sysdate,hiredate)/12) 工龄from emp order by 工龄desc,empno asc; --5. 统计各部门的员工人数及工种类型数。 select deptno,count(*) 人数,count(distinct job) 工种类型数from emp group by deptno; --6. 查询部门人数多于人的部门编号。 select deptno,count(*) from emp group by deptno having count(*) > 3; --7. 统计各部门各种工作类别的最低月薪,显示最低薪金大于的记录。 select deptno,job,min(sal) from emp group by deptno,job having min(sal)>1500; --8. 统计、及部门员工平均工资。 select deptno,coung(*) from emp where deptno in (10,20,30) group by deptno; --9. 查询工资水平在至间的各部门员工人数。 select deptno,count(*) from emp where sal between 2000 and 5000 group by deptno; --10. 查询公司最高领导人的员工编号及姓名。 select empno,ename from emp where mgr is null; --1、编写一查询,显示与Blake在同一部门工作的雇员的姓名和受雇日期,但是Blake不包含在结果内。 select ename,hiredate from emp where deptno in (select deptno from emp where lower(ename)='black') and lower(ename)!='black'; --2、创建一查询,显示工资大于平均工资水平的雇员的编号及姓名,输出结果按工资降序排列。 select empno,ename,sal from emp where sal>(select avg(sal) from emp) order by sal desc; --3、显示位置在Dallas的部门内的雇员的姓名、编号及工作。 select ename,empno,job from emp inner join dept on = where lower(loc)='dallas'; --4、显示被King直接管理的雇员的姓名及其工资。 select , from emp e1 inner join emp e2 on = where lower='king'; --5、显示在Sales部门工作的雇员的部门编号、姓名及工作。 select empno,ename,job from emp inner join dept on = where lower(dname)='sales'; --6、编写一查询,显示与能获得奖金的雇员的奖金和工资同时匹配的雇员的编号和工资。 select ,, from emp e1 inner join emp e2 on = and = where !=; --7、显示与工作在Dallas的雇员的工资及奖金同时匹配的雇员的姓名、部门名称及工资。 select ,, from emp e inner join dept d on = where (sal,nvl(comm,0)) in (select sal,nvl(comm,0) from emp where deptno in (select deptno from dept where lower(loc)='dallas') ); --8、创建一查询,显示能获得与Scott一样工资和奖金的其他雇员的姓名、受雇日期及工资。 select ename,hiredate,sal from emp where (sal,nvl(comm,0)) in

2019-2020学年第一学期《Oracle数据库》期末考试

2019-2020学年第一学期《Oracle数据库》期末考试适用班级:1801,1802,1803,1804 1、手动创建数据库的第一步是() A.启动实例 B.启动SQL*Plus 以SYSDBA身份连接Oracle C.查看系统的实例名 D.创建参数文件 2、创建一个数据库至少需要几个控制文件?() A.一个B.二个C.三个D.无 3、执行CREATE DATABASE命令之前,应该发出的命令是() A.STARTUP INSTANCE B.STARTUP NOMOUNT C.STARTUP MOUNT D.以上都不是 4、DBA使用哪个命令显示当前归档状态?() A.ARCHIVE LOG LIST B.FROM ARCHIVE LOGS C.SELECT * FROM V$THREAD D.SELECT * FROM ARCHIVE_LOG_LIST 5、把多路镜像控制文件存于不同磁盘最大的好处是() A.数据库性能提高 B.防止失败 C.提高归档速度 D.能并发访问提高控制文件的写入速度6、段的集合称为() A.区B.段C.表空间D.数据库 7、数据字典表和视图存储在() A.USERS表空间B.SYSTEM表空间 C.TEMPORARY表空间D.以上三个中任意 8、数据块的哪三个部分合称为块头部?() A.表目录、行目录和行数据 B.标题、表目录、空闲区 C.表目录、行目录、标题 D.块头部、行数据、行头部 9、临时表空间中用于排序的段是何时创建的() A.排序操作开始的时候 B.临时表空间创建的时候 C.当排序操作需要内存操过1KB的时候。 D.上述所有选项。 10、如果未定义临时表空间,哪一个会作为默认的临时表空间?() A.ROLLBACK B.USERS C.INDEX D.SYSTEM 11、Oracle实例是() A.Oracle 内存结构B.Oracle I/O 结构 C.Oracle 后台进程D.以上都是 12、最近使用过的SQL语句存储在() A.共享池B.数据高速缓冲区C.私有全局区D.用户全局区13、Oracle事务提交即() A.数据由DBWR进程写入磁盘文件 B.LGWR进程成功写入日志 C.PMON 进程提交 D.SMON 进程写数据 14、实例启动时数据库所处的状态是() A.MOUNT B.OPEN C.NOMOUNT D.None 15、用于删除约束的命令是哪一个?() 一、单选题(20*2分=40分)

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习题练习

习题1安装和运行Oracle数据库 一、填空题 1.数据库管理系统采用的数据模型主要有:(网状模型)、(层次模型)和(关系模型)。 2.(交换方式)是指数据库使用者利用数据库管理系统提供的软件工具,直接对数据库进行操作,操作结果立即返回到操作界面。 3.(数据库)是存储在计算机内,按一定数据模型组织的、可共享的数据集合。 4.通常,把每一个类数据对象的个体称为(实体)。 5.对于每一个实体集,可指定一个码为(主码)。 6.Oracle是(面向对象的关系型)数据库管理系统。 7.Oracle系统主要是由(oracle database)和(oracle application)两大产品及Oracle管理程序包等其他产品组成的。 8.从Oracle DataBase 10g开始,通过设置初始化参数(SHAED_SERVERS)可以自动激活共享服务器特征。 9.(Oracle数据库10g企业版)是为关键任务的应用程序(如大业务的在线事务处理(OLTP)环境、查询密集的数据仓库和要求苛刻的因特网应用程序)提供了高效、可靠、安全的数据管理的Oracle DataBase 10g版本。 10.Oracle 10g提供了(Automatic Storage Management ),从而在不需要第三方面产品的情况下实现冗余性和数据分离。 二、选择题 1.两个实体集A和B之间的联系不可能是以下(D)种情况。 A.1:1 B.1 : n C.m : n D.以上答案都不对 2.绘制E-R图时,当一个属性或属性组合指定为主码时,在实体集与属性的连接线上标记( D)。 A.矩形框 B.带圆角矩形框 C.线段 D.斜线 3.绘制E-R图时,实体用(A )表示。 A.矩形框 B.带圆角矩形 C.线段 D.斜线 4.(C)语言是过程化SQL的缩写。

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基础练习题及答案(子查询)

子查询 1.查询和scott相同部门的员工姓名ename和雇用日期hiredate select ename,hiredate from emp where deptno=(select b.deptno from emp a,dept b where a.deptno=b.deptno and ename='SCOTT'); 2.查询工资比公司平均工资高的所有员工的员工号empno,姓名 ename和工资sal。 select empno,ename,sal from emp where sal>(select avg(sal) from emp ); 3.查询和姓名中包含字母u的员工在相同部门的员工的员工号 empno和姓名ename select empno,ename from emp a,dept b where a.deptno(+)=b.deptno and a.deptno=(select deptno from emp where ename like'%U%'); 4.查询在部门的loc为newYork的部门工作的员工的员工姓名 ename,部门名称dname和岗位名称job select ename,dname,job from emp a,dept b where a.deptno=b.deptno and loc='NEW YORK'; 5.查询管理者是king的员工姓名ename和工资sal select a.ename,a.sal from emp a,emp b where a.mgr=b.empno and b.ename='KING';

Oracle基础练习题及答案(多表查询1)

利用scott用户自带的四张表完成如下作业: 1.列出至少有一个员工的所有部门 selectb.deptno,b.dnamefromemp a,dept bwherea.deptno=b.deptnogroupbyb.deptno,b.dnamehavingcount(*)>=1; 2.列出薪金比SMITH高的所有员工 select*fromempwheresal>(selectsalfromempwhereename='SMITH'); 3.列出所有员工的姓名及其直接上级领导的姓名 selecta.ename,b.ename "leader"fromemp a,emp bwherea.mgr=b.empno; 4.列出受雇日期早于其直接上级的所有员工的编号,姓名,部门名称 selecta.empno,a.ename,a.hiredate,c.dnamefromempa,empb,deptcwherea.mgr= b.empnoanda.deptno=c.deptnoanda.hiredate

oracle期末考试试题及答案打印

Oracle期末考试试题及答案 1、以下()内存区不属于SGA。 A.PGAB.日志缓冲区C.数据缓冲区D.共享池 2、()模式存储数据库中数据字典的表和视图。 A.DBAB.SCOTTC.SYSTEMD.SYS 3、在Oracle中创建用户时,若未提及DEFAULTTABLESPACE关键字,则Oracle就将()表空间分配给用户作为默认表空间。 A.HRB.SCOTTC.SYSTEMD.SYS 4、()服务监听并按受来自客户端应用程序的连接请求。 A.OracleHOME_NAMETNSListenerB.OracleServiceSID C.OracleHOME_NAMEAgentD.OracleHOME_NAMEHTTPServer 5、()函数通常用来计算累计排名、移动平均数和报表聚合等。 A.汇总B.分析C.分组D.单行 6、()SQL语句将为计算列SAL*12生成别名AnnualSalary A.SELECTename,sal*12‘AnnualSalary’FROMemp; B.SELECTename,sal*12“AnnualSalary”FROMemp; C.SELECTename,sal*12ASAnnualSalaryFROMemp; D.SELECTename,sal*12ASINITCAP(“AnnualSalary”)FROMemp; 7、锁用于提供()。 A.改进的性能B.数据的完整性和一致性 C.可用性和易于维护D.用户安全 8、()锁用于锁定表,允许其他用户查询表中的行和锁定表,但不允许插入、更新和删除行。 A.行共享B.行排他C.共享D.排他 9、带有()子句的SELECT语句可以在表的一行或多行上放置排他锁。 A.FORINSERTB.FORUPDATE C.FORDELETED.FORREFRESH

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 找出佣金高于薪金60%的雇员。 SELECT * FROM emp WHERE comm>sal*; 2 找出部门10中所有经理和部门20中所有办事员的详细资料。 SELECT * FROM emp WHERE deptno=10 AND JOB='MANAGER' OR deptno=20 AND job='CLERK'; 3 找出部门10中所有经理,部门20中所有办事员以及既不是经理又不是办事员但其薪金大于或等2000的所有雇员的详细资料。 SELECT * FROM emp WHERE deptno=10 AND JOB='MANAGER' OR deptno=20 AND job='CLERK' OR JOB NOT IN('MANAGER','CLERK') AND SAL>=2000; SELECT * FROM emp WHERE deptno=10 AND JOB='MANAGER' OR deptno=20 AND job='CLERK' OR (JOB<>'MANAGER' AND JOB<>'MANAGER' AND SAL>=2000); 4 找出收取佣金的雇员的不同工作。 SELECT DISTINCT JOB FROM EMP WHERE COMM IS NOT NULL; 5 找出不收取佣金或收取的佣金低于300的雇员。 SELECT * FROM EMP WHERE COMM IS NULL OR COMM<300; 6 找出各月最后一天受雇的所有雇员。 SELECT * FROM EMP WHERE HIREDATE=LAST_DAY(HIREDATE); --找出各月最后受雇的所有雇员 SELECT * FROM emp WHERE hiredate IN (SELECT maxh FROM (SELECT MAX(HIREDATE) maxh,EXTRACT(MONTH FROM hiredate)FROM EMP GROUP BY EXTRACT(MONTH FROM hiredate))); 7 找出晚于26年之前受雇的雇员。 SELECT * FROM emp WHERE months_between(SYSDATE,hiredate)<=26*12; 8 显示只有首字母大写的的所有雇员的姓名。 SELECT * FROM emp WHERE ename=initcap(ename); 9 显示正好为5个字符的雇员的姓名。 SELECT * FROM emp WHERE length(ename)=5; 10显示不带有“R”的雇员姓名。 SELECT * FROM emp WHERE instr(ename,'R')=0; SELECT * FROM emp WHERE ename NOT LIKE '%R%'; 11显示所有雇员的姓名的前三个字符。 SELECT substr(ename,1,3) AS en3 FROM emp; 12显所有雇员的姓名,用a替换所有“A”。

oracle期末考试题与答案

1、以下()存区不属于SGA。A A.PGA B.日志缓冲区 C.数据缓冲区 D.共享池 2、()模式存储数据库中数据字典的表和视图。B 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、()SQL语句将为计算列SAL*12生成别名Annual Salary D 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、锁用于提供( )。D

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

相关文档
最新文档