資料庫管理系統 - Codd 的十二條規則



Edgar F. Codd 博士在其對關係資料庫系統關係模型的廣泛研究之後,提出了他自己的十二條規則,他認為資料庫必須遵守這些規則才能被認為是真正的關係資料庫。

這些規則可以應用於任何僅使用其關係功能管理儲存資料的資料庫系統。這是一個基礎規則,作為所有其他規則的基礎。

規則 1:資訊規則

儲存在資料庫中的資料,無論是使用者資料還是元資料,都必須是某個表單元格的值。資料庫中的所有內容都必須以表格格式儲存。

規則 2:保證訪問規則

保證每個資料元素(值)都可以透過表名、主鍵(行值)和屬性名(列值)的組合進行邏輯訪問。不能使用其他方法,例如指標,來訪問資料。

規則 3:NULL 值的系統處理

資料庫中的 NULL 值必須進行系統化和統一的處理。這是一個非常重要的規則,因為 NULL 可以解釋為以下之一:資料丟失、資料未知或資料不適用。

規則 4:活動線上目錄

整個資料庫的結構描述必須儲存在線上目錄中,稱為資料字典,授權使用者可以訪問該目錄。使用者可以使用與訪問資料庫本身相同的查詢語言來訪問目錄。

規則 5:綜合資料子語言規則

只能使用具有線性語法並支援資料定義、資料操作和事務管理操作的語言來訪問資料庫。這種語言可以直接使用,也可以透過某些應用程式使用。如果資料庫允許在沒有任何此類語言幫助的情況下訪問資料,則認為這是違規行為。

規則 6:檢視更新規則

理論上可以更新的資料庫的所有檢視都必須由系統可更新。

規則 7:高階插入、更新和刪除規則

資料庫必須支援高階插入、更新和刪除。這不能僅限於單行,也就是說,它還必須支援並集、交集和差集運算以產生資料集記錄。

規則 8:物理資料獨立性

儲存在資料庫中的資料必須獨立於訪問資料庫的應用程式。資料庫物理結構的任何更改都不應影響外部應用程式訪問資料的方式。

規則 9:邏輯資料獨立性

資料庫中的邏輯資料必須獨立於其使用者的檢視(應用程式)。邏輯資料的任何更改都不應影響使用它的應用程式。例如,如果合併兩個表或將一個表拆分為兩個不同的表,則不應影響或更改使用者應用程式。這是最難應用的規則之一。

規則 10:完整性獨立性

資料庫必須獨立於使用它的應用程式。所有完整性約束都可以獨立修改,而無需對應用程式進行任何更改。此規則使資料庫獨立於前端應用程式及其介面。

規則 11:分佈獨立性

終端使用者不應能夠看到資料分佈在各個位置。使用者應該始終覺得資料只位於一個站點。此規則被認為是分散式資料庫系統的基礎。

規則 12:非規避規則

如果系統具有提供對低階記錄訪問的介面,則該介面不能規避系統並繞過安全性和完整性約束。

廣告