数据库:数据库的三级模式结构
数据库系统 内部的结构划分为外模式(也称为用户模式或子模式)、模式(也称为概念模式或逻辑模式)和内模式(也称为存储模式)三个抽象结构,同时在三个模式中间提供二级映像功能。这些结构的划分反映了看待数据库的三个角度。
广义地讲:
- 内模式:是最接近物理存储的,也就是数据的物理存储方式。
- 外模式:是最接近用户的,也就是用户所看到的数据视图。
- 模式:是介于内模式和外模式之间的中间层次。
外模式是面向每一类用户的信息需求而设计,是数据的外部视图,外模式可以有多个。
模式是面向全体用户的信息需求而设计的,在一个数据库应用中,所有的信息作为一个整体考虑,因此模式只有一个,它是数据在概念层的视图。
内模式描述的是数据的物理存储,它是数据的内部视图。
二、模式映像功能与数据独立性
为了 能够在内部实现这三个抽象层次的联系和转换,数据库管理系统a在三个模式之间提供了两层映像。
外模式/模式映像
模式/内模式映像
在数据库的三级模式结构中,逻辑模式是数据库的中心与关键,它独立于数据库的其他层次。设计数据库时也是首先设计数据库的逻辑模式。
数据库的内模式依赖于数据库的全局逻辑结构,但独立于数据库的用户视图,也就是外模式,也独立于具体的存储结构。内模式将全局逻辑结构中所定义的数据结构及其联系按照一定的物理存储策略进行组织,以达到较好的时间与空间效率。
数据库的外模式面向具体的应用程序,它定义在逻辑模式之上,但独立于存储模式和存储设备。当应用需求发生较大变化,相应的外模式不能满足用户的要求时,就需要调整外模式定义,以满足新的要求。
原则上,应用程序都是在外模式描述的数据结构上编写的,而且它应该只依赖于数据库的外模式,并与数据库的模式和存储结构独立(但目前很多应用程序都是直接针对模式进行编写的)。不同的应用程序有时可以共用同一个外模式。数据库管理系统提供的两级映像功能保证了数据库外模式的稳定性,从而从底层保证了应用程序的稳定性,除非应用需求本身发生变化,否则应用程序一般不需要修改。
数据与程序之间的独立性,使得数据的定义和描述可以从应用程序中分离出来。另外,由于数据的存取由DBMS负责管理和实施,因此,用户不必考虑存取路径等细节,从而简化了应用程序的编写,减少了对应用程序的维护和修改工作。
数据库系统原理:数据库的三级模式
数据库系统内部的系统结构通常采用三级模式。
一、模式的概念
型(Type):是指对某一类数据结构和属性的说明。
值(Value):是型的一个具体赋值。
模式(Schema):是数据库中全体数据的逻辑结构和特征的描述。
实例(Instance):是模式的一个具体值,同一式有很多实例。
例如,学生选课数据库中,可以有三个模式,学生模式、课程模式和选课模式。这三个模式,就相当于三张表的表头,就称为是数据库中全体数据的逻辑结构和特征的描述,即模式;三张表中的所有数据,则称为实例,如所有的学生信息、课程信息、学生的选课信息中的具体内容称为实例。模式是相对稳定不变的,而实例是变化的。
数据库系统的种类很多(支持的数据模型不同、使用的数据库语言不同、建立在不同的操作系统上、存储结构不同),但内部体系结构上有共同特征。通常采用三级模式结构,提供两级映像功能(数据库系统的标准结构)。从外部用户角度,数据库系统结构可以分为集中式、分布式、主从式、单用户、并行结构、BS结构、CS结构等等。而数据库系统的三级模式结构指的是数据库内部的体系结构。
二、三级模式结构
(1)模式
模式,介于用户级和物理级之间,是所有用户的公共数据视图(全局的数据视图),是数据库管理员看到和使用的数据库。
模式属于概念级,它不涉及存储,也不涉及程序;考虑的是所有用户的需求形成的整体的描述,是逻辑级别上的视图。DBMS(数据库管理系统)提供了模式定义语言,允许用户来定义模式。
一个数据库只存在一个DBA视图,即一个数据库只有一个模式。
(2)外模式
外模式,最接近于用户的一级数据库,是用户看到和使用的局部数据的逻辑结构和特征的描述,又称用户视图。(局部视图,每个用户的外模式不同)
外模式是模式的子集。一个数据库可以有多个外模式。
外模式是面向具体的应用程序的,即应用程序使用外模式来编程的。DBMS也提供了外模式定义语言来允许用户来编译他自己的外模式。
(3)内模式(存储模式)
内模式是数据物理结构和存储方式的描述。
一个数据库只有一个内模式。
内模式不是实际的物理存储,它只是最接近于物理存储。在内模式里面,它描述的信息包括比如记录的类型、索引、组织的方式等等。
三、数据库系统的三级模式结构
一个数据库中,模式和内模式只有一个,而外模式可以有多个。每个应用程序只能提供一个外模式进行编程;而每个外模式可以供多个应用程序使用。
模式关系层次图
外模式的作用:接口简单使用方便,保证了数据独立性和安全性。
模式的作用:保证了数据的一致性、共享性,使冗余最小,并且能够反映数据间的整体的联系。
学生选课系统的三级模式结构图
本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com
文章为作者独立观点不代本网立场,未经允许不得转载。