Codd规则是什么(3nf是什么)
Codd規(guī)則,又稱為Codd定律,是由13條規(guī)則組成,用于確定DBMS是否可以被視為關(guān)系DBMS(RDBMS)的先決條件。簡(jiǎn)單來說,它是用來評(píng)估DBMS(數(shù)據(jù)庫管理系統(tǒng))是否為關(guān)系DBMS的標(biāo)準(zhǔn)方法。下面我們就來具體介紹一下Codd的13條規(guī)則是什么,希望對(duì)大家有所幫助。
什么是關(guān)系DBMS?
關(guān)系DBMS(RDBMS),即關(guān)系數(shù)據(jù)庫管理系統(tǒng),是專為關(guān)系數(shù)據(jù)庫設(shè)計(jì)的DBMS。它具有基于行的表結(jié)構(gòu),用于連接相關(guān)的數(shù)據(jù)元素,并包含維護(hù)數(shù)據(jù)安全性,準(zhǔn)確性,完整性和一致性的功能。
說明:關(guān)系數(shù)據(jù)庫是指使用行和列以結(jié)構(gòu)化格式存儲(chǔ)數(shù)據(jù)的數(shù)據(jù)庫,具有關(guān)系結(jié)構(gòu);因此每個(gè)表中的值彼此相關(guān),表也可能與其他表有關(guān)。關(guān)系結(jié)構(gòu)使得可以一次跨多個(gè)表運(yùn)行查詢。
Codd的13條規(guī)則
Codd的13條規(guī)則定義了一個(gè)理想的關(guān)系數(shù)據(jù)庫,它被用作當(dāng)今設(shè)計(jì)關(guān)系數(shù)據(jù)庫系統(tǒng)的指南。下面我們就來看看這13條規(guī)則:
1、基礎(chǔ)規(guī)則:
要使系統(tǒng)有資格成為RDBMS,該系統(tǒng)必須符合關(guān)系、數(shù)據(jù)庫和管理系統(tǒng)的要求,必須能夠通過關(guān)系功能來完全管理數(shù)據(jù)庫。
2、信息規(guī)則:
數(shù)據(jù)庫中的所有信息(可能是用戶數(shù)據(jù)或元數(shù)據(jù))必須以一種邏輯方式來表示(即,作為表中的值),行和列必須嚴(yán)格無序。
3、保證訪問規(guī)則:
保證每個(gè)數(shù)據(jù)元素(值)都可以通過表名,主鍵(行值)和屬性名(列值)的組合進(jìn)行邏輯訪問。
4、空值(NULL值)的系統(tǒng)化處理:
DBMS必須支持空值,允許每個(gè)字段可能為空;以系統(tǒng)方式表示缺失信息和不適用的信息,并且獨(dú)立于數(shù)據(jù)類型。
5、基于關(guān)系模型的動(dòng)態(tài)在線目錄:
數(shù)據(jù)庫系統(tǒng)必須支持授權(quán)用戶通過其常規(guī)查詢語言訪問的在線,內(nèi)聯(lián)關(guān)系目錄。
也就是說,用戶必須能夠使用他們用來訪問數(shù)據(jù)庫數(shù)據(jù)的相同查詢語言來訪問數(shù)據(jù)庫的結(jié)構(gòu)(目錄)。
6、綜合數(shù)據(jù)子語言規(guī)則:
數(shù)據(jù)庫系統(tǒng)必須至少支持一種關(guān)系語言,且具有以下特征:
1)、具有線性語法
2)、可以交互使用,也可以在應(yīng)用程序中使用,
3)、支持?jǐn)?shù)據(jù)定義作(包括視圖定義),數(shù)據(jù)操作(更新和檢索),安全性和完整性約束以及事務(wù)管理操作(開始,提交和回滾)。
7、視圖更新規(guī)則:
可以使用稱為視圖的不同邏輯組合來完成數(shù)據(jù)表示。理論上可更新的所有視圖也必須由系統(tǒng)更新。
8、關(guān)系級(jí)別操作(插入,更新和刪除):
每個(gè)關(guān)系級(jí)別都必須有Insert,Delete,Update操作,且系統(tǒng)必須支持一次設(shè)置插入,更新和刪除操作符。這意味著可以從由多行和/或多個(gè)表構(gòu)成的數(shù)據(jù)集中的關(guān)系數(shù)據(jù)庫中檢索數(shù)據(jù)。
此規(guī)則指出任何可檢索集都應(yīng)支持插入,更新和刪除操作,而不是僅支持單個(gè)表中的單個(gè)行。
9、物理數(shù)據(jù)獨(dú)立性:
物理級(jí)別的更改(數(shù)據(jù)的存儲(chǔ)方式,無論是數(shù)組還是鏈表等)都不得對(duì)外部應(yīng)用程序訪問數(shù)據(jù)的方式產(chǎn)生任何影響,不得要求根據(jù)結(jié)構(gòu)更改應(yīng)用程序。
10、邏輯數(shù)據(jù)獨(dú)立性:
數(shù)據(jù)庫中的邏輯數(shù)據(jù)必須獨(dú)立于其用戶的視圖(應(yīng)用程序)。在邏輯級(jí)別(表,列,行等)上進(jìn)行的更改影響不得使用它的應(yīng)用程序。
例:如果將表拆分為兩個(gè)表,則新視圖應(yīng)該將結(jié)果作為兩個(gè)表的連接。
注:這條規(guī)則最難以滿足,邏輯數(shù)據(jù)獨(dú)立性比物理數(shù)據(jù)獨(dú)立性更難實(shí)現(xiàn)。
11、完整性獨(dú)立性:
必須定義完整性約束并將其與應(yīng)用程序分開。必須有可能在適當(dāng)時(shí)更改此類約束,而不會(huì)對(duì)現(xiàn)有應(yīng)用程序產(chǎn)生不必要的影響。
12、分發(fā)獨(dú)立性:
數(shù)據(jù)庫的各部分,分布到的各個(gè)位置都應(yīng)該對(duì)數(shù)據(jù)庫的用戶不可見;且無論數(shù)據(jù)庫在網(wǎng)絡(luò)中的分布如何,數(shù)據(jù)庫都應(yīng)正常工作。最終用戶應(yīng)該得到一個(gè)存儲(chǔ)在同一個(gè)地方的印象。這奠定了分布式數(shù)據(jù)庫的基礎(chǔ)。
13、非轉(zhuǎn)換規(guī)則:
如果允許對(duì)系統(tǒng)進(jìn)行低級(jí)語言的訪問,則它不應(yīng)該破壞或繞過高級(jí)語言的完整性規(guī)則來更改數(shù)據(jù)。這可以通過某種查找或加密來實(shí)現(xiàn)。
以上就是本篇文章的全部?jī)?nèi)容,希望能對(duì)大家的學(xué)習(xí)有所幫助。
以上就是Codd規(guī)則是什么的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注風(fēng)君子博客其它相關(guān)文章!
總結(jié)
以上是生活随笔為你收集整理的Codd规则是什么(3nf是什么)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle end backup,or
- 下一篇: 绝地求生全军出击(全军出击》停服一年了)