数据库系统原理:数据独立性

yumo6667个月前 (04-05)技术文章64

数据库系统的三级模式和两级映像使数据具有独立性。

数据库系统三个抽象级间通过两级映像进行相互转换,使得数据库的三级模式形成一个统一整体,从而保证了数据的独立性。

数据独立性是指应用程序与数据间相互独立,不受影响,不互相依赖。数据独立性分为逻辑独立性和物理独立性两个级别。

一、物理独立性

对内模式(存储结构)(改变数据的存储位置、存储设备、数据的组织方式)的修改尽量不影响模式,从而对于外模式和应用程序的影响更小,应用程序不必修改,保证数据与程序的物理独立性,称为数据库的物理独立性。

二、逻辑独立性

对模式的修改尽量不影响外模式,从而应用程序不必修改,保证数据与程序的逻辑独立性(如在模式级别增加新的表、新的联系、新的数据项,尽量不影响到外模式和应用程序),称为数据库的逻辑独立性。

逻辑独立性是相对的,还是有它的局限性。特殊情况下,如在一个表中删除掉一些字段,但是在应用程序中使用该字段的名字作的一些引用,这时需要修改程序。

以学生选课系统为例,三级模式、两级映像功能如何保证数据的独立性?

如果内模式发生变化,例如文件存储位置发生变化,如索引文件的联系发生变化,这些改变不影响到外部用户所看到的数据库中的数据;如果在模式层增加了一个新的关系模式,也不影响两个用户的视图,或者是在学生关系模式中增加了一些属性列,也不会影响到外部用户的视图。那么,三级模式不同的数据视图,指的是对于同一个数据库、不同的用户所看到的视图不同,通过三级模式之间的两级映射,保证了无论是内模式发生改变、还是模式发生变化,尽量得使对用户的影响最小。

内模式和模式之间存在着映射关系,如果内模式发生变化,尽量使模式不发生变化,保证数据的物理独立性;如果模式发生变化,尽量使外模式不发生变化,保证数据的逻辑独立性;从而使应用程序和数据之间不相互的依赖;数据的变化不影响到应用程序,从而减轻应用程序的负担。

三、简述“数据独立性”概念在文件系统阶段和数据库系统阶段的不同

文件系统中,数据被组织成相互独立的数据文件,程序按照文件名访问数据。“数据独立性”是一种“设备独立性”。

数据库系统中的数据独立性包括物理独立性和逻辑独立性,物理独立性是指用户的应用程序和存储在磁盘上的数据库中的数据是相互独立的;逻辑独立性指应用程序与数据库的逻辑结构相互独立。

相关文章

数据库系统原理:外键约束

关系数据库中最重要的约束是实体完整性和参照完整性。在SQL中,参照完整性称为外键约束。学习SQL中参照完整性的实现方法。一、参照完整性定义外键约束指参照完整性检查。根据参照完整性规则,依赖关系中外键或...

浅析InnoDB引擎的索引和索引原理

什么是InnoDB的索引InnoDB的索引就是一颗B+树。页是InnoDB引擎在内存和磁盘之间交换数据的基本单位,页的大小一般是16KB,页的大小可以在启动MySQL服务的时候通过更改innodb_p...

详解MySQL事务原理

今天给大家分享的是大数据开发基础部分MySQL的事务,事务在MySQL知识点中非常重要的部分,很多伙伴只是知道MySQL的四大特性,但不知道其中的原理,老刘这次给大家详细的描述MySQL四大特性的原理...