数据冗余说明

当同一数据块存储在两个或多个单独的位置时, 就会发生数据冗余。假设您创建了一个数据库来存储销售记录, 并在每个销售的记录中输入客户地址。但是, 您有多个销售到同一客户, 因此同一地址被多次输入。重复输入的地址是冗余数据。

数据冗余是如何发生的?

可以设计数据冗余;例如, 假设您要每晚备份公司的数据。这将创建冗余。数据冗余也可能错误地发生。例如, 为每次销售创建具有新记录的系统的数据库设计人员可能没有意识到他的设计导致重复输入相同的地址。当您将相同的信息存储在多个系统中时, 也可能会得到冗余数据。例如, 假设您将相同的基本员工信息存储在人力资源记录和为本地网站办公室维护的记录中。

为什么数据冗余可能是一个问题

当数据冗余是计划外的时, 可能是一个问题。例如, 如果您有一个 “客户” 表, 其中包含地址作为数据字段之一, 而 john doe 家族与您一起开展业务, 并且所有地址都位于同一地址, 则数据库中将具有同一地址的多个条目。如果 john doe 家族搬家, 您需要更新每个家庭成员的地址, 这可能非常耗时, 并引入输入错误或对其中一个地址键入错误的可能性。此外, 不必要的地址的每个条目都会占用额外的空间, 而这些空间会随着时间的推移而变得昂贵。最后, 冗余越多, 维护数据的难度就越大。这些问题–数据不一致、空间浪费和维护数据的努力–可能成为拥有大量数据的公司的一大头疼问题。

如何解决数据库的数据冗余问题

零数据冗余是不可能的, 也是不实际的, 许多数据库管理员认为, 如果有一个中央主字段, 则具有一定数量的数据冗余是可以接受的。主数据是跨多个系统或应用程序使用的通用业务数据的单一来源。它通常是非事务性数据, 例如客户列表及其联系信息。主数据可确保在一段数据发生更改时, 只更新一次数据, 从而可以防止数据不一致。

此外, 规范化过程通常用于消除冗余。规范化数据时, 可以组织数据库的列 (属性) 和表 (关系), 以确保数据库完整性约束正确强制执行它们的依赖关系。规范化数据的一组规则称为 “正常形式”, 如果数据库满足第三个正常形式, 则将其视为 “规范化”, 这意味着它不存在插入、删除和更新异常。

如何解决不同系统之间的数据冗余问题

但是, 如果您在多个系统之间有数据冗余, 该怎么办?例如, 如果您的员工信息存储在部门数据库、人力资源数据库和站点办公室的数据库中, 该怎么办?许多公司通过整合数据和消除冗余来解决这个问题。但是, 这可能是一个耗时的过程, 可能涉及多个步骤, 包括设计数据仓库和清理数据。如果您感兴趣, 请参阅什么是数据集成?有关数据集成过程的更多详细信息

Comments are closed.