數據冗余說明

當同一數據塊存儲在兩個或多個單獨的位置時, 就會發生數據冗余。假設您創建了一個數據庫來存儲銷售記錄, 并在每個銷售的記錄中輸入客戶地址。但是, 您有多個銷售到同一客戶, 因此同一地址被多次輸入。重復輸入的地址是冗余數據。

數據冗余是如何發生的?

可以設計數據冗余;例如, 假設您要每晚備份公司的數據。這將創建冗余。數據冗余也可能錯誤地發生。例如, 為每次銷售創建具有新記錄的系統的數據庫設計人員可能沒有意識到他的設計導致重復輸入相同的地址。當您將相同的信息存儲在多個系統中時, 也可能會得到冗余數據。例如, 假設您將相同的基本員工信息存儲在人力資源記錄和為本地網站辦公室維護的記錄中。

為什么數據冗余可能是一個問題

當數據冗余是計劃外的時, 可能是一個問題。例如, 如果您有一個 “客戶” 表, 其中包含地址作為數據字段之一, 而 john doe 家族與您一起開展業務, 并且所有地址都位于同一地址, 則數據庫中將具有同一地址的多個條目。如果 john doe 家族搬家, 您需要更新每個家庭成員的地址, 這可能非常耗時, 并引入輸入錯誤或對其中一個地址鍵入錯誤的可能性。此外, 不必要的地址的每個條目都會占用額外的空間, 而這些空間會隨著時間的推移而變得昂貴。最后, 冗余越多, 維護數據的難度就越大。這些問題–數據不一致、空間浪費和維護數據的努力–可能成為擁有大量數據的公司的一大頭疼問題。

如何解決數據庫的數據冗余問題

零數據冗余是不可能的, 也是不實際的, 許多數據庫管理員認為, 如果有一個中央主字段, 則具有一定數量的數據冗余是可以接受的。主數據是跨多個系統或應用程序使用的通用業務數據的單一來源。它通常是非事務性數據, 例如客戶列表及其聯系信息。主數據可確保在一段數據發生更改時, 只更新一次數據, 從而可以防止數據不一致。

此外, 規范化過程通常用于消除冗余。規范化數據時, 可以組織數據庫的列 (屬性) 和表 (關系), 以確保數據庫完整性約束正確強制執行它們的依賴關系。規范化數據的一組規則稱為 “正常形式”, 如果數據庫滿足第三個正常形式, 則將其視為 “規范化”, 這意味著它不存在插入、刪除和更新異常。

如何解決不同系統之間的數據冗余問題

但是, 如果您在多個系統之間有數據冗余, 該怎么辦?例如, 如果您的員工信息存儲在部門數據庫、人力資源數據庫和站點辦公室的數據庫中, 該怎么辦?許多公司通過整合數據和消除冗余來解決這個問題。但是, 這可能是一個耗時的過程, 可能涉及多個步驟, 包括設計數據倉庫和清理數據。如果您感興趣, 請參閱什么是數據集成?有關數據集成過程的更多詳細信息

Comments are closed.