Codd的ER模型12條規則
Codd的十二條規則是由Edgar F. Codd提出的一套十三條規則(編號為0到12),Edgar F. Codd是資料庫關係模型的先驅,旨在定義資料庫管理系統所需的內容以便被認為是關係型的,即關係資料庫管理系統(RDBMS)。他們有時被戲稱為“哥德十二誡”。
Codd制定了這些規則,以防止原始關係資料庫的願景被稀釋,因為資料庫供應商在20世紀80年代初爭先恐後地用關係符號重新打包現有產品。規則12特別針對這種定位而設計。
規則0: 基礎規則 :
對於任何被宣傳為或聲稱為關係資料庫管理系統的系統,該系統必須能夠完全通過其關係功能來管理資料庫。
規則1: 資訊規則 :
關係資料庫中的所有信息都在邏輯級別以完全統一的一種方式明確表示 - 由表中的值表示。
規則2: 在保證訪問規則 :
通過使用表名,主鍵值和列名的組合,可以保證關係資料庫中的每個資料(原子值)在邏輯上可訪問。
規則3: 對零值的系統處理 :
完全關係DBMS支援空值null(不同於空字串或空字串,不同於零或任何其他數字),用於以系統方式表示缺失資訊和不適用資訊,與資料型別無關。
規則4: 基於關係模型的 動態規則 :
資料庫描述以與普通資料相同的方式在邏輯級別表示,以便授權使用者可以將相同的關係語言應用於其詢問,因為它們適用於常規資料。
規則5: 全面的資料子語言規則 :
關係系統可以支援多種語言和各種終端使用模式(例如,填空模式)。但是,必須至少有一種語言,其語句可以根據一些明確定義的語法表達為字串,並且在支援以下所有專案方面是全面的:
- 資料定義。
- 檢視定義。
- 資料操作(互動式和程式式)。
- 完整性約束。
- 授權。
- 事務邊界(開始,提交和回滾)。
規則6: 檢視更新規則 :
理論上可更新的所有檢視也可由系統更新。
規則7: 可以進行高階插入,更新和刪除 :
將基本關係或派生關係作為單個運算元處理的能力不僅適用於資料的檢索,還適用於資料的插入,更新和刪除。
規則8: 物理資料獨立性 :
無論何時在儲存表示或訪問方法中進行任何更改,應用程式和終端活動在邏輯上都不會受到損害。
規則9: 邏輯資料獨立性 :
當資訊保留理論上允許對基表進行不公平的任何型別的改變時,應用程式和終端活動在邏輯上不受損害。
規則10: 誠信獨立 :
特定於特定關係資料庫的完整性約束必須在關係資料子語言中定義,並且可以在目錄中儲存,而不是在應用程式中。
規則11: 分配獨立性 :
終端使用者必須無法看到資料分佈在不同位置。使用者應始終留下資料僅位於一個站點的印象。
規則12: 非轉換規則 :
如果關係系統具有低級別(一次一個記錄)語言,則該低級別不能用於破壞或繞過以更高級別關係語言表達的完整性規則和約束(多個記錄在-a時間)。