close

Codd's Twelve Rules

 

Many references to the twelve rules include a thirteenth rule - or rule zero:
A relational database management system (DBMS) must manage its stored data using only its relational capabilities.
This is basically a corollary or companion requirement to rule #4

 

  1. Information Rule
    All information in the database should be represented in one and only one way -- as values in a table.
  2. Guaranteed Access Rule
    Each and every datum (atomic value) is guaranteed to be logically accessible by resorting to a combination of table name, primary key value, and column name.
  3. Systematic Treatment of Null Values
    Null values (distinct from empty character string or a string of blank characters and distinct from zero or any other number) are supported in the fully relational DBMS for representing missing information in a systematic way, independent of data type.
  4. Dynamic Online Catalog Based on the Relational Model
    The database description is represented at the logical level in the same way as ordinary data, so authorized users can apply the same relational language to its interrogation as they apply to regular data.
  5. Comprehensive Data Sublanguage Rule
    A relational system may support several languages and various modes of terminal use. However, there must be at least one language whose statements are expressible, per some well-defined syntax, as character strings and whose ability to support all of the following is comprehensible:
       a. data definition 
       b. view definition 
       c. data manipulation (interactive and by program) 
       d. integrity constraints 
       e. authorization 
    f. transaction boundaries (begin, commit, and rollback). 
  6. View Updating Rule
    All views that are theoretically updateable are also updateable by the system.
  7. High-Level Insert, Update, and Delete
    The capability of handling a base relation or a derived relation as a single operand applies not only to the retrieval of data, but also to the insertion, update, and deletion of data.
  8. Physical Data Independence
    Application programs and terminal activities remain logically unimpaired whenever any changes are made in either storage representation or access methods.
  9. Logical Data Independence
    Application programs and terminal activities remain logically unimpaired when information preserving changes of any kind that theoretically permit unimpairment are made to the base tables.
  10. Integrity Independence
    Integrity constraints specific to a particular relational database must be definable in the relational data sublanguage and storable in the catalog, not in the application programs.
  11. Distribution Independence
    The data manipulation sublanguage of a relational DBMS must enable application programs and terminal activities to remain logically unimpaired whether and whenever data are physically centralized or distributed.
  12. Nonsubversion Rule
    If a relational system has or supports a low-level (single-record-at-a-time) language, that low-level language cannot be used to subvert or bypass the integrity rules or constraints expressed in the higher-level (multiple-records-at-a-time) relational language.

 

準則0 
一個關係形的關係資料庫系統必須能完全通過它的關係能力來管理資料庫。
準則1 信息準則 
關係資料庫系統的所有信息都應該在邏輯一級上用表中的值這一種方法顯式的表示。
準則2 保證訪問準則 
依靠表名、主碼和列名的組合,保證能以邏輯方式訪問關係資料庫中的每個數據項。
準則3 空值的系統化處理 
全關係的關係資料庫系統支持空值的概念,並用系統化的方法處理空值。
準則4 基於關係模型的動態的聯機數據字典 
資料庫的描述在邏輯級上和普通數據採用同樣的表述方式。
準則5 統一的數據子語言 
一個關係資料庫系統可以具有幾種語言和多種終端訪問方式,但必須有一種語言,它的語句可以表示為嚴格語法規定的字元串,並能全面的支持各種規則。
準則6 視圖更新準則 
所有理論上可更新的視圖也應該允許由系統更新。
準則7 高級的插入、修改和刪除操作 
系統應該對各種操作進行查詢優化。
準則8 數據的物理獨立性 
無論資料庫的數據在存儲表示或存取方法上作任何變化,應用程序和終端活動都保持邏輯上的不變性。
準則9 數據邏輯獨立性 
當對基本關係進行理論上信息不受損害的任何改變時,應用程序和終端活動都保持邏輯上的不變性。
準則10 數據完整的獨立性 
關係資料庫的完整性約束條件必須是用資料庫語言定義並存儲在數據字典中的。
準則11 分佈獨立性 
關係資料庫系統在引入分佈數據或數據重新分佈時保持邏輯不變。
準則12 無破壞準則 
如果一個關係資料庫系統具有一個低級語言,那麼這個低級語言不能違背或繞過完整性準則。

arrow
arrow
    全站熱搜

    白努力電腦日記 發表在 痞客邦 留言(0) 人氣()