《数据独立性是指什么.docx》由会员分享,可在线阅读,更多相关《数据独立性是指什么.docx(4页珍藏版)》请在第一文库网上搜索。
1、数据独立性是指什么一个数据库结构从逻辑上可以分为外部模式,内部模式和概念模式三层。为了提高数据库系统中的数据独立性,DBMS在这三级模式之间提供了两层映像。作为数据库系统的基本特征的数据和程序的独立性正是依靠于这三级模式和两级映像。概念模式也称模式,是由数据库设计者综合所有用户数据,并且按照一定的观点构造的对数据库全局逻辑结构的描述。在数据库系统的三级模式中,概念模式处于中间层,一个数据库只有一个概念模式,它既不涉及数据的物理存储细节和硬件环境也与具体的应用程序和程序设计语言无关。外部模式也称为子模式,子模式是用户和数据库之间的接口,是数据库用户能看得见的和使用的局部数据的逻辑结构和特征的描述
2、。内部模式也称为存储模式,是对数据库中数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。一个数据库只有一个内部模式。内部模式是DBMS管理的最底层,它是物理存储设备上存储数据时的物理抽象。在某个层次上修改模式定义而不影响位于其上一层模式的能力叫做数据独立性。有两个层次的数据独立性:物理独立性和逻辑独立性。一、定义物理独立性是指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。即,数据在磁盘上怎样存储由DBMS管理,用户程序不需要了解,应用程序要处理的只是数据的逻辑结构,这样当数据的物理存储改变了,应用程序不用改变。逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的,即,
3、当数据的逻辑结构改变时,用户程序也可以不变。逻辑数据独立性比物理数据独立性更难做到,这是因为应用程序对于它们所访问的数据的逻辑结构依赖程度很大。数据独立性的概念同现代程序设计语言中抽象数据类型的概念在许多方面是相似的。两者均为用户屏蔽具体实现的细节,使用户可以只考虑概括的结构,而不必考虑低层实现细节。二、分类编辑1、逻辑数据独立性为了实现数据库系统的外模式与模式的联系和转换,在外模式与模式之间建立映像,即外模式/模式映像。通过外模式与模式之间的映像把描述局部逻辑结构的外模式与描述全局逻辑结构的模式联系起来。由于一个模式与多个外模式对应,因此,对于每个外模式,数据库系统都有一个外模式/模式映像,
4、它定义了该外模式与模式之间的对应关系,这些映像定义通常包含在各自外模式的描述中。有了外模式/模式映像,模式改变时,如增加新的属性、修改属性的类型,只要对外模式/模式的映像做相应的改变,可使外模式保持不变,则以外模式为依据编写的应用程序就不受影响,从而应用程序不必修改,保证了数据与程序之间的逻辑独立性,也就是逻辑数据独立性。逻辑数据独立性说明模式变化时一个应用的独立程度。现今的系统,可以提供下列几个方面的逻辑数据独立性:(1)在模式中增加新的记录类型,只要不破坏原有记录类型之间的联系。(2)在原有记录类型之间增加新的联系。(3)在某些记录类型中增加新的数据项。2、物理数据独立性为了实现数据库系统
5、模式与内模式的联系和转换,在模式与内模式之间提供了映像,即模式/内模式映像。通过模式与内模式之间的映像把描述全局逻辑结构的模式与描述物理结构的内模式联系起来。由于数据库只有一个模式,也只有一个内模式,因此,模式/内模式映像也只有一个,通常情况下,模式/内模式映像放在内模式中描述。有了模式/内模式映像,当内模式改变时,如存储设备或存储方式有所改变,只要对模式/内模式映像做相应的改变,使模式保持不变,则应用程序就不受影响,从而保证了数据与程序之间的物理独立性,3、称为存储数据独立性。物理数据独立性说明在数据物理组织发生变化时一个应用的独立程度,例如不必修改或重写应用程序。现今的系统,可以提供以下几
6、个方面的物理数据独立性:改变存储设备或引进新的存储设备。(2)改变数据的存储位置,例如把它们从一个区域迁移到另一个区域。改变物理记录的体积。(4)改变数据物理组织方式,例如增加索引,改变HaSh函数,或从一种结构改变为另一种结构。三、作用1、数据与程序的独立把数据的定义从程序中分离出去,加上数据的存取又由DBMS负责,从而简化了应用程序的编制,大大减少了应用程序的维护和修改。可以说数据处理的发展史就是数据独立性不断进化的历史。在手工管理阶段,数据和程序完全交织在一起,没有独立性可言,数据结构作任何改动,应用程序也需要做相应的修改。2、独立发展文件系统出现后,虽然将两者分离,但实际上应用程序中依然要反映文件在存储设备上的组织方法、存取方法等物理细节,因而只要数据作了任何修改,程序仍然需要作改动。而数据库系统的一个重要目标就是要使程序和数据真正分离,使它们能独立发展。