ORACLE数据库基础初探之简介和体系结构
内容:(1)oracle数据库系统简介
(2)oracle数据库相关名词解释
(3)oracle体系结构
1:oracle数据库系统简介
oracle数据库系统是oracle公司提供的一组以分布式数据库为核心的的软件产品,oracle是一个通用的数据库管理系统,具有完整的数据功能,作为一个大型关系型数据库,是一个很完备的产品.
orcale数据库特点:
(1)支持多用户,大事务量的事务处理
(2)数据安全性和完整性控制
(3)支持分布式数据处理(自第五版起提供此功能,第七版起已经具有完善的分布式数据处理能力)
(4)可移植性
(5)数据物理性和逻辑性独立准则
2:oracle数据库相关名词解释:
1:数据库 2:实例 3:数据文件 4:表空间 5:用户
1:数据库
oracle数据库是数据的物理存储,一个操作系统只有一个库。可以看做oracle只有一个大的全局数据库,oracle不像mysql一个应用就要创建一个数据库。
数据库的物理结构是数据库中的操作系统文件的集合。数据库的物理结构由数据文件、控制文件和重做日志文件组成。
1、数据文件:数据文件是数据的存储仓库。
2、控制文件:控制文件包含维护和验证数据库完整性的必要的信息。
3、联机重做日志文件:联机重做日志文件包含对数据库所做的更改记录,在发生故障时能够恢复数据。
4:还有其他非必须的文件:实例参数文件、口令文件、归档重做日志文件。
2:实例
一个oracle实例由一系列的后台进程和内存结构组成。一个数据库可以有N多实例。oracle数据库和实例之间是一对多的关系。
3:数据文件(dbf)
数据文件是数据库的物理存储单位,oracle数据库中的数据储存储到表空间中,但其真正的是存在一个或者多个数据文件中,一个表空间可以由多个数据文件组成,但一个数据文件只能属于一个表空间,如果将某个数据文件加入了某个表空间,这个文件将不能够直接被删除,只能删除这个表空间
4:表空间
表空间是oracle数据库在结构设计上特有的一个概念,是一个逻辑上的概念,是oracle对物理数据库上相关数据文件(ora或者dbf文件),一个数据库在逻辑上被划分成了一个或者多个表空间,每个表空间包含了一组在逻辑上相关联的一组结构。每个数据库至少得有一个表空间(即system空间)
每个表空间由同一个磁盘上一个或者多个文件组成,这些文件叫做数据文件,一个数据文件只能属于一个表空间
注意:表中的数据是由用户放入到某个表空间的,而这个表空间会随机把这些表数据放到一个或者多个数据文件中
5:用户
用户是在表空间下建立的,一个表空间中可以有多个用户,每个用户登录后只能看到自己操作的表。这里得用户就类似于MYSQL的数据库,每建立一个应用就需要有一个用户。
3、oracle体系结构
Oracle数据库有物理结构和逻辑结构。
如图:
红线左边是逻辑结构,右边是物理结构
表空间中放的是一个或者多个数据文件,但一个数据文件只能属于一个表空间 数据文件是个物理上的结构
oracle数据块是逻辑上的最小单位,它是由物理结构上的很多磁盘块组成
oracle数据库的逻辑结构:
如图
可能很多初次接触oracle数据库的同仁不能够理解,表空间这个概念。我将举例就表空间这个概念做一个我个人认为比较形象的说明
地球在宇宙中只有一个,(地球对应oracle数据库,整个系统中只有一个)
地球上有很多个国家 这些国家在建立之初可以起个名字,指定国家位置在哪,指定个初始的国土面积,当这个国土面积已经被占满的时候是否去增加国土面积,每次增加多次,这个都可以在国家建立时指定(国家对应表空间,一个数据库可以有多个表空间,国名对应表空间名称(tablespace),国家的地理位置对应指表空间文件所存放的位置(datafile),国土面积对应表空间中的(size),国土被占满后是否扩张对应表空间中的(autoextend),每次扩张多少对应表空间中的(next),这些都是在建表空间之初可以指定的)
一个国家总得有人管理吧,管理人员就是对应表空间中的用户,如果这个国家很小,那一个管理人员就够了,很大那就要多个人管理,那就是一个表空间可以有多个用户,这些国家管理人员有不同权限,所以表空间中的用户你也可以指定一些不同权限,每个用户只能干自己权限内的事,操作自己的表
Oracle数据库能够实现分布式数据管理的很大程度上得益于这个表空间的设计架构,其他数据库是不存在表空间这个概念的,因为oracle数据文件并非直间存储在表空间中,表空间存储的只是数据文件的映射
表空间不是物理上的概念,是逻辑上的概念。
本文相关注解:
注解1::分布式数据库是指利用高速的计算机网络将物理上分散的存储单元连接起来组成一个逻辑上统一的数据库。你可以这么理解,就是oracle数据库不像mysql数据库那样,需要把所有的数据都存在一台机器上,而是可以存储在不同的机器,通过网络把这些机器上存储的数据给连接起来,然后组成一个统一的数据库,从而减轻服务器的压力。
注解2:关系型数据库是指基于关系模型基础上建立起来的数据库,何为关系模型读者可自行百度,简单来说你可以这么理解,关系型数据库用行和列来储存数据,行和列之间存在对应关系的。