前言
数据库系统的结构可以有不同的层次或不同的角度,从外部来看分为单用户结构、主从式结构、分布式结构、客户-服务器、浏览器-应用服务器/数据库服务器多层结构等;从内部来看,通常是采用三级模式结构,即外模式、模式和内模式 ,而为了能够在系统内部实现这三个抽象层次的联系和转换,提供了两层映像:外模式/模式映像和模式/内模式映像。
三级架构
外模式
外模式也称子模式或用户模式,它是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示,外模式通常是模式的子集,一个模式可以有多个外模式,是保证数据库安全性的一个有力措施
模式
模式也称逻辑模式,是数据库中全体数据的逻辑结构和特征描述,是所有用户的公共数据视图。它是数据库系统模式结构的中间层,即不涉及数据的物理存储细节和硬件环境,又于具体的应用程序、所使用的应用开发工具及高级程序设计语言无关
内模式
内模式也称存储模式,一个数据库只有一个内模式(一个数据库只有一个模式,一个模式只有一个内模式)。它是数据物理存储结构和存储方式的描述,是数据在数据库内部的组织方式
二级映像
数据库系统使用二级映像可以保证数据库外模式的稳定性,从底层保证了应用程序的稳定性,以及数据与程序之间的独立性,使得数据定义和描述可以从应用程序中分离出去
外模式/模式映像
外模式描述的是数据的局部逻辑结构,模式描述的是数据的全局逻辑结构,对应同一个模式可以有任意多个外模式,从而外模式/模式是不唯一的,主要用来保证数据与程序的逻辑独立性,当模式改变时(例如修改了一个属性的域时),由数据库管理员对各个外模式/模式映像做相应的改变,可以使外模式保持不变,应用程序是依据数据的外模式编写的,从而应用程序也不必改变
模式/内模式映像
数据库中只有一个模式,也只有一个内模式,从而模式/内模式映像是唯一的,主要用来保证数据与程序的物理独立性,当数据库的存储结构发生改变时(比如将B+树索引改变为hash索引时),有数据库管理员对模式/内模式做相应的改变,可以使模式不变,使用应用程序也不必改变
借鉴
王珊,萨师煊.数据库系统概论(第五版)[M].北京:高等教育出版社,2014:27-31.