Oracle是一种关系数据库管理系统(RDBMS)。关系数据库是按照二维表结构方式组织的数据集合,每一个表体现了集合理论中定义的数学概念 ── 关系。数据库
数据库(Database)是一个数据容器,它包含了表、索引、视图、过程、函数、包等对象,并对其进行统一的管理。缓存
1、数据库的内部结构:服务器
1.表空间(TABLESPACE)函数
做用:性能
一、合理利用资源spa
二、提升系统的效率和性能操作系统
system 表空间:存放oralce内部结构和数据字典日志
sysaux 表空间:存放新增的表空间xml
undo 表空间:存放撤销信息对象
users 表空间: 存放用户信息的(数据库管理员的信息)
temp 表空间: 提供用户临时使用
2. 表(TABLE)
列 字段(列名 长度 类型)
行 记录
3. 约束条件(CONSTRAINT)
一、主键约束(primayr key):最多只有一个,惟一的
二、缺省( default ): 默认值
三、检查(check):保证列的值符合必定条件
四、惟一性(unique):保证列的值惟一
五、外键(foreign key):参照 delete cascade
4.分区(PARTITION)
分红小表,叫分区
5.索引(INDEX)
帮助快速查找,保证列值得惟一性
6. 用户(USER)
只得是用户拥有的数据库对象
7.方案(SCHEMA)
用户的方案,能够操纵哪些表
8.同义词
别名
9.权限及角色(ROLE)
赋予某个角色一些增删改查的权限
10.段(SEGMENT)、盘区(EXTENT)和数据块(DATA BLOCK)
段 就是数据库对象,它消耗存储空间,如表、索引、回滚段等。当建立表的时候,将建立一个表段,当建立一个分区表时,即在每一个分区上建立一个段,当建立索引 时,将建立一个索引段,每个消耗存储空间的对象最终被存储在一个单一的段中,有回滚段,临时段,聚簇段、索引段等。一个段能够拥有来自许多不通数据文件 中的盘区
盘区由块组成,一个块是在Oracle中空间分配的最小单元,是Oracle读写磁盘的对象,Oracle中的块一般有3个常见的大小 ,2K ,4K,8K。
一个段是由一个或多个盘区所组成,一个盘区是由一些连续分配的块。
数据块(Oracle Data Blocks),本文简称为“块”,是Oracle最小的存储单位,Oracle数据存放在“块”中。一个块占用必定的磁盘空间。特别注意的是,这里的“块”是Oracle的“数据块”,不是操做系统的“块”。Oracle请求的数据量不到一块,Oracle也会读取整个块。因此说,“块”是Oracle读写数据的最小单位或者最基本的单位
2、数据库外部结构
一、数据文件(DATAFILE):
在建立一个新的表空间的时候,在内存里给它分配一个文件夹
如:datafile 'd:/hello1.dbf'
二、重作日志文件(REDO LOG FILES)
当数据被破坏时,用于恢复
三、控制文件(CONTROL FILES)
用于记录数据库的外部结构
一、数据库的名称和构建时间
二、数据库文件与重置日志和名称的所在位置
三、日志记录的序列码
4. 表
用来存储和操做数据的结构,由行和列组成
5.表结构 :
表结构:由固定的列组成
记录:行数据组成
字段:由数据项构成
关键字:区分行记录
它们之间的关系 :
一、一对一
二、一对多
三、多对多
6. 实例
数据库实例是用于和操做系统进行联系的标识,也就是说数据库和操做系统之间的交互使用的是数据库实例。
7.系统全局区
当激活Oracle 12C数据库时,系统会先在内存内规划一个固定区域,用来存储每位使用者所需存取的数据以及Oracle 12C运做时必备的系统信息。
这个区域称为系统全局区(System Global Area),俗称SGA 。(一组共享的内存结构,存储里实例的数据和控制的文件信息)
(1)数据块缓存区。 用来存储读取数据块副本
(2)字典缓存区。存储用户帐号、数据文件名、盘区位置、表说明、权限等
(3)重作日志缓冲区:用于恢复
(4)SQL共享池:用于存储字典以及库缓存
程序全局区(PGA)
内存区,包含每一个服务器的数据和控制信息
8.后台进程
数据库的物理结构和存储结构之间的关系是由后台进程来维持。
主要的背景处理程序下。
(1)DBWR(数据库写入程序):
(2)LGWR(日志写入程序):
(3)SMON(系统监控程序):
(4)PMON(进程监控程序):
(5)CKPT(检查点进程):
(6)RECO(恢复进程):
(7)ARCH(归档进程):