模式:模式是数据库中全体数据的逻辑结构和特征的描述。(不涉及具体的值)
例如:
学生选课数据库模式:
学生(姓名,学号,专业班级)
课程(课程号,课程名,学分)
选课(学号,课程号,成绩)
注意:模式中不包含具体的记录数据。
三级模式:
- 概念级---模式:模式也称为概念模式或逻辑模式,是对数据库中全部数据的逻辑结构和特征的描述,是所有用户的公共数据视图。一个数据库只有一个模式,通常以某种数据模型为基础,统一综合地考虑了所有用户的需求,并将这些需求有机地结合成一个逻辑整体。(反映了数据库系统的整体观)
- 物理级---内模式:内模式也称存储模式或物理模式,是对数据物理结构和存储方式的描述,十数据在数据库内部的表示方式,一个数据库只有一个内模式。(反映了数据库系统的存储观)
- 用户级---外模式:外模式也称子模式或用户模式,它是对数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述。外模式通常是模式的子集,一个数据库可以有多个外模式,但一个应用程序只能使用同一个外模式。(反映了数据库系统的用户观)
两级映射:
数据库系统在三级模式之间提供了两级映像:模式/内模式的映像、外模式/模式的映像。
- 模式/内模式的映像:实现概念模式到内模式之间的相互转换。
- 外模式/模式的映像:实现外模式到概念模式之间的相互转换。
外模式/模式映像:对应于同一个模式可以有任意多个外模式,对于每一个外模式,数据库系统都有一个外模式/模式映像,它定义了该外模式与模式之间的对应关系。当模式改变时,由数据库管理系统员对各个外模式/模式做相应的改变,可以使外模式保持不变。应用程序是依据数据的外模式编写的,从而应用程序可以不必修改,保证了数据与程序的逻辑独立性。
模式/内模式映像:数据库只有一个模式,也只有一个内模式,所以模式/内模式映像是唯一的,它定义了数据库的全局逻辑结构与存储结构之间的对应关系。当数据库的存储结构改变时,由数据库管理员对模式/内模式映射做相应的改变,可以使模式保持不变,从而应用程序也不必修改,保证了数据与程序的物理独立性。