数据库两级映像
数据库的两层映像功能与数据的独⽴性
为了能够在内部实现数据库的三个抽象层次的联系和转换,数据库管理系统在这三级模式之间提供那个了两层映像:
·外模式/模式映像
·模式/内模式映像
正是这两层映像保证了数据库系统中的数据能够具有较⾼的逻辑独⽴性和物理独⽴性。数据库的两层映像结构如前图。
1 外模式/模式映像
模式描述的是全局逻辑结构,外模式描述的是数据的局部逻辑结构。对应于同⼀个模式可以有任意多个外模式。对于每⼀个外模式,数据库系统都有⼀个外模式/模式映像,它定义了该外模式与模式之间的对应关系。这些映像定义通常包含在各⾃外模式的描述中。记住我
当模式改变时(例如增加新的关系,新的属性,改变属性的数据类型等),由数据库管理员对各个外模式/模式映像做相应的改变,可以使外模式保持不变。应⽤程序是依据数据的外模式编写的,从⽽应⽤程序可以不必修改,保证了数据与程序的逻辑独⽴性,简称数据的逻辑独⽴性。例如,如果向对某个表添加⼀些字段,那么由于外模式没有变,应⽤程序不⽤改变,因为应⽤程序只访问外模式定义的数据,对于数据的整体结构不关⼼。这样也是程序员把注意⼒主要集中在和⾃⼰相关的数据上,对数据的整体逻辑结构可以不⽐过多的了解,减轻了编程负担。
2 模式/内模式映像
数据库中只有⼀个模式,也只有⼀个内模式,所以模式/内模式映像是唯⼀的,它定义了数据库全局逻辑结构与之间的对应关系。例如,说明逻辑记录和字段在内部是如何表⽰的。该映像定义通常包括在模式描述中。当数据库的改变了(如选⽤的另⼀种),由数据库管理员对模式/内模式映像做相应的改变,可以使模式保持不变,从⽽应⽤程序也不必修改,保证了数据与程序的物理独⽴性,简称数据的物理独⽴性。
在数据库的三级模式结构中,数据库模式即全局逻辑结构是数据库的中⼼与关键,它独⽴于数据库的其他层次。因此设计数据库模式结构时应⾸先确定数据库的逻辑结构。