《数据库原理与应用(第3版)》——1.3 数据独立性

简介:

本节书摘来自华章出版社《数据库原理与应用(第3版)》一 书中的第1章,第1.3节,作者:何玉洁,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

1.3 数据独立性

数据独立性是指应用程序不会因数据的物理表示方式和访问技术的改变而改变,即应用程序不依赖于任何特定的物理表示方式和访问技术。数据独立性包含两个方面:物理独立性和逻辑独立性。物理独立性是指当数据的存储位置或存储结构发生变化时,不影响应用程序的特性;逻辑独立性是指当表达现实世界的信息内容发生变化时,比如增加一些列、删除无用列等,也不影响应用程序的特性。要理解数据独立性的含义,最好先搞清什么是非数据独立性。在数据库技术出现之前,也就是在使用文件管理数据的时候,实现的应用程序常常是数据依赖的,也就是说数据的物理表示方式和有关的存取技术都要在应用程序中考虑,而且,有关物理表示的知识和访问技术直接体现在应用程序的代码中。例如,如果数据文件使用了索引,那么应用程序必须知道有索引存在,也要知道记录的顺序是索引的,这样应用程序的内部结构就是基于这些知识而设计的。一旦数据的物理表示方式改变了,就会对应用程序产生很大的影响。例如,如果改变了数据的排序方式,则应用程序不得不进行相应的修改。而且在这种情况下,应用程序修改的部分恰恰是与数据管理密切联系的部分,而与应用程序最初要解决的问题毫不相干。
在数据库管理方式中,可以尽量避免应用程序对数据的依赖,这有如下两种情况。
1)不同的用户关心的数据并不完全相同,即使对同样的数据不同用户的需求也不尽相同。比如前述的学生基本信息数据,包括学号、姓名、性别、出生日期、联系电话、所在系、专业、班号,分配宿舍的部门可能只需要学号、姓名、班号、性别,教务部门可能只需要学号、姓名、所在系、专业和班号。好的实现方法应根据全体用户对数据的需求存储一套完整的数据,而且只编写一个针对全体用户的公共数据的应用程序,但能够按每个用户的具体要求只展示其需要的数据,当公共数据发生变化时(比如增加新信息),可以不修改应用程序,每个不需要这些变化数据的用户也不需要知道有这些变化。这种独立性(逻辑独立性)在文件管理方式下是很难实现的。
2)随着科学技术的进步以及应用业务的变化,有时必须要改变数据的物理表示方式和访问技术以适应技术发展及需求变化,比如改变数据的存储位置或存储方式(就像一个单位可以搬到新的地址,或者是调整单位各科室的布局)以提高数据的访问效率。在理想情况下,这些变化不应该影响应用程序(物理独立性)。这在文件管理方式下也是很难实现的。
因此,数据独立性的提出是一种客观应用的要求。数据库技术的出现正好克服了应用程序对数据的物理表示和访问技术的依赖。

相关文章
|
1月前
|
存储 Oracle 关系型数据库
Dataphin常见问题之想要周期执行任务如何解决
Dataphin是阿里云提供的一站式数据处理服务,旨在帮助企业构建一体化的智能数据处理平台。Dataphin整合了数据建模、数据处理、数据开发、数据服务等多个功能,支持企业更高效地进行数据治理和分析。
|
1月前
|
SQL 开发框架 JavaScript
在 Vue 中进行数据持久化时,有哪些常用的数据库框架?
在 Vue 中进行数据持久化时,有哪些常用的数据库框架?
49 3
|
1月前
|
存储 数据管理 数据处理
数据之光:探索数据库技术的演进之路
数据之光:探索数据库技术的演进之路
60 1
|
1月前
|
存储 运维 关系型数据库
数据的力量:构筑现代大型网站之数据库基础与应用
数据的力量:构筑现代大型网站之数据库基础与应用
51 0
|
1月前
|
SQL Java 数据库连接
从来没想到我们会扒拉nohup文件去找我们想要的数据,然后往数据库中添加。。。...
从来没想到我们会扒拉nohup文件去找我们想要的数据,然后往数据库中添加。。。...
17 0
|
1月前
|
SQL 关系型数据库 MySQL
【MySQL 数据库】2、MySQL 的数据控制语言、函数和约束
【MySQL 数据库】2、MySQL 的数据控制语言、函数和约束
31 0
|
1月前
|
NoSQL Java 数据库连接
使用Java实现从数据库查出数据存入Redis,并在查询时先查Redis,如果Redis中没有数据再从数据库中读取
使用Java实现从数据库查出数据存入Redis,并在查询时先查Redis,如果Redis中没有数据再从数据库中读取
355 1
|
2月前
|
关系型数据库 MySQL 数据库
|
7天前
|
存储 关系型数据库 MySQL
如何处理爬取到的数据,例如存储到数据库或文件中?
处理爬取的数据,可存储为txt、csv(适合表格数据)或json(适合结构化数据)文件。若需存储大量数据并执行复杂查询,可选择关系型(如MySQL)或非关系型(如MongoDB)数据库。以MySQL为例,需安装数据库和Python的pymysql库,创建数据库和表,然后编写Python代码进行数据操作。选择存储方式应考虑数据类型、数量及后续处理需求。
16 1
|
8天前
|
SQL 关系型数据库 MySQL
关系型数据库插入数据的语句
使用SQL的`INSERT INTO`语句向关系型数据库的`students`表插入数据。例如,插入一个`id`为1,`name`为'张三',`age`为20的记录:`INSERT INTO students (id, name, age) VALUES (1, '张三', 20)。如果`id`自增,则可简化为`INSERT INTO students (name, age) VALUES ('张三', 20)`。
11 2

热门文章

最新文章