當前位置:成語大全網 - 書法字典 - 為什麽冗余分析缺少數據庫?

為什麽冗余分析缺少數據庫?

數據分析

數據庫冗余數據分析

玉墨軒

引起

密切註意

0喜歡5681人閱讀

這是上壹篇文章。以前放在百度上,覺得不方便。我今天把它拉過來,所以讀者只需忽略他們讀過的內容:)

數據庫設計需要考慮的壹個問題是各種原因造成的數據冗余,即同壹信息由多人存儲在數據庫中,其弊端是顯而易見的,包括以下幾種:

1,浪費存儲資源;

2.在維護數據庫時,消耗較多的時間和空間,具體體現在插入、修改、刪除等操作上;

然而,冗余數據的存在也有它的好處:

1,保證數據安全;

2.提高性能;

數據冗余體現在物理層和邏輯結構層。

數據庫的物理冗余是指存儲在數據庫中的硬件資源的冗余,而邏輯冗余是指表、記錄、字段、屬性值、索引和數據字典的冗余。因為數據庫的邏輯實現是基於各種硬件資源的,物理冗余影響著數據庫邏輯結構的設計,邏輯結構冗余最終會體現在物理層面。

在設計數據庫時,冗余的表和記錄是非常常見的,比如臨時表(常用於復雜的關系操作),以及壹些可以通過對其他表中的數據進行函數操作而獲得的字段。

屬性冗余包括不同的表屬性和相同的表屬性冗余。不同表的屬性冗余經常被用來解決建立表間關系的問題,同壹表中的屬性冗余應盡量避免。

為了度量冗余,歸壹化理論將關系分為以下幾個層次:

第壹範式:設R為關系模型。若R中每個屬性A的值域中的每個值都是不可分解的,則稱R屬於第壹範式,記為R ∈ 1NF。

第二範式:若關系R ∈ 1NF,且R中的每個非主性質完備函數依賴於任意候選碼,則R ∈ 2NF。

第三範式:若關系R ∈ 2NF,且R中每個非主屬性對任何候選碼都沒有傳遞函數依賴,則R ∈ 3NF。

隨著時間的發展,後來又提出了BCNF範式、4NF和5NF。

最後,給出了關系數據庫之父E.F.Codd提出的關系數據庫設計的十二條基本原則:

1.信息標準:關系數據庫中的所有信息都應該在邏輯層上用表中的值顯式表示。

2.保證訪問標準:根據表名、主鍵、列名,保證數據庫中的每壹個數據項都可以被邏輯訪問。

3.空值的系統化處理:RDBMS支持空值(不同於空字符串或空白字符串,也不是0)系統化表示缺失信息,與數據類型無關。

4.基於關系模型的聯機編目:數據庫的描述在邏輯上應與通用數據的描述相同,以便授權用戶可以使用用於查詢通用數據的關系語言來查詢數據庫的描述信息。

5.合理廣泛的子語言標準:壹個關系系統可以有多種語言和多種終端使用模式(填表模式、命令模式等。).但是,必須有壹種語言,它的語句可以用嚴格的語法表示為字符串,並且可以完全支持以下功能:數據定義、視圖定義、數據操作、完全約束、授權、事物控制。

6.視圖更新標準:所有理論上可更新的視圖也應該允許被系統更新。

7.高階插入、更新和刪除:以壹個基本關系或導出關系為操作對象進行數據的檢索、插入、更新和刪除。

8.數據的物理獨立性:無論數據庫中數據的存儲表示或訪問方法發生什麽變化,應用程序和終端活動在邏輯上都應該保持不變。

9.數據的邏輯獨立性:在不破壞理論信息的基礎表發生任何變化時,應用程序、終端和終端活動應保持邏輯不變。

10.數據完整性的獨立性:關系數據庫的完整性約束必須在數據子語言中定義,並存儲在目錄中,而不是應用程序中。必須至少支持以下兩個約束:實體完整性:主鍵中的屬性不能為空;參照完整性:對於關系數據庫中每個不同的非空外部代碼值,必須有壹個來自同壹域的主鍵值匹配。

11.分布的獨立性:RDBMS應該具有分布的獨立性。用戶不必知道數據庫是否是分布式的。(無論數據庫是否部分處於復雜的多重環境中)

12.非破壞性標準:如果RDBMS有壹種低級語言,這種低級語言不能違反或繞過完整性標準和高級關系語言表達式的約束。