Dzwebs.Net

撰写电脑技术杂文十余年

理论介绍数据库的冗余

Admin | 2013-3-6 10:20:17 | 被阅次数 | 5590

温馨提示!

如果未能解决您的问题,请点击搜索;登陆可复制文章,点击登陆

  涉及到数据,时常提到冗余,但是,很多人不明白,到底什么是数据的冗余,下面,本文就针对这个问题,给大家完整的简单的介绍数据库的冗余知识。

  一、数据冗余的概念

  说得通俗一点,所谓的冗余,指的就是数据的重复。但是,这个数据的重复,并非是完全相同的数据行在同一表或多表中出现多次。

  而是部分字段里面的内容,在一表或多表中重复出现多次。

  我们举个简单的例子,比如有A数据库表和B数据库表。

  A表的字段分别为:ID、姓名、学号、班级、住址、综合分;

  而B表的字段分别为:姓名、学号、电话号码、年级、备注

  由此,我们能够看到,AB表中,都存在姓名和学号字段。因此,通过SELECT语句查询的话,不论通过A还是B表,都能够检索到姓名和学号。因此,这就是冗余的数据,可以说,就是冗余的字段。

  像上述这种情况,我们可以有选择的修改这两个数据库表的字段,让数据减少冗余。下面是其中的一种方法,比如,修改为:

  A表的字段分别为:ID、姓名、学号、班级、住址、综合分;

  而B表的字段分别为:ID、电话号码、年级、备注;

  这样,数据的冗余由姓名和学号两个字段,减少为只剩下ID字段冗余了。

  当然,关于数据的冗余,并非都是不必要或错误的,有的时候需要冗余有的时候则不需要。这得根据实际情况来决定如何设置数据库表的字段结构。

  二、关于冗余数据优劣

  在数据的应用中为了某种目的可采取冗余方式。

  1、重复存储或传输数据以防止数据的丢失。

  2、对数据进行冗余性的编码来防止数据的丢失、错误,并提供对错误数据进行反变换得到原始数据的功能。

  3、为简化流程所造成额数据冗余。例如向多个目的发送同样的信息、在多个地点存放同样的信息,而不对数据进行分析而减少工作量。

  4、为加快处理过程而将同一数据在不同地点存放。例如并行处理同一信息的不同内容,或用不同方法处理同一信息等。

  5、为方便处理而是同一信息在不同地点有不同的表现形式。例如一本书的不同语言的版本。

  6、大量数据的索引。一般在数据库中经常使用。其目的类似第4点。

  7、方法类的信息冗余:比如每个司机都要记住同一城市的基本交通信息;大量个人电脑都安装类似的操作系统或软件。

  8、为了完备性而配备的冗余数据。例如字典里的字很多,但我们只查询其中很少的一些字。软件功能很多,但我们只使用其中一部分。

  9、规则性的冗余。根据法律、制度、规则等约束进行的。例如合同中大量的模式化的内容。

  10、为达到其他目的所进行的冗余。例如重复信息以达到被重视等等。

  最后,也给大家提点建议,或许能帮助你有效地创建一个关系型数据库设计。

  尽量遵循范式理论的规约,尽可能少的冗余字段,让数据库设计看起来精简高效。

  合理的加入冗余字段,减少join的使用,让数据库执行性能更高更快。


网站备案号:

网站备案号:滇ICP备11001339号-7

版权属性:

Copyright 2007-2021-forever Inc. all Rights Reserved.

联系方式:

Email:dzwebs@126.com QQ:83539231