ImageVerifierCode 换一换
格式:DOCX , 页数:22 ,大小:78.14KB ,
资源ID:6863610      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6863610.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Oracle复习资料.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Oracle复习资料.docx

1、Oracle复习资料Oracle表是组成数据库的基本元素,数据库中的数据存储在表中。P35 区是Oracle分配存储空间和回收存储空间的基本单位。数据块是Oracle读写数据库的基本单位。关系表主要由行和列构成。每一列用来保存关系的属性,每一行存储了关系的元组DBMS-数据库管理系统 功能: 1:建立和维护数据库;2:定义数据;3;操作数据;4:保证数据的安全性、完整性;5:多用户实现数据的共享;6:发生故障之后进行数据恢复。CS模式主要由客户应用程序、服务器管理程序和中间件三个部分组成。B/S由客户端、应用程序服务器和数据库服务器组成Oracle数据库的存储结构分为物理存储结构和逻辑存储结构

2、,这两种存储结构既相互独立又相互联系P31 Oracle数据库的存储结构P32 Oracle的物理存储结构的组成 (3点)由数据文件、控制文件、重做日志文件等操作系统文件组成。P33 数据文件 控制文件记录的内容 重做日志文件 (特点 功能)数据文件的单位的两种方式:字节和数据快 数据文件的扩展名是.dbf数据文件特点:1:每一个数据文件只与一个数据库相联系。2:一个表空间可包含一个或多个数据文件,一个数据文件只能属于一个表空间。3:当数据库容量越界时,数据文件能够自动扩展。Oracle提供了三种扩展数据文件存储空间的方法:1:在当前表空间中增加新的数据文件,新数据将被存储在新的数据文件中。2

3、:手工扩展表空间中的数据文件,在原来的存储空间的基础上,增加一定数量的存储空间。3:激活数据文件的自动扩展功能,数据库服务器将自动为数据文件分配新的存储空间。控制文件的功能是记录数据库的结构和状态在一个数据库中至少需要一个控制文件,Oracle建议至少创建两个控制文件,并将它们分别存储在两个磁盘上。重做日志文件用于记录对数据库的所有修改信息,包括用户对数据的修改,以及管理员对数据库结构的修改。重做日志文件保证了数据库的安全和数据库的备份与恢复。P35 数据库的逻辑结构由表空间、段、区和数据块组成P35 表空间 引入表空间的优点 (概念) 表空间是数据库的逻辑划分,一个数据库在逻辑上由多个表空间

4、组成。引入表空间的优点:1将系统数据和用户数据分开,有利于保护重要数据;2可以限制用户对磁盘存储空间的使用;3将临时数据与用户数据分开,从而减少用户数据存储区的碎片,提高数据库的性能;4能够将不同类型的数据分别存放在不同的磁盘上,以减少磁盘的读写冲突。可以将访问频繁的数据存储在速度相对较快的磁盘上,从而在整体上提高数据库的性能。5各个表空间可以被单独设置为联机或脱机状态,这样可以在数据库正常运行的情况下,将单个表空间置于脱机状态,并对其进行备份或恢复。P36 数据库中包含的表空间的类型 (5点)系统表空间 辅助表空间 撤销表空间 临时表空间 用户表空间(P38 数据块是Oracle中的最小存储

5、单位,一个数据块由若干个操作系统块组成,P39 数据库实例的区分方法 ( SID)为了区分不同的实例,每个实例都有一个系统标识符SID,通常SID与数据库同名。每个服务器进程的命名也与SID相匹配。P40 数据库的内存分类 (SGA PGA)系统全局区(SGA) 简答题Oracle数据库的内存可以分为系统全局区(SGA)和程序全局区(PGA)。 P40 系统全局区(SGA)包含的数据结构 (5点)1. 数据库缓冲区高速缓存 2. 重做日志缓冲区 3. 共享池 4. Java池 5. 大池P42 进程结构 DBWR数据库写进程 执行写操作的情况 固定的时间间隔(如每隔3秒);(4点)P43 LG

6、WR进程P44 CKPT检查点进程 SMON系统监控进程 PMON进程监控进程 ARCH归档进程 RECO恢复进程 LCKn锁进程 Dnnn调度进程P59 用 create database语句创建数据库P63 Oracle数据库的启动分为三个步骤:启动实例、装载数据库和打开数据库。P69表空间是Oracle数据库中最大的逻辑存储单位,同时也是数据库的存储空间单位每个表空间由一个或多个数据文件组成,但是一个数据文件只能属于一个表空间,这是逻辑与物理的统一。表空间可以分为数据字典管理的表空间和本地化管理的表空间两种。P78 删除表空间 (参数说明 2点) INCLUDING CONTENTS:如

7、果在删除表空间时要把表空间中的数据文件也删除,可以在删除的表空间语句后面加上该语句。 CASCADE CONSTRAINTS:如果在删除空间时要把表空间中的完整性也删除,可以在删除的表空间语句后面加上该语句。P85 删除数据文件 ALTER TABLESPACE tablespace_name DROP DATAFILE filename;P87 控制文件主要包含的信息 (7点)数据库名称。 数据文件和重做日志文件的位置和名称。 数据库创建的时间戳。 当前日志序列号。 检查点信息。 表空间名称。 备份和恢复信息P88 需要创建控制文件的情况 (3点)1:控制文件全部损坏,而且没有可用的备份。

8、2:修改某些永久性参数,如:MAXLOGFILES、 MAXLOGMEMBERS、MAXLOGHISTORY、MAXINSTANCES等。 3:修改数据库名称P108 临时表的概念临时表是一种特殊类型的表,表中的数据并不永久保存,而是一些临时数据。这些临时数据只在当前事务或当前会话中有效,当事务或会话结束时,这些临时数据将被全部删除临时表的管理方式 简答题P172 引入视图的好处(优点) (4点) 简答题1. 简化用户操作 2. 视图使用户以多角度看待同一数据 3. 视图对重构数据库提供了一定程度的逻辑独立性 4. 视图可增加安全性P213 游标 分类 游标分为显式游标和隐式游标两种。 显示游

9、标的处理步骤 (4点) 简答题声明游标、打开游标、提取游标、关闭游标P215 游标的属性(4点) %ISOPEN、%FOUND、%NOTFOUND和%ROWCOUNTP221 游标的主要作用是查询数据,并对数据逐行进行处理P227 PL/SQL程序单元分为存储过程、函数、触发器和程序包四种。P228 使用存储过程的优点 (4点)(1)存储过程在服务器端运行,执行速度快。(2)存储过程执行一次后驻留在Oracle数据库服务器的高速Cache中,以后再次执行存储过程时,只需从高速Cache中调用已经编译好的代码即可,从而提高了系统性能。 (3)存储过程确保了数据库的安全。使用存储过程,可以在禁止用

10、户直接访问应用程序中的某些数据表的情况下,授权执行访问这些数据表的存储过程。 (4)自动完成需要预先执行的任务。存储过程可以设置为系统启动时自动执行,而不必在系统启动后再进行手动操作,从而方便了用户的使用,可以自动完成一些需要预先执行的任务。 P238 函数和存储过程的区别 (2点)函数必须有返回值,过程可以没有;它只能作为一个表达式的一部分,不能作为一个独立的语句来使用。P243 触发器的作用 (6点)(1)在安全性方面,触发器可以基于数据库的值使用户具有操作数据库的某种权利。 (2)在审计方面,触发器可以跟踪用户对数据库的操作。 (3)实现复杂的数据完整性规则。 (4)实现复杂的非标准的数

11、据库相关完整性规则。触发器可以对数据库中相关的表进行连环更新。 (5)同步实时地复制表中的数据。(6)自动计算数据值,如果数据的值达到了一定的要求,则进行特定的处理。P271 对事务的操作有两个:提交(COMMIT)和回滚(ROLLBACK)P271 事物的特性 (4点 ACID)原子性(Atomicity)一致性(Consistency)隔离性(Isolation)永久性(Durability)控制事务的方式有两种,隐式控制和显示控制P274 锁概述 (2点)加锁是实现数据库并发控制的一个非常重要的技术。Oracle通过使用锁(Lock)机制维护数据的完整性、并发性和一致性。Oracle在两

12、个不同级别上提供读取一致性:语句级读取一致性和事务级读取一致性。锁的分类在数据库中有两种基本的锁类型:排它锁(Exclusive Locks,即X锁)和共享锁(Share Locks,即S锁)。P279 Oracle数据库的用户管理包括创建用户、修改用户的安全参数、删除用户和查询用户信息等。用户管理-初始用户 (SYS SYSTEM SCOTT) 用户身份认证方式 (3点)数据库身份认证 外部身份认证 全局身份认证P298 备份 与恢复概述思考题:2数据库管理1、 通过哪些视图可以查看当前数据库的信息? 答:通过dba_* 视图查看。2、简述如何手工创建表空间?答:首先选择“服务器”,单击“表

13、空间”,然后单击“创建”按钮,进入“创建表空间”页面,并填写相关信息,再单击的“添加”按钮,为表空间添加一个数据文件,之后单击“存储”按钮进入到创建表空间的界面,填写相关信息即可。3 PL/SQL编程基础1、 PL/SQL语句块的分类及构成有哪些?答:分类:无名块,命名块,子程序 、触发器 、包。构成:声明部分、执行体部分、异常处理部分。2,PL/SQL语句与标准SQL的联系与区别?答: PL/SQL是一种增加了过程化概念的SQL语言,是Oracle对SQL的扩充。与标准SQL语言相同,它有标准SQL所没有的特征:变量,控制结构,自定义的存储过程和函数 ;对象类型等。P/L-SQL 融合了SQ

14、L语言的灵活性和过程化的概念,是一种功能强大的结构化语言。4:数据库对象的管理11、 什么是索引?简述Oracle索引的分类。答:索引是Oracle编排数据的内部方法。它为数据库提供一种方法来编排查询数据。索引页是指数据库中存储索引的数据页。索引是以表的列为基础的数据库对象,它保存着表中排序的索引项,并且记录索引列在数据库中的物理存储位置,实现表中数据的逻辑排序。索引是对数据库表中一个或多个列的值进行排序的结构。用户可以利用索引快速访问数据库表的特定信息。Oracle索引分类:B*树索引,位图索引,反向键索引,基于函数的索引和其他类型的索引。2、什么是视图?使用视图有什么好处?答:视图是一种数

15、据库对象,它是从一个或多个表或者视图导出的虚表。视图实际上是一个或多个表上的预定义查询,这些表成为基表。视图的优点:1.简化用户操作2.视图使用户以多角度看待同一数据3、视图对重构数据库提供一定程度的逻辑独立性4视图可增加安全性实验五 过程,函数,触发器,包1:过程、函数的区别与联系? 答:1:函数必须有返回值,而过程没有. 2::函数可以单独执行.而过程必须通过execute执行. 3::函数可以嵌入到SQL语句中执行.而过程不行.2:Oracle中的过程、函数与其他数据库产品及编程语言中的过程、函数的区别答:创建过程返回的语句不同;存储过程异常处理不一样;过程和函数的声明,位置的变量不同;

16、抛异常的方式不同;3:什么是包?包一般由哪两个部分组成?使用包有什么好处?答:包也称之为程序包,是指相关的过程、函数、变量、常量和游标等PL/SQL程序设计元素的组合。包通常由两个部分组成:规范(specification)和包体(body)。包(Package)可将一些有联系的对象放置在其内部,构成一个逻辑分组,这些对象包括存储过程、函数、游标、自定义的类型(例如PL/SQL表和记录)和变量等。7 Oracle数据库安全管理1、 简述Oracle的用户认证方式。答:oracle数据库用户以下三种身份认证方式:(1)、数据库身份认证:这种方式即用用户名/口令方式,用户以加密的方式保存在数据库的

17、内部,用户连接数据库时必须输入用户名和口令,通过数据库的认证后才能登录数据库,这是默认的认证方式。(2)、外部身份认证:用户账户由oracle数据库管理,但口令管理和身份验证由外部服务完成,外部服务可以是操作系统或网络服务。(3)、全局身份认证:当用户试图建立于数据库连接时,oracle使用网络中的安全管理服务器对用户进行身份认证。2、简述Oracle数据库的权限分类。答:SYS:是数据库中具有最高权限的数据库管理员,可以启动、修改和关闭数据库,拥有数据字典。SYSTEM:是辅助数据库管理员,不能启动和关闭数据库,可以进行一些其他管理工作,例如创建用户、删除用户等。SCOTT:数据库测试用户,

18、默认口令为tiger。在该用户下已经创建了一些数据表,可以用于用户学习及网络测试连接,包括EMP表、DEPT表等。3、 简述角色的概念。答:角色是权限管理的一种工具,是一系列权限的集合,角色可以授予任何用户,也可以从用户处收回。使用角色可以简化权限管理,可以仅用一条语句就能向用户授予或者回收许多权限而不用一一授权或者回收。使用角色还可以实现权限的动态管理。实验七数据库的完整性1、ORACLE数据库的备份与恢复的途径有哪些?答:Oracle数据库有三种标准的备份方法,它们分别是导出导入(EXP/IMP)、热备份和冷备份。导出备件是一种逻辑备份,冷备份和热备份是物理备份。2、什么是数据库的完整性?

19、数据库完整性(Database Integrity)是指数据库中数据在逻辑上的一致性、正确性、有效性和相容性。数据库完整性由各种各样的完整性约束来保证,因此可以说数据库完整性设计就是数据库完整性约束的设计。数据库完整性约束可以通过DBMS或应用程序来实现,基于DBMS的完整性约束作为模式的一部分存入数据库中。通过DBMS实现的数据库完整性按照数据库设计步骤进行设计,而由应用软件实现的数据库完整性则纳入应用软件设计(本文主要讨论前者)。实验八数据库综合设计1、 简述VS开发WEB应用程序如何连接ORACLE数据库。答:在Web.config中的节点下建:在CS文件中写:string strCon

20、nection = ConfigurationSettings.AppSettingsOraConnectionString.ToString();就可以获取该连接字符串。2、 简述ADO.NET的主要组件?答:Connection对象:与数据源建立连接,连接sql server7.0 或更新版本数据库用SqlConnection,连接OLEDB数据源使用OledbConnection.Command 对象:对数据源执行SQL命令并返回结果,SQL Server7.0或更新版本用SqlCommand,OLE DB数据源使用OledbCommand.DataReader对象: 读取数据源的数据,

21、只能将数据源的数据从头到尾依次读出,Sql server7.0或以上版本使用SqlDataReader,Oledb数据源使用OledbReaderDataAdapter对象:对数据源执行操作并返回结果,在DataSet与数据源之间建立通信,将数据源中的数据写入DataSet ,或根据DataSet中的数据必定数据源。Sql server7.0或以上版本使用SqlDataAdapter,Oledb 数据源使用OledbAdpater.DataSet对象:服务器内存中的数据库DataView对象: 用于显示DataSet中的数据触发器参考1. 创建一个DML触发器:用于每次对表SYSTEM.STU

22、DENT进行DML操作(插入、删除和修改)前,首先在屏幕上显示该学生原来的年龄、现在的年龄以及新旧年龄的差值。CREATE OR REPLACE TRIGGER PRINT_SAGE_TRIGGER BEFORE INSERT OR DELETE OR UPDATE ON STUDENT FOR EACH ROW DECLARE AGEDIFF NUMBER(3,0); BEGIN AGEDIFF:=:NEW.SAGE-:OLD.SAGE; DBMS_OUTPUT.PUT_LINE(原来年龄:|:OLD.SAGE); DBMS_OUTPUT.PUT_LINE(现在年龄:|:NEW.SAGE);

23、 DBMS_OUTPUT.PUT_LINE(年龄差值:|AGEDIFF); END PRINT_SAGE_TRIGGER; 2. 创建一个用于自动生成学生表STUDENT主键值的序列SNOSEQ。CREATE SEQUENCE SNOSEQ START WITH 520803 INCREMENT BY 1 MINVALUE 520801 NO_MAXVALUE; 3. 创建学生表STUDENT的同义词STU。CREATE PUBLIC SYNONYM STU FOR SYSTEM.STUDENT;过程。函数。包参考过程:CREATE OR REPLACE PROCEDURE SYSTEM.MY

24、PROC ( V_SNO VARCHAR2,V_SNAME OUT VARCHAR2, V_SSEX OUT VARCHAR2, V_SAGE OUT NUMBER, V_SCLASS OUT VARCHAR2) IS BEGIN SELECT SNAME,SSEX,SAGE,SCLASS INTO V_SNAME,V_SSEX,V_SAGE,V_SCLASS FROM SYSTEM.STUDENT WHERE SNO=V_SNO; END MYPROC; SET SERVEROUTPUT ON; DECLARE A SYSTEM.STUDENT.SNAME%TYPE; B SYSTEM.ST

25、UDENT.SSEX%TYPE; C SYSTEM.STUDENT.SAGE%TYPE; D SYSTEM.STUDENT.SCLASS%TYPE; BEGIN SYSTEM.MYPROC(410601,A,B,C,D); DBMS_OUTPUT.PUT_LINE(学号:|410601 | |姓名:|TO_CHAR(A); DBMS_OUTPUT.PUT_LINE(性别:|TO_CHAR(B) | |年龄:|TO_CHAR(C); DBMS_OUTPUT.PUT_LINE(班级:|TO_CHAR(D); END; 函数:CREATE OR REPLACE FUNCTION SYSTEM.MYF

26、UNC (V_SNO VARCHAR2,V_TOTAL OUT NUMBER) RETURN NUMBER IS V_AVGSCORE NUMBER(4,1); BEGIN SELECT COUNT(*),AVG(GRADE) INTO V_TOTAL,V_AVGSCORE FROM SYSTEM.SCORE WHERE SNO=V_SNO GROUP BY SNO; RETURN V_AVGSCORE; END MYFUNC; SET SERVEROUTPUT ON; DECLARE TOTAL NUMBER; AVGSCORE SYSTEM.SCORE.GRADE%TYPE; BEGIN

27、AVGSCORE:=SYSTEM.MYFUNC(410601,TOTAL); DBMS_OUTPUT.PUT_LINE(学号: | 410601 | |选修课程门数:|TOTAL); DBMS_OUTPUT.PUT_LINE(平均成绩: |TO_CHAR(AVGSCORE); END; 包:/CREATE OR REPLACE PACKAGE SYSTEM.MYPACK AS /*声明一个变量,表示每次从学生表中取出的最大记录数*/ V_MAXROW NUMBER:=2; /*声明过程MYPROC1,从学生表中分页读取学生信息*/ PROCEDURE MYPROC1; PRAGMA restr

28、ict_references(MYPROC1,WNDS); /*声明过程MYPROC2,用于向学生表中插入一条记录*/ PROCEDURE MYPROC2(V_SNO VARCHAR2, V_SNAME VARCHAR2,V_SSEX VARCHAR2, V_SAGE NUMBER,V_SCLASS VARCHAR2); PRAGMA restrict_references(MYPROC2,WNPS);/*声明过程MYPROC3,用于从学生表中删除一条记录*/ PROCEDURE MYPROC3(V_SNO VARCHAR2); PRAGMA restrict_references(MYPRO

29、C3,WNPS); /*声明过程MYPROC4,用于从学生表中修改一条记录*/ PROCEDURE MYPROC4(V_SNO VARCHAR2, V_SCLASS VARCHAR2); PRAGMA restrict_references(MYPROC4,WNPS); END MYPACK; CREATE OR REPLACE PACKAGE BODY SYSTEM.MYPACK AS /*游标MYCURSOR的具体实现*/ CURSOR MYCURSOR IS SELECT * FROM SYSTEM.STUDENT; /*过程MYPROC1的具体实现*/ PROCEDURE MYPROC

30、1 AS V_END BOOLEAN:=FALSE; V_NUMROWS NUMBER:=0; V_SNO SYSTEM.STUDENT.SNO%TYPE; V_SNAME SYSTEM.STUDENT.SNAME%TYPE; V_SSEX SYSTEM.STUDENT.SSEX%TYPE; V_SAGE SYSTEM.STUDENT.SAGE%TYPE; V_SCLASS SYSTEM.STUDENT.SCLASS%TYPE; BEGIN IF NOT MYCURSOR%ISOPEN THEN OPEN MYCURSOR; END IF; WHILE NOT V_END LOOP FETCH MYCURSOR INTO V_SNO,V_SNAME,V_SSEX,V_SAGE,V_SCLASS; IF MYCURSOR%NOTFOUND THEN CLOSE MYCUR

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1