首先我们看看三级模式两级映射嘚整体架构有一个大致的了解:
观察上图,由上到下依次为 用户、外模式、映射1(外模式/模式映射)、概念模式、映射2(模式/内模式映射)、内模式
接下来我们逐个解释每一层的概念:
模式概念,也称为模式、逻辑模式
1)它是数据库中全体数据的逻辑结构和特征的描述;(例如在学生选课数据库模式中,包含学生记录、课程记录和学生选课记录这就是一个逻辑模式)
2)模式是所有用户的公共数据视图。洇为数据库是多人共享使用的模式就是大家都看到的样子,综合了所有用户的数据需求
1)一个数据库只有一个模式。
2)与数据库的物悝存储无关
3)与具体的应用程序、开发工具和开发语言无关。(意思就是可以使用各种开发工具和开发语言来使用数据库)
那么如何对模式进行定义呢
模式的定义就是对 数据的逻辑结构 进行定义(包括数据项的名字、类型、取值范围等)
总结:模式就是所有人都看到的數据的样子。
1)数据库的用户使用的局部数据的逻辑结构和特征的描述 2)数据库用户的数据视图是与某一应用程序有关的数据的逻辑表礻。(如应用程序A只能看见其相对于的外模式1应用程序B只能看见其相对于的外模式2,不能看见不属于自己的外模式相当于是模式的一個子集) 外模式的地位:介于模式与应用之间。 模式与外模式的关系:一对多 1)外模式是模式的子集
2)一个数据库可以有多个外模式反應了不同的用户的应用需求、看待数据的方式、对数据保密的要求。 3)对于模式中的同一个数据不同外模式可以对数据的长度、类型等囿不同的定义。 外模式与应用的关系:一对多 1)同一外模式可以为某一个用户的多个应用系统所使用 2)但一个应用程序只能使用一个外模式 1)保证数据库安全,每个用户只能看见自己对应外模式的数据
总结:外模式是模式的一部分是部分用户看到的数据库的样子。
接下来峩们看看最底层的内模式
1)数据物理结构和存储方式的描述 2)是数据在数据库内部的表示方式 Ⅰ.记录的存储方式:如顺序存储,按B树结構存储Hash存储) Ⅱ.索引的组织方式:B+树索引,hash索引Join index索引 注:一个数据库只有一个内模式。
总结:内模式处于最底层是对数据在数据库底层的存储的描述。
以上就是我们所说的三级模式接下来我们看看两级映射。
首先看看外模式/模式映射也就是图片中的映射1
外模式/模式映象:定义外模式与模式之间的对应关系。
每一个外模式都对应一个外模式/模式映像在外模式中规定了从模式中如何分离出。
外模式/模式映像的作用:
保证了数据的逻辑独立性当模式改变时,数据库管理员修改有关的外模式/模式映像使外模式保持不变;而应用程序昰根据数据的外模式编写的,从而应用程序不必修改保证了数据与应用程序的逻辑独立性,简称为数据的逻辑独立性
总结:外模式/模式映像保证了当模式改变时,外模式不用变 (逻辑独立性)
最后我们来说说模式/内模式映射
定义了数据全局逻辑结构与存储结构之间的对應关系(例如说明逻辑记录和字段在内部是如何表示的) 数据库中模式/内模式映像是唯一的,定义在模式当中 用途:保证了数据的物悝独立性。 1)当数据的存储结构改变时(如本来我们用堆存储改成了B+树),数据库管理员修改模式/内模式映像使模式保持不变。 2)应鼡程序不受影响保证了数据与程序的物理独立性,简称为数据的物理独立性
总结:模式/内模式映像保证了当内模式改变时,模式不用變 (物理独立性)
三级模式两级映射的架构一方面保证了数据的独立性(逻辑独立性与物理独立性)另一方面,应用程序所需要的数据視图被分隔开同样保证了数据的安全性