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

yumo6664周前 (04-05)技术文章17

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

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

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

一、物理独立性

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

二、逻辑独立性

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

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

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

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

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

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

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

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

相关文章

数据库系统原理:数据插入

SQL命令包括数据定义、查询、操纵和控制四大类。SQL数据操纵包括数据插入、数据删除和数据修改。数据操作即SQL的数据更新命令。也就是说要完成向表中添加若干行数据、修改表中的数据和删除表中的若干行数据...

数据库的存储原理

1. 数据存取在数据库管理系统中,数据的存取过程为:应用程序通过 DML 向 DBMS 发出存取请求,如 SELECT 语句;对命令进行语法检查,正确后检查语义和用户权限(通过数据字典 DD),并决定...

DeepSeek本地RAG知识库(17):向量数据库原理讲解(小白也能懂)

大家好!我是程序员寒山。近日很多小伙伴问,为什么要用向量数据库?它到底是怎么存储数据的?今天就给大家揭秘一下向量数据库,看看它有什么神奇的地方?一、什么是向量数据?——菜谱变"坐标"说向量数据库前,首...

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

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

数据库系统原理:聚集函数

SQL命令包括数据定义、查询、操纵和控制四大类,其中数据查询是数据库的核心操作。学习在SQL数据查询中使用聚集函数的方法。一、五种聚集函数介绍聚集函数(集合函数)→垂直方向(一个值):主要用法是在垂直...

数据库加密技术原理与实践

1、数据库加密概述数据库加密是指对存储在数据库中的敏感数据进行编码处理的过程,目的是防止未经授权的访问和数据泄露。加密后的数据即使被未授权的第三方获取,也无法理解其原始含义,从而保护数据的机密性数据库...