在建库的时候,尤其是复杂的数据库,难免会出现大量的冗余字段,出现数据冗余
数据冗余:在一个数据集合中重复的数据称为数据冗余.
数据冗余的目的:
数据的应用中为了某种目的采取数据冗余方式。
1、重复存储或传输数据以防止数据的丢失。
2、对数据进行冗余性的编码来防止数据的丢失、错误,并提供对错误数据进行反变换得到原始数据的功能。
3、为简化流程所造成额数据冗余。例如向多个目的发送同样的信息、在多个地点存放同样的信息,而不对数据进行分析而减少工作量。
4、为加快处理过程而将同一数据在不同地点存放。例如并行处理同一信息的不同内容,或用不同方法处理同一信息等。
5、为方便处理而是同一信息在不同地点有不同的表现形式。例如一本书的不同语言的版本。
6、大量数据的索引。一般在数据库中经常使用。其目的类似第4点。
7、方法类的信息冗余:比如每个司机都要记住同一城市的基本交通信息;大量个人电脑都安装类似的操作系统或软件。
8、为了完备性而配备的冗余数据。例如字典里的字很多,但我们只查询其中很少的一些字。软件功能很多,但我们只使用其中一部分。
9、规则性的冗余。根据法律、制度、规则等约束进行的。例如合同中大量的模式化的内容。
10、为达到其他目的所进行的冗余。例如重复信息以达到被重视等等。
数据冗余或者信息冗余是生产、生活所必然存在的行为,没有好与不好的总体倾向。
而对于自然界,则是物质存在的一种形式,是客观存在情况。例如每个人都有与其他人基本相同的基因。
优点:
效率高,不用联表查询
缺点:
占用额外空间(一般来说这个不是什么问题,加服务器呗)
维护困难,一旦某个冗余字段的内容有改动,所有涉及到的地方都需改动,就比较麻烦