数据库系统 内部的结构划分为外模式(也称为用户模式或子模式)、模式(也称为概念模式或逻辑模式)和内模式(也称为存储模式)三个抽象结构,同时在三个模式中间提供二级映像功能。这些结构的划分反映了看待数据库的三个角度。
广义地讲:
- 内模式:是最接近物理存储的,也就是数据的物理存储方式。
- 外模式:是最接近用户的,也就是用户所看到的数据视图。
- 模式:是介于内模式和外模式之间的中间层次。
外模式是面向每一类用户的信息需求而设计,是数据的外部视图,外模式可以有多个。
模式是面向全体用户的信息需求而设计的,在一个数据库应用中,所有的信息作为一个整体考虑,因此模式只有一个,它是数据在概念层的视图。
内模式描述的是数据的物理存储,它是数据的内部视图。
二、模式映像功能与数据独立性
为了 能够在内部实现这三个抽象层次的联系和转换,数据库管理系统a在三个模式之间提供了两层映像。
外模式/模式映像
模式/内模式映像
三、数据库三级模式的关系
在数据库的三级模式结构中,逻辑模式是数据库的中心与关键,它独立于数据库的其他层次。设计数据库时也是首先设计数据库的逻辑模式。
数据库的内模式依赖于数据库的全局逻辑结构,但独立于数据库的用户视图,也就是外模式,也独立于具体的存储结构。内模式将全局逻辑结构中所定义的数据结构及其联系按照一定的物理存储策略进行组织,以达到较好的时间与空间效率。
数据库的外模式面向具体的应用程序,它定义在逻辑模式之上,但独立于存储模式和存储设备。当应用需求发生较大变化,相应的外模式不能满足用户的要求时,就需要调整外模式定义,以满足新的要求。
原则上,应用程序都是在外模式描述的数据结构上编写的,而且它应该只依赖于数据库的外模式,并与数据库的模式和存储结构独立(但目前很多应用程序都是直接针对模式进行编写的)。不同的应用程序有时可以共用同一个外模式。数据库管理系统提供的两级映像功能保证了数据库外模式的稳定性,从而从底层保证了应用程序的稳定性,除非应用需求本身发生变化,否则应用程序一般不需要修改。
数据与程序之间的独立性,使得数据的定义和描述可以从应用程序中分离出来。另外,由于数据的存取由DBMS负责管理和实施,因此,用户不必考虑存取路径等细节,从而简化了应用程序的编写,减少了对应用程序的维护和修改工作。