第六章表空间和数据文件的管理6
1Oracle引入逻辑结构的目的Oracle数据库管理系统并没有像不少其它数据库管理系统那样直接地操作数据文件,而是引入一组逻辑结构
如图6-1所示
图6-1图6-1的虚线左边为逻辑结构,右边为物理结构
与计算机原理或计算机操作系统中所讲的有些不同,在Oracle数据库中,逻辑结构为Oracle引入的结构,而物理结构为操作系统所拥有的结构
曾有不少学生问过我同样的一个问题,那就是Oracle为什么要引入逻辑结构呢
首先可能是为了增加Oracle的可移植性
Oracle公司声称它的Oracle数据库是与IT平台无关的,即在某一厂家的某个操作系统上开发的Oracle数据库(包括应用程序等)可以几乎不加修改地移植到另一厂家的另外的操作系统上
要做到这一点就不能直接操作数据文件,因为数据文件是跟操作系统相关的
其次可能是为了减少Oracle从业人员学习的难度
因为有了逻辑结构Oracle的从业人员就可以只对逻辑结构进行操作,而在所有的IT平台上逻辑结构的操作都几乎完全相同,至于从逻辑结构到物理结构的映射(转换)是由Oracle数据库管理系统来完成的
2Oracle数据库中存储结构之间的关系其实图6-1类似于一个Oracle数据库的存储结构之间关系的实体-关系图
如果读者学过实体-关系模型(E-R模型)的话,从图6-1中可以很容易地得到Oracle数据库中存储结构之间的关系
为了帮助那些没有学过E-R模型的读者理解图6-1,也是为了帮助那些学过但已经忘的差不多了的读者恢复一下记忆,在下面对E-R模型和图6-1给出一些简单的解释
在图6-1中,园角型方框为实体,实线表示关系,单线表示一的关系,三条线(鹰爪)表示多的关系
于是可以得到:每个数据库是由一个或多个表空间所组成(至少一个)
每个表空间基于一个或多个操作系统的数据文件(至少一个)