ORACLE第六章习题及答案
Oracle 考试试题(带答案)

a) b) c) d) 参考答案
OracleHOME_NAMETNSListener OracleServiceSID OracleHOME_NAMEAgent OracleHOME_NAMEHTTPServer
B
9) 在 Oracle 中创建用户时,若未提及 DEFAULT TABLESPACE 关键字,则 Oracle 就将()表空间分配 给用户作为默认表空间。。
DATEPART EXTRACT TO_CHAR TRUNC
bc
5) 在Oracle中,有一个教师表teacher的结构如下: ID NUMBER(5) NAME VARCHAR2(25) EMAIL VARCHAR2(50) 下面哪个语句显示没有Email地址的教师姓名()。
a) b) c) d) 参考答案
a) b) c) d) 参考答案
OracleHOME_NAMETNSListener OracleServiceSID OracleHOME_NAMEAgent OracleHOME_NAMEHTTPServer
a
8) 在Windows操作系统中,Oracle的()服务是使用 iSQL*Plus必须的。
A
12) 在Oracle中,下面用于限制分组函数的返回值的子句是 ()。
a) WHERE b) HAVING c) ORDER BY d) 无法限定分组函数的返回值
参考答案 b
13) 在Oracle中,有一个名为seq的序列对象,以下语句能返 回序列值但不会引起序列值增加的是()。
a) b) c) d) 参考答案
%NOTFOUND %FOUND %ROWTYPE %ISOPEN %ROWCOUNT
c
15) 在Oracle中,当控制一个显式游标时,下面哪种命令包 含INTO子句()。
Oracle数据库管理习题及答案

1.6习题一.填空题1、关系模型提供了3类完整性规则,分别是_______、_______、_______。
参考答案:实体完整性规则、参照完整性规则、用户定义的完整性规则2、RDBMS由两部分组成,即_______、_______两部分。
答案:数据库系统内核、数据字典3、关系数据库模型支持三种类型的表关联关系:_______、_______、_______。
答案:一对一、一对多以及多对多4、数据模型的种类有很多,例如_______、_______、_______和_______等。
目前理论最成熟、使用最普及的是_______。
答案:层次模型、网状模型、关系数据模型、面向对象模型。
关系数据模型二、选择题1、Oracle 11g版本号中字母“g”的含义是()A.产品类型的“代”( generation) B.网格(gridding)C.集成(integration)D.无含义答案:A2、设计性能较优的关系模式称为规范化,规范化主要的理论依据是()A.关系规范化理论B.关系运算理论C.关系代数理论D.数理逻辑答案:A3、消除了部分函数依赖的1NF的关系模式必定是()A.1NF B.2NF C.3NF D.4NF答案:B4、当B属于函数依赖于A属性时,属性B及A 的联系是()A.1对多B.多对1 C.多对多D.以上都不是答案:B5、根据关系数据库规范化理论,关系数据库中的关系要满足第一范式。
下面“部门”关系中,因哪个属性而使它不满足第一范式?部门(部门号,部门名,部门成员,部门总经理)A.部门总经理B.部门成员C.部门名D.部门号答案:B6、下列不属于Oracle数据库数据类型的是()A.NUMBER B.FLOAT C.CLOB D.BOOLEAN 答案:D三、简答题1、简述数据库及数据库管理系统的区别。
参考答案:数据库是用来存储信息或数据的机制,是按照数据结构来组织、存储和管理数据的仓库。
可以被定义为是在计算机存储设备上合理存放的,互相关联的数据集合。
Oracle 考试试题(带答案)

select seq.ROWNUM from dual; select seq.ROWID from dual; select seq.CURRVAL from dual; select seq.NEXTVAL from dual;
c
14) 在Oracle中,游标都具有下列属性,除了()。
a) b) c) d) e) 参考答案
(10) Dnnn:调度进程 (11) Snnn:共享服务器进程 (12) LMS:全局缓存服务进程
3在orders表上建立一个触发器,使得一旦订单成功不能修改下订单日期 答: create or replace trigger Refuse before update of orderdate on orders begin raise_application_error(-20001,'不能改变订单日期!'); END;
--显示结果(1000)条
session2 ---------------------------------------
T2 delete from t where rownum <=100;
T3
begin
delete from t where rownum <=100;
commit;
end;
/
T4 truncate table t;
where s.id=t.id); commit; 请问之后查询: select GRADE from student_grade where id = 3;结果为: C
A: 0 B: 70 C: null D: 以上都不对
19 根据以下的在不同会话与时间点的操作,判断结果是多少,
session1 -------------------------------------T1 select count(*) from t;
Oracle数据库基础教程-参考答案

