在建庫的時候,尤其是複雜的資料庫,難免會出現大量的冗餘字段,出現資料冗餘
資料冗餘:在乙個資料集合中重複的資料稱為資料冗餘.
資料冗餘的目的:
資料的應用中為了某種目的採取資料冗餘方式。
1、重複儲存或傳輸資料以防止資料的丟失。
2、對資料進行冗餘性的編碼來防止資料的丟失、錯誤,並提供對錯誤資料進行反變換得到原始資料的功能。
3、為簡化流程所造成額資料冗餘。例如向多個目的傳送同樣的資訊、在多個地點存放同樣的資訊,而不對資料進行分析而減少工作量。
4、為加快處理過程而將同一資料在不同地點存放。例如並行處理同一資訊的不同內容,或用不同方法處理同一資訊等。
5、為方便處理而是同一資訊在不同地點有不同的表現形式。例如一本書的不同語言的版本。
6、大量資料的索引。一般在資料庫中經常使用。其目的類似第4點。
7、方法類的資訊冗餘:比如每個司機都要記住同一城市的基本交通資訊;大量個人電腦都安裝類似的作業系統或軟體。
8、為了完備性而配備的冗餘資料。例如字典裡的字很多,但我們只查詢其中很少的一些字。軟體功能很多,但我們只使用其中一部分。
9、規則性的冗餘。根據法律、制度、規則等約束進行的。例如合同中大量的模式化的內容。
10、為達到其他目的所進行的冗餘。例如重複資訊以達到被重視等等。
資料冗餘或者資訊冗餘是生產、生活所必然存在的行為,沒有好與不好的總體傾向。
而對於自然界,則是物質存在的一種形式,是客觀存在情況。例如每個人都有與其他人基本相同的基因。
優點:效率高,不用聯表查詢
缺點:占用額外空間(一般來說這個不是什麼問題,加伺服器唄)
維護困難,一旦某個冗餘欄位的內容有改動,所有涉及到的地方都需改動,就比較麻煩
資料庫冗餘字段
什麼是冗餘字段?在設計資料庫時,某一字段屬於乙個表,但它又同時出現在另乙個或多個表,且完全等同於它在其本來所屬表的意義表示,那麼這個字段就是乙個冗餘字段。以上是我自己給出的定義 冗餘欄位的存在到底是好還是壞呢?這是乙個不好說的問題。可能在有人看來,這是乙個很蹩腳的資料庫設計。因為在資料庫設計領域,有...
資料庫中冗餘欄位的作用
按照第三正規化的要求,是不應該存在冗餘欄位的,但現在我改變了看法,認為冗餘字段非常有必要。例如 在訂單表中,客戶名稱 字段就是冗餘字段,加了這個字段,就需要在客戶資訊表修改 客戶名稱改變 的時候,多做乙個更新訂單表中 客戶名稱 欄位的動作。這樣做的理由是 1 訂單表的查詢速度會提高 一些相關的程式 ...
資料庫冗餘字段思考
根據資料庫設計的第三方式,在資料庫設計過程中,應該盡量消除冗餘。即設計資料庫時,某乙個字段屬於一張表,但它同時出現在另乙個或多個表,且完全等同於它在其本來所屬表的意義表示,那麼這個字段就是乙個冗餘字段。隨著企業資料量與併發量不斷的增加,冗餘欄位的存在到底是好還是壞呢?根據第三正規化而言,冗餘欄位是垃...