77范文网 - 专业文章范例文档资料分享平台

ORACLE数据库

来源:网络收集 时间:2020-04-15 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

名词解释1.对象:对象实际是对一组数据和操作的封装,对象的抽象就是类。

2.并行服务器(OPS):可以允许一个数据库装载到多个数据库实例上,并同时被这多个数据库实例打开。 3.DUAL表:该表只包含一个字段和一条记录。使用它容易解决与表无关的一些查询问题。

4. DML级封锁:用于控制并发事务中的数据操纵,保证数据的一致性和完整性,其封锁对象可以是表或行。 5.触发器:存放在数据库中,它是一种当特定的事件发生时自动执行的存储过程。

简述CHAR与VARCHAR2的区别?

答:(1) CHAR的长度是固定的,而VARCHAR2的长度是可以变化的;(2) CHAR的效率比VARCHAR2的效率稍高;(3) VARCHAR2是Oracle自己开发了一个数据类型,这个类型不是一个标准的VARCHAR,它将在数据库中varchar列可以存储空字符串的特性改为存储NULL值。 简述Oracle系统的体系结构

答:Oracle系统体系结构是整个Oracle服务器系统的框架,是管理和应用Oracle数据服务器的基础和核心。⑴ 数据库实例:系统全局区和后台进程

⑵ 物理存储结构:参数文件、控制文件、数据文件、重做日志文件等;逻辑存储结构:表空间、段、盘区、数据块等⑶ 内存结构:系统全局区域、程序全局区、用户全局区

第一章Oracle 11g数据库安装与配置 1.简答题

(1)企业版数据库服务器包含所有的数据库组件,主要针对高端的应用环境,适用于安全性和性能要求较高的联机事务处理(OLTP)、查询密集型的数据仓库和要求较高的Internet应用程序:标准版数据库服务器提供大部分核心的数据库功能和特性,适合于工作组或部门级的应用程序:个人版数据库服务器只提供基本数据库管理功能和特性,适合单用户的开发环境,为用户提供开发测试平台。

2.实训题

(2)打开网络管理对话框,分别选中左侧树状结构中的监听器和数据库,修改右侧对话框中的主机名为当前的计算机名。

第3章 Oracle数据库系统结 1.简答题

(1)Oracle数据库体系结构由物理存储结构、逻辑存储结构和实例组成。其中物理存储结构描述了操作系统层次数据的存储与管理,包括数据文件、日志文件、重做日志文件等组成。逻辑结构描述了数据库内部数据的组织与管理,由表空间、段、区、块组成。实例是数据库运行的软件结构,由内存结构和后台进程组成。数据库运行过程中,用户的操作在内存区中进行,最终通过后台进行转化为对数据库的操作。