Oracle数据库基础教程-参考答案第2章数据库服务器的安装与卸载一..在安装数据库服务器之前需要进行如下准备:①启动操作系统,并以Administrator身份登录。
②检查计算机名称、检查源文件完整路径,如果包含中文字符则需要修改为不含中文字符。
③检查服务器系统是否满足软硬件要求。
④对服务器进行正确网络配置。
⑤如果服务器上运行其它Oracle服务,必须在安装前将它们全部停止。
⑥如果服务器上运行有以前版本的Oracle数据库,则必须对其数据进行备份。
⑦决定数据库的创建方式。
(2)数据库服务器的企业版,标准版,个人版有什么区别?并适用于什么环境?企业版数据库服务器包含所有的数据库组件,主要针对高端的应用环境,适用于安全性和性能要求较高的联机事务处理(OLTP)、查询密集型的数据仓库和要求较高的Internet应用程序:标准版数据库服务器提供大部分核心的数据库功能和特性,适合于工作组或部门级的应用程序:个人版数据库服务器只提供基本数据库管理功能和特性,适合单用户的开发环境,为用户提供开发测试平台。
(3)常用的数据库类型?有何区别?分别适用于什么类型的应用常用数据库类型包括事务处理类、数据仓库类以通用类型。
其中事务处理类型主要针对具有大量并发用户连接,并且用户主要执行简单事务处理的应用环境。
事务处理数据库的典型应用有银行系统数据库、Internet电子商务数据库、证券交易系统数据库等。
对于需要较高的可用性和事务处理性能、存在大量用户并行访问相同数据以及需要较高恢复性能的数据库环境,事务处理类型的配置可以提供最佳性能;数据仓库类型的数据库主要针对有大量的对某个主题进行复杂查询的应用环境。
数据仓库的典型应用有客户订单研究、支持呼叫、销售预测、采购模式以及其他战略性业务问题的历史数据研究。
对于需要对大量数据进行快速访问,以及复杂查询的数据库环境,数据仓库类型配置是最佳选择;通用类型配置的数据库是事务处理数据库与数据仓库配置的折衷方案。
数据库第六章习题答案

第六章习题答案一、选择填空1、A2、C3、D4、B5、D6、A7、C8、A9、D 10、A11、C 12、A 13、B 14、C 15、C 16、D 17、B 18、C 19、A 20、D21、C 22、B二、判断下列描述的正确性,对者划√,错者划×。
1、√2、×3、×4、×5、√6、√7、×8、√9、×10、√11、√12、√13、√14、√15、×16、√17、√18、√19、√20、×21、×22、×三、分析下列程序的输出结果。
1、运行该程序输出结果如下所示。
Default constructor calledConstructor calleda=0,b=0a=4,b=82、运行该程序输出结果如下所示。
a=7,b=93、运行该程序输出结果如下所示。
1044、运行该程序输出结果如下所示。
1035,789.5045、运行该程序输出结果如下所示。
1{}{0,1,2,3,4,5,6,7,8}1{11,12,13,14,15,16,17,18,19}{19,18,17,16,15,14,13,12,11}6、运行该程序输出结果如下所示。
Starting1:Default constructor called.Default constructor called.Default constructor called.Eding1:Starting2:Constructor: a=5,b=6Constructor: a=7,b=8Constructor: a=9,b=10Ending2:Destructor called.a=9,b=10Destructor called.a=7,b=8Destructor called.a=5,b=6Destructor called.a=5,b=6Destructor called.a=3,b=4Destructor called.a=1,b=27、运行该程序输出结果如下所示。
第4-6章习题答案oracle

