目录
1 数据库的三种模式
1.1 内模式
1.2 概念模式
1.3 外模式
2 为什么要设置这些模式
2.1 物理层
2.2 概念层
2.3 用户层
1 数据库的三种模式
1.1 内模式
也称存储模式(Storage Schema),内模式是整个数据库的最低层表示,不同于物理层,它假设外存是一个无限的线性地址空间,内模式定义的是存储记录的类型、存储域的表示以及存储记录的物理顺序,指引元、索引和存储路径等数据的存储组织。
例如,记录的存储方式是顺序存储、按照B树结构存储还是按hash方法存储;索引按照什么方式组织;数据是否压缩存储,是否加密;数据的存储记录结构有何规定)。一个数据库只有一个内模式。
关键点:
一个数据库只有一个内模式;
一个表可能由多个文件组成,如:数据文件、索引文件。 它是数据库管理系统(DBMS)对数据库中数据进行有效组织和管理的方法
1.2 概念模式
概念模式(也称模式、逻辑模式)用以描述整个数据库中数据库的逻辑结构,描述现实世界中的实体及其性质与联系,定义记录、数据项、数据的完整性约束条件及记录之间的联系,是数据项值的框架。
数据库系统概念模式通常还包含有访问控制、保密定义、完整性检查等方面的内容,以及概念/物理之间的映射。
概念模式是数据库中全体数据的逻辑结构和特征的描述
关键点:一个数据库只有一个概念模式。
1.3 外模式
也称子模式(Subschema)或用户模式,是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,常常是与某一应用有关的数据的逻辑表示。这种处理方式不仅可以提高数据对用户的价值,同时还可以保证数据的安全。
关键点: 一个数据库可以有多个外模式
2 为什么要设置这些模式
为什么要设置内模式呢,上图概念化的说明了
2.1 物理层
大家都知道数据库设计就是要高效的利用数据,这里的利用包括存储和查看,对于物理层面,需要考虑的是如何高效的利用有限的物理存储空间,例如减少数据冗余,减少存储空间浪费,同时向上提供高效的查询方法,为了达到这个目标,数据真实存放在物理设备(如磁盘)上时可能就是0-1-0-1紧密排布的。
但是向上图中紧密排布的数据有两个问题:
1、数据如何解析,到底是什么含义
2、这种对用户来说是非常不友好的,用户需要友好的数据展示界面
2.2 概念层
对于问题1,就相当于现在需要一套如何解析这些数据的规则概念,例如我们可以把8bit解析成一个正整数即00000001=1,也可以用16个bit解析为一个正整数即0000000100000001=257,此时数据和整数这个概念(整数实际上也是一个数据模型)取得了联系,这就是概念层需处理的问题了。
2.3 用户层
在用户层,用户可能需要如下图左侧的2行1的展示形式,也可能有用户需要下图中间4行1的展示形式。因此需要对同样的数据的展示形态进行管理,以提升数据对用户的价值。
因为展示的需求是多种多种多样的因此用户模式(外模式)可以有许多种。