1.4.2 数据库系统的二级映像功能与数据独立性
2025年09月26日
1.4.2 数据库系统的二级映像功能与数据独立性
实际上,一个数据库系统只有其物理数据库是客观存在的,而概念级数据库只是物理数据库的一种逻辑、抽象描述(即模式);用户级数据库是用户与数据库的接口,它是概念级数据库的一个子集(即子模式)。为了能够在数据库管理系统内部实现这3个抽象层的联系和转换,数据库管理系统在这三级模式之间提供了两层映像:即外模式—模式映像、模式—内模式映像。这两种映射的转换由DBMS实现。关系数据库的三级模式示例如图1-12所示。
图1-12 关系数据库的三级模式示例
(1)外模式—模式映像
对于同一个模式,可以有任意多个外模式。用户应用根据外模式进行数据操作,通过“外模式—模式映射”,定义和建立了某个外模式与模式间的对应关系,将外模式与模式联系起来。这些映像定义通常包含在格式外模式的描述中。
当模式发生改变时,由数据库管理员对各个外模式—模式映像做相应改变,可以使外模式保持不变。应用程序是依据外模式编写的,从而使应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。
(2)模式—内模式映像
数据库中只有一个模式,也只有一个内模式,所以模式—内模式映像是唯一的,它定义了数据库全局逻辑结构与存储结构之间的对应关系。该映像定义通常包含在模式的描述中。
当数据库的存储结构(内模式)改变了,由数据库管理员对模式—内模式映像做出相应改变,可以使模式保持不变,从而应用程序不必改变,保证了数据与程序的物理独立性,简称为数据物理独立性。
总之,数据库的二级映像保证了数据库外模式的稳定性,从根本上保证了应用程序的稳定性。
数据库系统的三级模式、两级映像结构使得数据的定义和描述可以从应用程序中分离出去。又由于数据的存取由DBMS管理,因此,用户不必考虑存取路径等细节,从而简化了应用程序的编制,大大减少了应用程序的维护和修改。