第4-6章习题答案oracle一、在客户表customers中提取以下数据1、输出客户全名(First_name+last_name)具有最多英文字母数的客户资料select * from customerswhere length(first_name||last_name)=(select max(length(first_name||last_name))from customers);2、输出所有客户的资料,如果生日为空,则用1970年1月1日代替,如果电话为空,则用0代替。
select customer_id,first_name,last_name,nvl(dob,to_date('19700101','yyyymmdd')),nvl(phone,'0')from customers;3、查询First_name中第2个字母是元音字母(aeiou)的客户全名select first_name||' '||last_namefrom customerswhere lower(substr(first_name,2,1)) in ('a','e','i','o','u');4、输出所有1970年6月1日之前出生的客户资料,其中生日(dob)的输出形式改成“xxxx 年xx月xx日”select customer_id,first_name,last_name,to_char(dob,'yyyy')||'年'||to_char(dob,'mm')||'月'||to_char(dob,'dd')||'日',phonefrom customerswhere dob<to_date('19700601','yyyymmdd');< bdsfid="124" p=""></to_date('19700601','yyyymmdd');<>5、统计年龄大于17000天的客户数量select count(*)from customerswhere sysdate-dob>17000;6、统计年龄大于45岁的客户数量select count(*)from customerswhere months_between(sysdate,dob)/12>45;7、输出客户名字、客户生日以及客户生日所在月份有多少天select first_name||' '||last_name,dob,to_char(last_day(dob),'dd') from customers;8、提取客户名字、客户生日所在的月份select first_name||' '||last_name,to_number(to_char(dob,'mm'))from customers;二、在商品表products中提取以下数据1、有几种不同的商品类型(product_type_id)?(不统计商品类型为空的商品)select count(distinct product_type_id)from productswhere product_type_id is not null;2、商品描述信息(description)里带music的商品数量select count(*)from productswhere description like'%music%';select count(*)from productswhere instr(description,'music')>0;3、查询描述信息(description)里带alien的商品价格总和。
oracle习题+答案

