DB的数据结构有三个层次:外部模型、逻辑模型和内部模型。这三个层次要用DB的数据定义语言(Data Definition Language,简称DDL)定义,定义以后的内容称为“模式”,即外模式、逻辑模式和内模式。
逻辑模式
- 是数据库中全部数据的整体逻辑结构的描述。
- 一般,某个应用的数据库只有一个逻辑模式
- 逻辑模式是数据库系统模式结构的重心
- 与数据的物理存储细节和硬件环境无关
- 与具体的应用程序、开发工具及高级程序设计语言无关
- 定义模式
- DDL定义数据的逻辑结构,以某种数据模型为基础。数据记录由哪些数据项构成,数据项的名字、类型、取值范围等。
- 定义数据之间的联系
- 定义与数据有关的安全性、完整性要求。
外模式(也成为子模式或用户模式)
是用户与数据库的系统接口,是用户用到的那部分数据的描述。
外模式与应用的关系
一个外模式可以为多个应用系统所使用,一个应用程序只能使用一个外模式
外模式的用途
- 每个用户只能看见和访问所对应的外模式中的数据,简化用户视图。
- 保证数据库安全性的一个有力措施。
内模式(也成为存储模式)
是数据库在物理存储方面的描述,是数据在数据库内部记录内心、索引和文件的组织方式,以及数据控制方面的细节。
一个数据库只有一个内部模式。
外模式/逻辑模式映像
1. 对每一个外模式,都有一个外模式/逻辑模式映像
定义外模式与模式之间的对应关系,映像定义通常包含在各外模式的描述中。
2. 保证数据的逻辑独立性
- 当逻辑模式改变时,数据库管理员对外模式/逻辑模式映像作出相应改变,使外模式保持不变。
- 应用程序是依据数据的外模式编写的,应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。
逻辑模式/内模式映像
定义了数据全局逻辑结构与存储结构之间的对应关系。一般在内模式中描述。
- 数据库中逻辑模式/内模式映像是唯一的。
- 保证数据的物理独立性
- 当数据库的存储结构改变了(例如选用了另一种存储结构),数据库管理员修改逻内模式映像,使逻辑模式保持不变。
- 逻辑模式不变,则应用程序不变。保证了数据与程序的物理独立性,简称数据的物理独立性。