## 三级模式
DBS采用三级模式结构，那就是外模式、模式、内模式。这是DBMS的内部结构。主流DB在结构上都具有这三个特征，即采用三级模式并且提供两级映像功能。

### 模式
模式也叫逻辑模式，是对DB中全体数据的逻辑结构和特征的总体描述，位于DBS的中间层，不关乎应用程序或者程序语言，仅仅涉及到对型的描述。是数据在逻辑上的视图，
记住：***一个DB只有一个
模式。模式的一个具体值为一个实例，一个模式可以多个实例。***

### 外模式
也称子模式（Subschema）或用户模式，是数据库用户（包括应用程序员和最终用户）能够看见和使用的局部数据的逻辑结构和特征的描述，是数据库用户的数据视图，
是与某一应用有关的数据的逻辑表示。<br>
理解： ① 一个数据库可以有多个外模式； ② 外模式就是用户视图； ③ 外模式是保证数据安全性的一个有力措施。

### 内模式
定义：也称存储模式（Storage Schema），它是数据物理结构和存储方式的描述，是数据在数据库内部的表示方式（例如，记录的存储方式是顺序存储、按照B树结构
存储还是按hash方法存储；索引按照什么方式组织；数据是否压缩存储，是否加密；数据的存储记录结构有何规定）。<br>
理解： ① 一个数据库只有一个内模式； ② 一个表可能由多个文件组成，如：数据文件、索引文件。 它是数据库管理系统(DBMS)对数据库中数据进行有效组织和管理
的方法 其目的有： ① 为了减少数据冗余，实现数据共享； ② 为了提高存取效率，改善性能。

![外模式、模式、内模式的关系图](http://img.blog.csdn.net/20160314135557419)

## 两级模式映像功能与数据独立性
两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性，使数据库应用程序不随数据库数据的逻辑或存储结构的变动而变动。

### 外模式/模式映像 
模式描述的是数据的全局逻辑结构，外模式描述的是数据的局部逻辑结构。对应于同一个模式可以有多个外模式。对于每个外模式，都有一个从外模式到模式的映像，
该映像定义了外模式与模式之间的对应关系。这些映像定义通常包含在各自的外模式描述中。<br>
当模式发生变化时（如增加新的关系、新的属性或改变属性的数据类型等），可以通过外模式定义语句，调整外模式/模式映像定义，从而保持外模式不变。由于应用
程序是依据数据的外模式编写的，因此应用程序也不必修改，从而保证了程序与数据的逻辑独立性，简称为数据的逻辑独立性。

### 模式/内模式映像
模式/内模式映像定义了数据库的逻辑结构与存储结构之间的对应关系。当数据库的存储结构发生改变，比如选择了另一种存储结构，只需要对模式/内模式映像做相应
的调整，就可以保持模式不变，从而使应用程序也不必修改。因此，保证了数据与程序的物理独立性，简称为数据的物理独立性。