oracle习题+答案1、在Oracle 数据库服务器的安装过程中,哪一个帐户不是默认创建的帐户A: SYSB: DBAC: SYSTEMD: SCOTT答案: B2、创建新的Oracle数据库,可以采用的工具是A: Oracle Database Configuration AssistantB: Oracle Universal InstallerC: Net ManagerD: SQL*Plus答案: A3、关于客户端和服务器的说法,正确的是A: 客户端不能以管理员身份登录B: 客户端也可以执行创建数据库的操作C: 客户端可以执行日常的管理操作,如启动数据库D: 服务器端软件不包含客户端软件答案: C4、关于安装数据库的说法,正确的是A: 一台服务器上,只能安装1个Oracle数据库B: 一台服务器上,可以安装2个Oracle数据库,但必需安装2套服务器软件C: 一台服务器上,可以安装2个数据库,但只能运行一个数据库D: 一台服务器上,可以同时安装运行2个数据库答案: D5、专有服务器模式的特点是A: 连接用户较多B: 每次连接时间短C: 多个用户共享服务器资源D: 保证单个客户工作效率高答案: D6 、安装Oracle服务器软件,不会用到的工具是A: Oracle Universal InstallerB: Oracle Database Configuration AssistantC: Oracle Enterprise Management ConsolD: Oracle Net Configuration Assistant答案: C7 、Oracle数据库文件的默认的安装位置是哪个子目录A: adminB: oradataC: binD: database8、CONN scott/tiger@db01 AS SYSDBA登录数据库,连接的模式是A: SCOTTB: SYSC: PUBLICD: SYSTEM 答案: B9、关于口令文件,说法正确的是A: 口令文件的名称为PWDdb01.oraB: 口令文件中包含了全部具有SYSDBA权限的账户的口令信息C: 口令文件中,可以加入的具有SYSDBA权限的账户,不受限制D: 普通用户也可以通过口令文件验证身份答案: B10、关于数据库实例服务,说法正确的是A: 关闭数据库实例服务,数据库将随之关闭B: 启动实例服务后,数据库将始终处于打开状态C: 不能删除和重建数据库实例服务D: 当关闭数据库时,对应的实例服务也跟随关闭答案: A11、如果在服务器开机时,不想启动数据库,可以通过A: 修改初始化参数B: 修改控制文件C: 修改实例服务状态D: 修改数据库状态答案: C12、将数据库启动到装载状态的命令A: startupB: startup nomountC: startup mountD: startup open答案: B13、使用shutdown命令关闭数据库,发生的次序是A: 先关闭实例进程B: 先关闭数据库C: 先卸载数据库D: 没有先后次序答案: A14、执行shutdown transactional命令A: 数据库仍然允许新的用户连接B: 数据库马上关闭C: 等待当前所有会话结束后关闭D: 如果没有执行中的数据库事物,即马上关闭答案: C15、服务器断电,发生的现象是哪一个?A: 数据缓冲区的修改写入数据库B: 没有提交的事物自动撤销C: 数据文件、控制文件和日志文件处于不一致状态D: 下次启动,需要进行手工恢复答案: B16、用户SCOTT正在执行UPDATE语句,需要保证SCOTT的修改操作完成,理想的关闭实例方式是A: SHUTDOWN ABORTB: SHUTDOWN IMMEDIATEC: SHUTDOWN TRANSACTIONALD: SHUTDOWN NORMAL答案: B17、在哪种关闭方式下,SMON进程要对数据库实例进行恢复A: NORMALB: TRANSACTIONALC: IMMEDIATED: ABORT答案: C18、数据库高速缓冲区的大小,由哪个文件指定A: 控制文件B: 参数文件C: 口令文件D: 跟踪文件答案: A19、静态初始化参数文件的特点是A: 文件是文本文件形式B: 启动实例优先选用C: 总是驻留在服务器端D: 能够动态进行参数的修改答案: A20、数据库启动的哪个阶段打开控制文件A: 启动实例阶段B: 装载数据库阶段C: 打开数据库阶段D: 关闭数据库阶段答案: B21、数据库处于哪个状态,可以创建数据库A: SHUTDOWNB: NOMOUNTC: MOUNTD: OPEN答案: B22、每天数据库的操作信息记录到A: 后台跟踪文件B: 归档日志文件C: 警告文件D: 重做日志文件答案: C23、同时存在以下的初始化参数文件,优先使用的是A: spfiledb01.oraB: spfile.oraC: initdb01.oraD: init.ora答案: A24、以下语句能正确删除基本表“学生表”的是( C )A、DELETE TABLE 学生表B、DELETE 学生表C、DROP TABLE 学生表D、DROP 学生表25、使用下列哪种语句可以创建数据库( A )A、CREATE DATABASEB、CREATE TABLEC、ALTER DTABASED、ALTER TABLE26、表在数据库中是一个非常重要的数据对象,它是用来( C )各种数据内容的A、显示B、查询C、存放D、检索27、日志文件用于保存( D )A、程序运行结果B、数据操作C、数据库数据D、数据库的更新操作28、数据库恢复的重要依据是( D )A、DBA b、DB c、文档d、事务日志29、对DB中数据的操作分成两大类( A )。
Oracle数据库系统应用开发实用教程习题库带答案章节练习题复习题思考题章末测试题1-10章全

