2020-12-08

第一章:Oracle数据库基本概念总结:

Oracle的发展历史,Oracle公司原名为SDL,是由1977年6月,在硅谷创建的一个只有3个人的名为
软件开发实验室的公司,最开始开办这公司的3个人,并没有一个明确的方向,直到后来看见了1970年
IBM公司的CODD博士提出关系模型理论后。在1979年Oracle更名为RSI,1983年再次更名为Oracle。
在Oracle的庞大的应用体系中,包括了两个方向,一个是DBA,一个是对数据库编程的数据库程序员
[color=red]什么是PL/SQL:[/color] PL/SQL是procedural language(过程语言)的缩写,本身是指Oracle特有的脚步语言,表示了数据库
脚步开发是面向过程的。
组成PL/SQL的最基本的单元是PL/SQL块,块可以分为匿名块,命名块。命名块又包括:子程序,包,触发器
用户编写的匿名块代码放在客服端,而命名块放在服务器,无论是放在那里,都需要PL/SQL引擎执行,引擎安装
在Oracle数据库服务器中或一些客服端的应用开发工具中,因此PL/SQL可以在Oracle服务器或者一些应用开发工具
环境中运行。
[color=red]如何处理PL/SQL:[/color] SQL语句处理器总是在服务器的上,PL/SQL是对标准SQL的扩充,那么PL/SQL代码包含了SQL的内容,又包含了PL/SQL
本身所添加的的过程性语句。如果PL/Sql引擎在服务器上,那么整个PL/SQL块,将发送的服务器的PL/SQL引擎,PL/SQL
引擎在接受发送过来的PL/SQL块后,由自己处理执行过程性语句等PL/SQL本身添加的内容,而将SQL语句剥离出来转发到
SQL引擎。如果PL/SQL引擎在客服端,只需将SQL语句发送的Oracle的服务器。
[color=red]PL/SQL的编译过程:[/color] 每次一个匿名的PL/SQL块执行时,代码被送到服务器上的PL/SQL引擎。在这里进行PL/SQL的编译.
1)语法检查:PL/SQL代码的语法或编译错误,变量有没定义,语句结尾有没分号等。
2)绑定: 如果通过了语法检查,编译器为Oracle存储数据程序变量分配空间,这个过程称之为绑定。
3)伪代码产生:伪代码是对PL/SQL引擎的指令列表,对于命名块,伪代码存储在数据库中,以备程序下次执行使用,
一旦编程成功PL/SQL块的状态值设置为valid(有效)反之为(invalid).
[color=red]使用PL/SQL的好处:[/color]
1)提高应用程序的性能.
以往的SQL语句,如果执行了20句SQL语句,那么就要与服务器交互20次,而PL/SQL可以作为单个单元进行发送,只需一次。
2)提供模块化程序开发能力。
3)具有良好的兼容性。
4)允许定义标示符。
5)提供程序控制结构。
6)提供异常处理。
[color=red]Oracle数据库的体系架构:[/color]
Oracle体系架构包括了,实例和数据库。而实例包括了内存和进程,内存包括了SGA和PGA。
Oracle内存结构主要可以分为共享内存区,共享内存区主要由SGA组成,非共享内存区主要由PGA组成
[color=red]SGA包括几个总要的区域:[/color]1)数据库缓冲区:是SGA的主要成员,用来存放读取自数据文件的数据块副本,或者用户曾经处理过的数据,主要是减少对磁盘的读写
当用户首次查询某块数据时,首先在该区域进行检索,如果找到了称为缓存命中(CACHE HIT)反之为缓存失效(cache missi)
2)重做日志文件区,该区域记录了所有数据库的操作,在适当的时机由LGWR进程将其写入磁盘,在数据损坏时可以必要的恢复,
3)共享池:是SGA最关键的内存片段,共享词分为库缓存,数据辞典缓存,库缓存包括了共享SQL区,私有SQL区,
[color=red]Oracle对SQL语句处理过程:[/color]1)语法检查。
2)语义检查,检查SQL语句中访问对象是否存在等
3)对SQL语句进行解析:利用内部算法对SQL语句进行解析,生成解析树,以及执行计划。
4)执行SQL,返回结果。
注意:第一次执行SQL语句时,SQL解析结果(解析树以及执行计划)放在共享SQL区,而解析SQL语句时所需要的表的名称,字段名称,数据
类型,等数据存放在数据辞典缓存中,在一次执行执行SQL语句时,Oracle利用内部算法取得该SQL的HASH值,然后在库缓存查找是否存在该HASH
值,如果存在将此SQL与缓存区的进行比较,如果相同,就利用已有的的解析树和执行计划。
[color=red]Oracle数据库的逻辑结构:[/color]1)表空间。最大的独立的存储空间,通常一个业务系统就需要一个表空间,相当与SQLserver的数据库
2)段,相同的数据保存在相应的段。如数据段,索引段,回滚段。
3)块,最小的存储空间,通常为2K。
4)区,最小的分配单位。通常为4K。
[color=red]Oracle数据库的物理结构:[/color]
1———数据文件。
2———重做日志文件
3———控制文件
4———初始化参数文件
Oracle的序列:
创建序列:
Create sequence 序列名 increment by 增量种子数 start with 起始数字 maxvalue 最大数;
删除序列:
drop sequence 序列名。
注意:创建序列完毕之后,该序列有nextval和nextValue两个属性,一个是返回下一个序列,一个是当前
序列的值。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值