oracle数据库的结构

Oracle是一种关系数据库管理系统(RDBMS)。关系数据库是按照二维表结构方式组织的数据集合,每个表体现了集合理论中定义的数学概念 ── 关系。

 

数据库(Database)是一个数据容器,它包含了表、索引、视图、过程、函数、包等对象,并对其进行统一的管理。

 

一、数据库的内部结构:

1.表空间(TABLESPACE)

作用:

1、合理利用资源

2、提高系统的效率和性能

system 表空间:存放oralce内部结构和数据字典

sysaux 表空间:存放新增的表空间

undo 表空间:存放撤销信息

users 表空间: 存放用户信息的(数据库管理员的信息)

temp 表空间: 提供用户临时使用

 

2. 表(TABLE)

列 字段(列名 长度 类型)

行 记录

3. 约束条件(CONSTRAINT)

1、主键约束(primayr key):最多只有一个,唯一的

2、缺省( default ): 默认值

3、检查(check):保证列的值符合一定条件

4、唯一性(unique):保证列的值唯一

5、外键(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读写数据的最小单位或者最基本的单位

 

二、数据库外部结构

1、数据文件(DATAFILE):

在创建一个新的表空间的时候,在内存里给它分配一个文件夹

如:datafile 'd:/hello1.dbf'

2、重做日志文件(REDO LOG FILES)

当数据被破坏时,用于恢复

 

3、控制文件(CONTROL FILES)

用于记录数据库的外部结构

1、数据库的名称和构建时间

2、数据库文件与重置日志和名称的所在位置

3、日志记录的序列码

 

 4. 表

 用来存储和操作数据的结构,由行和列组成

 

5.表结构 :

表结构:由固定的列组成

记录:行数据组成

字段:由数据项构成

关键字:区分行记录

 

它们之间的关系 :

1、一对一

2、一对多

3、多对多

 

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(归档进程):

你可能感兴趣的:(oracle数据库的结构)