习题1一、选择题1.命令行方式的管理工具是()。
A.SQL*PlusB.iSQL*PlusC.Oracle企业管理器控制台D.SQL*Plus工作表2.对Oracle数据库进行管理,可以采用的工具是()。
A.Oracle Universal InstallerB.Oracle Database Configuration AssistantC.Oracle Enterprise Management ConsoleD.Net Manager3.为了使用iSQL*Plus工具,首先要启动()服务。
A.Oracle ServiceSIDB.OracleHOME_NAMETNSListenerC.OracleDBConsoleSIDD.OracleHome_NameiSQL*PLUS4.( )服务监听并接受来自客户端应用程序的连接请求。
A.OracleHOME_NAMETNSListenerB.OracleServiceSIDC.OracleDBConsoleSIDD.OracleHome_NameiSQL*PLUS5.为了使客户应用程序可以访问Oracle Server,在客户端需要配置以下哪个文件?()A.tnsnames.oraB.sqlnet.oraC.listener.ora6.为了使客户应用程序可以访问Oracle Server,在服务器端需要配置以下哪个文件?()A.tnsnames.oraB.sqlnet.oraC.listener.ora二、简答题1.简述Oracle 10g数据库服务器的企业版、标准版、个人版之间的区别和适用环境。
2.安装Oracle 10g 时,对硬件、软件有何要求?3.监听程序有什么作用?它是数据库服务器上的程序还是管理客户机上的程序?4.Oracle有哪些查询工具?5. 如何利用isql*plus连接到Oracle?6. 创建一用户,使之连接到Oracle,并更改其密码。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1:使用游标和loop循环来显示所有部门的名称
declare
cursor empcur is select job from emp;
a emp.job%type;
begin
open empcur;
loop
fetch empcur into a;
exit when empcur%notfound;
dbms_output.put_line(a);
end loop;
close empcur;
end;
2:使用游标和loop循环来显示所有部门的的地理位置(用%found属性)
declare
cursor empcur is select loc from dept;
a dept.loc%type;
begin
open empcur;
loop
fetch empcur into a;
exit when not empcur%found;
dbms_output.put_line(a);
end loop;
close empcur;
end;
3:接收用户输入的部门编号,用for循环和游标,打印出此部门的所有雇员的所有信息declare
b emp.deptno%type;
cursor empcur(d emp.deptno%type)is select*from emp where deptno=d;
begin
b:=&部门编号;
for a in empcur(b)
loop
dbms_output.put_line(a.empno||','||a.ename||','||a.job||','||a.mgr||','||a.hiredate||','||a.sa l||','||m||','||a.deptno);
end loop;
end;
4:向游标传递一个工种,显示此工种的所有雇员的所有信息
5:用更新游标来为雇员加佣金:
clerk+300
salesman+400
analyst+500
others null
declare
cursor empcur is select*from emp for update;
begin
for a in empcur
loop
if a.job='CLERK'then
update emp set sal=sal+300where current of empcur;
elsif a.job='SALESMAN'then
update emp set sal=sal+400where current of empcur;
elsif a.job='ANALYST'then
update emp set sal=sal+500where current of empcur;
end if;
end loop;
end;
6:编写一个PL/SQL程序块,对名字以‘A’或‘S’开始的所有雇员按他们的基本薪水的10%给他们加薪
declare
cursor empcur is select*from emp where ename like'A%'or ename like'S%'for update; begin
for a in empcur loop
dbms_output.put_line(a.ename||'原来的工资:'||a.sal);
update emp set sal=sal*1.1where current of empcur;
end loop;
end;
7:编写一个PL/SQL程序块,对所有的salesman增加佣金500
declare
cursor empcur is select*from emp for update;
begin
for a in empcur
loop
if a.job='SALESMAN'then
update emp set sal=sal+500where current of empcur;
end if;
end loop;
end;
8:编写一个PL/SQL程序块,以提升2个资格最老的职员为高级职员(工作时间越长,资格越老)
9:编写一个PL/SQL程序块,对所有雇员按他们的基本薪水的20%为他们加薪,如果增加的薪水大于300就取消加薪
declare
cursor empcur is select*from emp for update;
begin
for a in empcur
loop
if a.sal*0.2<=300then
update emp set sal=sal*1.2where current of empcur;
end if;
end loop;
end;
10:使用ref游标显示表dept中的记录
declare
type curemptype is ref cursor;
a curemptype;
b dept%rowtype;
begin
open a for select*from dept;
loop
fetch a into b;
exit when a%notfound;
dbms_output.put_line(b.deptno||','||b.dname||','||b.loc);
end loop;
close a;
end;
11:使用ref游标显示表emp中的记录
declare
type curemptype is ref cursor;
a curemptype;
b emp%rowtype;
begin
open a for select*from emp;
loop
fetch a into b;
exit when a%notfound;
dbms_output.put_line(b.empno||','||b.ename||','||b.job||','||b.mgr||','||b.hiredate||','||b.s al||','||m||','||b.deptno);
end loop;
close a; end;。