数据库的数据独立性是什么

发布时间:2021-11-30 18:14:23 作者:柒染
来源:亿速云 阅读:885

这期内容当中小编将会给大家带来有关数据库的数据独立性是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

数据独立性包括两个方面:物理独立性和逻辑独立性。

首先讨论数据的物理独立性。在未进一步说明之前,“数据独立性”应该理解为数据的物理独立性。应该说“数据独立性”一词用的不是很恰当(起码它没有抓住问题的本质);但是,由于传统上一直这么用,本书中仍采用该术语。 要理解数据独立性的含义,的方法是搞清什么是非数据独立的。在旧的系统中—关系系统之前的和数据库系统之前的系统;实现的应用程序常常是数据依赖的。这也意味着,在二级存储中,数据的物理表示方式和有关的存取技术都是应用设计中要考虑的,而且,有关物理表示的知识和访问技术直接体现在应用程序的代码中。
 例子:

假定有一个应用程序使用了图中的雇员文件,还假定文件在雇员姓名字段进行索引。在旧的系统中,该应用程序肯定知道存在索引,也知道记录顺序是根据索引定的,应用程序的内部结构是基于这些知识而设计的。特别地,各种数据访问的准确形式和应用程序的异常检验程序都很大程度上依赖于数据管理软件提供给应用程序的接口细节。
我们称这个例子中的应用程序是数据依赖的,因为一旦改变数据的物理表示会对应用程序产生非常强的影响。例如,用哈希算法来对例子重建索引后,对应用程序不做大的修改是不可能的。而且,这种情况下应用程序修改的部分恰恰是与数据管理软件密切联系的部分。这其中的困难与应用程序最初所要解决的问题毫不相关,而是由数据管理接口的特点所引起的。数据库系统中,应尽可能避免应用程序依赖于数据的情况。

这至少有以下两条原因:
1) 不同的应用程序对相同的数据会从不同角度来看。例如,假定在企业建立统一的数据库之前有两个应用程序A和B。每一个都拥有包括客户余额的专有文件。假定A是以十进制存储的,而B是以二进制存储的。这时有可能要消除冗余,并把两文件统一起来。条件是D B M S可以而且能够执行以下必要的转换,即存储格式(可能是十进制或二进制或者其他的)和每个应用程序所采用的格式之间的转换。例如,如果决定以十进制存储数据,每次对B的访问都要转换成二进制。这是个非常细小的例子,数据库系统中应用程序所看到的数据和物理存储的数据之间可能是不同类型的。本节后面部分还会考虑其他许多可能的不同情况。
2) D B A必须有权改变物理表示和访问技术以适应变化的需要,而不必改变现有的应用程序。例如,新类型的数据可能加入到数据库中;有可能采纳新的标准;应用程序的优先级(因此相关的执行需求)可能改变;系统要添加新的存储设备,等等。如果应用程序是数据依赖的,这些改变会要求程序做相应的改变,这种维护的代价无异于创建一个新的应用。类似的情况甚至在都并不少见,如典型的Y 2 K问题,这对充分利用稀缺宝贵的资源是极其不利的。


总之,数据独立性的提出主要是数据库系统的客观要求。数据独立性可以定义成应用程序不会因物理表示和访问技术的改变而改变。当然,这意味着应用程序不应依赖于任何特定的物理表示和访问技术。在第2章中,描述了支持以上基本要求的数据库系统的结构。在此之前,我们还是先讨论一下发生改变的具体情况,即D B A通常都有哪些改变上的要求,进而使应用程序尽量免受这方面的影响。

上述就是小编为大家分享的数据库的数据独立性是什么了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。

推荐阅读:
  1. 数据库是什么?
  2. 数据库中物理数据独立性是什么

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

数据库

上一篇:关系数据库模型是什么样的

下一篇:C/C++ Qt TreeWidget单层树形组件怎么应用

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》