(2在控制文件中记录了当前数据库所有的数据文件的名称与位置、重做日志文件的名称与位置,以及数据文件、重做日志文件的状态等。

(5)RECO进程用户数据库恢复。

3.选择题DDBBD+++ADBB+++ACACC+++BAADA

第5章 数据库存储设置与管理 1.简答题

(1)数据库表空间分为系统表空间和非系统表空间两类,其中非系统表空间包括撤销表空间、临时表空间和用户表空间等。

SYSTEM表空间主要用于存储数据库的数据字典、PL/SQL程序的源代码和解释代码、数据库对象的定义。撤销表空间专门进行回退信息的自动管理。临时表空间是专门进行临时段管理的表空间。用户表空间用于分离不同应用的数据,而且能够减少读取数据文件时产生的I/O冲突。 (2)一个数据库由一个或多个表空间构成,不同的表空间用于存放不同应用的数据,表空间的大小决定了数据库的大小。一个表空间对应一个或多个数据文件,数据文件的大小决定了表空间的大小。一个数据文件只能从属于一个表空间。一个数据库对象只能存储在一个表空间中,但可以存储在该表空间所对应的一个或多个数据文件中。 (3)书上还有---数据文件中保存了数据库中的所有数据,包括数据字典以及用户数据。

(4)控制文件保存数据库的物理结构信息,包括数据库名称、数据文件的名称与状态、重做日志文件的名称与状态等。在数据库启动时,数据库实例依赖初始化参数定位控制文件,然后根据控制文件的信息加载数据文件和重做日志文件,最后打开数据文件和重做日志文件。

(5)重做日志文件是以重做记录的形式记录、保存用户对数据库所进行的修改操作,包括用户执行DDL、DML语句的操作。如果用户只对数据库进行查询操作,那么查询信息是不会记录到重做日志文件中的。

(6)归档是数据库恢复及热备份的基础。只用当数据库归档模式时,才可以进行热备份和完全恢复。进行归档设置包括归档模式设置(ARCHIVELOG)、归档方式设置以及归档路径的设置等。

(8)采用多路复用控制文件可以避免由于一个控制文件的损坏而导致数据库无法正常启动。在数据库启动时根据一个控制文件打开数据库,在数据库运行时多路复用控制文件采用镜像的方式进行写操作,保持所有控制文件的同步。、

3.选择题BABB AD—BC-AACBCBBC—BC-B—AC—BD-CA—AC 第6章 数据库对象的创建与管理 1.简答题

(1)在Oracle 数据库中,根据表生存周期不同,可以分为永久性表和临时表;根据表中数据组织方式不同,可以分为标准表、索引化表和分区表。索引化表是一种特殊的表,它按B树的结构来组织和存储数据,将表的数据和索引的数据存储在一起。分区表是将一个表分成若干个独立的组成部分进行存储和管理。

(3)索引用于提高数据的查询效率。根据索引值是否唯一,可以分为唯一性索引和非唯一性索引;根据索引的组织结构不同,可以分为平衡树索引和位图索引;根据索引基于的列数不同可以分为单列索引和复合索引。 \\(5)

序列是用于产生唯一序列号的数据库对象,可以为多个数据库用户依次生成不重复的连续整数,通常使用序列自动生成表中的主键值。

序列创建后,可以通过序列NEXTVAL属性产生序列值,通过属性CURRVAL查看当前的序列值。 (7)

本地分区索引是指为分区表中的各个分区单独创建索引分区,各个索引分区之间是相互独立的,索引的分区与表的分区是一一对应的。

全局分区索引:全局分区索引是指先对整个表建立索引,然后再对索引进行分区。索引的分区之间不是相互独立的,索引分区与表分区之间也不是一一对应的 全局非分区索引:建立索引但不分区

3.选择题CADB—AB-B--A C-BBC—BD-ACE 第8章 数据查询 1.实训题

(1) 查询各月倒数第2天入职的员工信息。 Select * from employees where hire_date=last(hire_date)-1’ (2) 查询在2月份入职的所有员工信息。

Select * from employees where extract(mm from hire_date)=2;

2.选择题B-B D—AACEBD--B C-DC—BDC-B D- AC 第9章PL/SQL语言基础 1.实训题

(1) declare

cursor c_emp is select * from employees; begin

for v_emp in c_emp loop

dbms_output.put_line(v_emp.first_name||' '||v_emp.last_name||' '|| v_emp.employee_id||' '||v_emp.salary||' '||v_emp.department_id); end loop; end; (2) declare

v_avgsal employees.salary%type; begin

for v_emp in (select * from employees) loop

select avg(salary) into v_avgsal from employees where department_id=v_emp.department_id; if v_emp.salary>v_avgsal then

dbms_output.put_line(v_emp.first_name||' '||v_emp.last_name||' '|| v_emp.employee_id||' '||v_emp.salary||' '||v_emp.department_id); end if; end loop; end; (3) declare

cursor c_emp is

select e.employee_id eid,e.last_name ename,

e.department_id edid,m.employee_id mid,m.last_name mname from employees e join employees m on e.manager_id=m.employee_id; v_emp c_emp%rowtype; begin

open c_emp; loop

fetch c_emp into v_emp;

exit when c_emp%notfound;

dbms_output.put_line(v_emp.eid||' '||v_emp.ename||' '|| v_emp.edid||' '||v_emp.mid||' '||v_emp.mname); end loop; close c_emp; end; (4) declare

v_emp employees%rowtype; begin

select * into v_emp from employees where last_name='Smith'; dbms_output.put_line(v_emp.employee_id||' '||

v_emp.first_name||' '||v_emp.last_name||' '|| v_emp.salary||' '||v_emp.department_id); exception

when no_data_found then

insert into employees(employee_id,last_name,salary,email,hire_date, job_id,department_id)

values(2010,'Smith',7500,'smith@neusoft.edu.cn', to_date('2000-10-5','yyyy-mm-dd'),'AD_VP',50); when too_many_rows then

for v_emp in(select * from employees where last_name='Smith')loop dbms_output.put_line(v_emp.employee_id||' '||

v_emp.first_name||' '||v_emp.last_name||' '|| v_emp.salary||' '||v_emp.department_id); end loop; end; (5) declare

cursor c_emp is select * from employees; v_increment employees.salary%type; begin

for v_emp in c_emp loop case

when v_emp.job_id='AD_PRES'OR v_emp.job_id='AD_VP' OR v_emp.job_id='AD_ASST' THEN v_increment:=1000;

when v_emp.job_id='FI_MGR' OR v_emp.job_id='FI_ACCOUNT'THEN v_increment:=800;

WHEN v_emp.job_id='AC_MGR' OR v_emp.job_id='AC_ACCOUNT' THEN v_increment:=700;

WHEN v_emp.job_id='SA_MAN' OR v_emp.job_id='SA_REP' THEN v_increment:=600;

WHEN v_emp.job_id='PU_MAN' OR v_emp.job_id='PU_CLERK' THEN

v_increment:=500;

WHEN v_emp.job_id='ST_MAN' OR v_emp.job_id='ST_CLERK' OR v_emp.job_id='SH_CLERK' THEN v_increment:=400; WHEN v_emp.job_id='IT_PROG' OR v_emp.job_id='MK_MAN' OR v_emp.job_id='MK_REP' THEN v_increment:=300; ELSE v_increment:=200; end case;

update employees set salary=salary+v_increment where employee_id=v_emp.employee_id; end loop; end; (6) declare

v_lowsal jobs.min_salary%type; v_highsal jobs.max_salary%type; e exception; begin

update employees set salary=8000 where employee_id=201; select min_salary,max_salary into v_lowsal,v_highsal

from jobs where job_id=(select job_id from employees where employee_id=201);

if 8000 not between v_lowsal and v_highsal then raise e; end if; exception when e then

raise_application_error(-20001,'beyond limit'); rollback; end;

第10章 PL/SQL程序设计

(1)创建一个存储过程,以员工号为参数,输出该员工的工资。 create or replace procedure pro_showsal( p_empno employees.employee_id%type) as

v_sal employees.salary%type; begin

select salary into v_sal from employees where employee_id=p_empno; dbms_output.put_line(v_sal); exception

when no_data_found then

dbms_output.put_line('there is not such an employees'); end;

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库ORACLE数据库在线全文阅读。

ORACLE数据库.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/jiaoyu/966058.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: