我个人关于ORACLE课程提纲的总结_课程总结复习提纲
我个人关于ORACLE课程提纲的总结由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“课程总结复习提纲”。
1.简单介绍下ORACLE的总体框架
oracle的体系很庞大,要学习它,首先让我们了解oracle的框架。在这里,简要的讲一下oracle的架构
1、物理结构(由控制文件、数据文件、重做日志文件、参数文件、归档文件、密码文件组成)
控制文件:包含维护和验证数据库完整性的必要信息、一个数据库至少需要一
个控制文件 数据文件:存储数据的文件 重做日志文件:含对数据库所做的更改记录,这样万一出现故障可以启用数据恢复。一个数据库至少需要两个重做日志文件 参数文件:定义Oracle 例程的特性,例如它包含调整SGA 中一些内存结构大小的参数 归档文件:是重做日志文件的脱机副本,这些副本可能对于从介质失败中进行恢复很必要。密码文件:认证哪些用户有权限启动和关闭Oracle例程
2、逻辑结构(表空间、段、区、块)
表空间:是数据库中的基本逻辑结构,一系列数据文件的集合。
段:是对象在数据库中占用的空间
区:是为数据一次性预留的一个较大的存储空间 块:ORACLE最基本的存储单位,在建立数据库的时候指定
3、内存分配(SGA和PGA)
SGA:是用于存储数据库信息的内存区,该信息为数据库进程所共享。它包含Oracle 服务器的数据和控制信息,它是在Oracle 服务器所驻留的计算机的实际内存中得以分配,如果实际内存不够再往虚拟内存中写。
PGA:包含单个服务器进程或单个后台进程的数据和控制信息,与几个进程共享的SGA 正相反PGA 是只被一个进程使用的区域,PGA 在创建进程时分配在终止进程时回收
4、后台进程(数据写进程、日志写进程、系统监控、进程监控、检查点进程、归档进程、服务进程、用户进程)
数据写进程:负责将更改的数据从数据库缓冲区高速缓存写入数据文件 日志写进程:将重做日志缓冲区中的更改写入在线重做日志文件 系统监控:检查数据库的一致性如有必要还会在数据库打开时启动数据库的恢复 进程监控:负责在一个Oracle 进程失败时清理资源 检查点进程:负责在每当缓冲区高速缓存中的更改永久地记录在数据库中时,更新控制文件和数据文件中的数据库状态信息。归档进程:在每次日志切换时把已满的日志组进行备份或归档 服务进程:用户进程服务。用户进程:在客户端,负责将用户的SQL 语句传递给服务进程,并从服务器段拿回查询数据。
5、oracle例程:Oracle 例程由SGA 内存结构和用于管理数据库的后台进程组成。例程一次只能打开和使用一个数据库。
6、SCN(System Change Number):系统改变号,一个由系统内部维护的序列号。当
系统需要更新的时候自动增加,他是系统中维持数据的一致性和顺序恢复的重
要标志。
2.介绍项目中常用的标准SQL知识点
oracle左/右/全连接
inner join--内连接和where相同;相当于join;
left join--左向外连接,返回左边表所有符合条件的right join--右向外连接,返回右边表所有符合条件的full join--完整外部连接,左向外连接和右向外连接的合集
--建立测试数据
create table a(id number);
create table b(id number);
create table c(id number);
insert into a values(1);
insert into a values(2);
insert into a values(3);
insert into b values(1);
insert into b values(2);
insert into b values(4);
insert into c values(1);
--左:
--主流数据库通用的方法
select * from a left join b on a.id=b.id;
--Oracle特有的方法--最好不要用这样,不便于sql语句的移植。
select * from a, b where a.id=b.id(+);
IDID
--------------------
2--右:
--主流数据库通用的方法
select * from a right join b on a.id=b.id;
--Oracle特有的方法
select * from a, b where a.id(+)=b.id;
IDID
--------------------
--内
--主流数据库通用的方法
select * from a join b on a.id=b.id;
--where关联
select * from a, b where a.id=b.id;
IDID
--------------------
--全外
--主流数据库通用的方法
select * from a full join b on a.id=b.id;
--Oracle特有的方法
select *
from a, b
where a.id = b.id(+)
union
select *
from a, b
where a.id(+)= b.id;
IDID
--------------------
对于多表查询,如下:
select * from a
left join b on a.id=b.id
left join c on c.id=b.id;
IDID
--------------------
相当于先进行第一个left join,得到结果集A(3条记录);结果集A再与第二个left join进行查询;
select * from a
left join b on a.id=b.id
right join c on c.id=b.id;
相当于先进行第一个left join,得到结果集A(3条记录);结果集A再与right join进行查询,即以c表为主,因为C表只有一个记录,所以最终才显示一条记录;
3.查询效率优化方式介绍
表索引介绍,表索引的建立技巧
索引优点:
第一,通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。
第二,可以大大加快数据的检索速度,这也是创建索引的最主要的原因。
第三,可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。第四,在使用分组和排序子句进行数据检索时,同样可以显着减少查询中分组和排序的时间。
第五,通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能。
(哪给表中的所有列加上索引是否合理)
索引缺点:
第一,创建索引和维护索引要耗费时间,这种时间随着数据量的增加而增加。
第二,索引需要占物理空间,除了数据表占数据空间之外,每一个索引还要占一定的物理空间,如果要建立聚簇索引,那么需要的空间就会更大。
第三,当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,这样就
降低了数据的维护速度。
(索引是建立在数据库表中的某些列的上面。因此,在创建Oracle数据库索引的时候,应该仔细考虑在哪些列上可以创建索引,在哪些列上不能创建索引。)
建议创建索引的列: 在经常需要搜索的列上,可以加快搜索的速度; 在作为主键的列上,强制该列的唯一性和组织表中数据的排列结构; 在经常用在连接的列上,这些列主要是一些外键,可以加快连接的速度; 在经常需要根据范围进行搜索的列上创建索引,因为索引已经排序,其指定的范围是连续的; 在经常需要排序的列上创建索引,因为索引已经排序,这样查询可以利用索引的排序,加快排序查询时间; 经常使用在WHERE子句中的列上面创建索引,加快条件的判断速度。不该创建索引的列: 对于那些在查询中很少使用或者参考的列不应该创建索引。这是因为,既然这些列
很少使用到,因此有索引或者无索引,并不能提高查询速度。相反,由于增加了索 引,反而降低了系统的维护速度和增大了空间需求。对于那些只有很少数据值的列也不应该增加索引。这是因为,由于这些列的取值很
少,例如人事表的性别列,在查询的结果中,结果集的数据行占了表中数据行的很大比例,即需要在表中搜索的数据行的比例很大。增加索引,并不能明显加快检索 速度。对于那些定义为text,image和bit数据类型的列不应该增加索引。这是因为,这
些列的数据量要么相当大,要么取值很少。
第四,当修改性能远远大于检索性能时,不应该创建索引。这是因为,修改性能和
检索性能是互相矛盾的。当增加索引时,会提高检索性能,但是会降低修改性能。当减少索引时,会提高修改性能,降低检索性能。因此,当修改性能远远大于检索性能时,不应该创建Oracle数据库索引。
NESTED LOOP:
对于被连接的数据子集较小的情况,嵌套循环连接是个较好的选择。在嵌套循环中,内表被外表驱动,外表返回的每一行都要在内表中检索找到与它匹配的行,因此整个查询返回的结果集不能太大(大于1 万不适合),要把返回子集较小表的作为外表(CBO 默认外表是驱动表),而且在内表的连接字段上一定要有索引。当然也可以用ORDERED 提示来改变CBO默认的驱动表,使用USE_NL(table_name1 table_name2)可是强制CBO 执行嵌套循环连接。
Nested loop一般用在连接的表中有索引,并且索引选择性较好的时候.步骤:确定一个驱动表(outer table),另一个表为inner table,驱动表中的每一行与inner表中的相应记录JOIN。类似一个嵌套的循环。适用于驱动表的记录集比较小(
4.ORACLE常用内部函数
5.ORACLE数据库的特点将结合第2和第3项讲
6.安装ORACLE练习环境
ORACLE服务器安装以下如没有特殊声明 均使用默认设置。安装时的2个重要文件 1:Oracle Net Services9.2.0.1.0->Oracle Net Listener9.2.0.1.0 监听端口 2:Oracle Management......
《电子CAD》课程学习总结班级:姓名:学号:1、统一用A4纸,字体小四,字数不少于700字,要求调理清晰、内容完整;提交电子档,文件名为(姓名+学号.doc),10月31号前上交,过期作废,该总结作为平时......
上海海文信息技术有限公司http://www.daodoc.comOracle培训主要有哪些课程?全球500强企业有98%在使用Oracle技术,中国排名前20位的银行,中国所有的电信运营商(移动、联通、电信)......
Oracle异常总结Oracle异常处理异常处理是考验一个应用程序健壮性的最好方式,开发人员必须考虑程序中可能出现的各种错误,并进行相应的处理。Oracle中异常分为预定义异常,非预定......
篇1:oracle培训班总结(听课笔记) oracle北京培训第一章 oracle10g的安装与基本设置一、数据库基础部分。oracle数据库应用系统结构与产品。sql语言:操作数据库,同时用于数据库......
