数据库的三级模式结构
请先把下面的关系记在心中.
外模式(应用)->概念模式(表结构)->内模式(物理)
外模式(external schema)
也称”用户模式”或者”子模式”,是用户与数据库的接口.
数据库的设计者把程序员用的上的接口给出来,程序员不需要关心数据库的结构(概念模式)这就是外模式.
用外模式DDL(External Schema Data Definition Language)定义.
例子:
- 视图
概念模式(conceptual schema)
也称”模式”.
用模式DDL(schema data definition language).
例子:
- SQL的一个建表语句建出来的东西,就叫概念模式.
概念模式只涉及数据库结构(比如数据类型,是int还是text),是相对稳定的.
内模式(internal schema)
也称存储模式,是数据物理结构存储方式的描述.这个模式和程序员离得最远.
例子:
- 数据库的每条记录是顺序存储,是用B-Tree存,还是用Hash存?
- 数据库的索引用什么方式组织?
- 数据是加密还是明文存储?
数据库的两级映像
自高而低为:
- 外模式/模式映像
- 模式/内模式映像
一句话概括:相邻层级有一个映像.
这两级映像保证了数据库中的数据具有较高的逻辑独立性和物理独立性,而我们可以将每个映像理解为一个封装.
考虑到封装,数据的逻辑独立性和物理独立性可以说是显然的.
数据的逻辑独立性
修改了表结构(即概念模式)只需要修改外模式和概念模式之间的映像(改改外模式,如视图的定义),而不需要修改用户程序.数据的物理独立性
修改了数据的物理存储方式(例如加了个密),而表结构(即概念模式)能保持不变.