溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

什么是Codd規(guī)則

發(fā)布時(shí)間:2020-07-16 14:38:48 來源:億速云 閱讀:309 作者:Leah 欄目:MySQL數(shù)據(jù)庫(kù)

這篇文章運(yùn)用簡(jiǎn)單易懂的例子給大家介紹什么是Codd規(guī)則,代碼非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。

                                                           Codd規(guī)則,又稱為Codd定律,是由13條規(guī)則組成,用于確定DBMS是否可以被視為關(guān)系DBMS(RDBMS)的先決條件。簡(jiǎn)單來說,它是用來評(píng)估DBMS(數(shù)據(jù)庫(kù)管理系統(tǒng))是否為關(guān)系DBMS的標(biāo)準(zhǔn)方法。下面我們就來具體介紹一下Codd的13條規(guī)則是什么,希望對(duì)大家有所幫助。

什么是關(guān)系DBMS?

關(guān)系DBMS(RDBMS),即關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng),是專為關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)的DBMS。它具有基于行的表結(jié)構(gòu),用于連接相關(guān)的數(shù)據(jù)元素,并包含維護(hù)數(shù)據(jù)安全性,準(zhǔn)確性,完整性和一致性的功能。

說明:關(guān)系數(shù)據(jù)庫(kù)是指使用行和列以結(jié)構(gòu)化格式存儲(chǔ)數(shù)據(jù)的數(shù)據(jù)庫(kù),具有關(guān)系結(jié)構(gòu);因此每個(gè)表中的值彼此相關(guān),表也可能與其他表有關(guān)。關(guān)系結(jié)構(gòu)使得可以一次跨多個(gè)表運(yùn)行查詢。

什么是Codd規(guī)則

Codd的13條規(guī)則

Codd的13條規(guī)則定義了一個(gè)理想的關(guān)系數(shù)據(jù)庫(kù),它被用作當(dāng)今設(shè)計(jì)關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)的指南。下面我們就來看看這13條規(guī)則:

1、基礎(chǔ)規(guī)則:

要使系統(tǒng)有資格成為RDBMS,該系統(tǒng)必須符合關(guān)系、數(shù)據(jù)庫(kù)和管理系統(tǒng)的要求,必須能夠通過關(guān)系功能來完全管理數(shù)據(jù)庫(kù)。

2、信息規(guī)則:

數(shù)據(jù)庫(kù)中的所有信息(可能是用戶數(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ù)庫(kù)系統(tǒng)必須支持授權(quán)用戶通過其常規(guī)查詢語(yǔ)言訪問的在線,內(nèi)聯(lián)關(guān)系目錄。

也就是說,用戶必須能夠使用他們用來訪問數(shù)據(jù)庫(kù)數(shù)據(jù)的相同查詢語(yǔ)言來訪問數(shù)據(jù)庫(kù)的結(jié)構(gòu)(目錄)。

6、綜合數(shù)據(jù)子語(yǔ)言規(guī)則:

數(shù)據(jù)庫(kù)系統(tǒng)必須至少支持一種關(guān)系語(yǔ)言,且具有以下特征:

1)、具有線性語(yǔ)法

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ù)庫(kù)中檢索數(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ù)庫(kù)中的邏輯數(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ù)庫(kù)的各部分,分布到的各個(gè)位置都應(yīng)該對(duì)數(shù)據(jù)庫(kù)的用戶不可見;且無論數(shù)據(jù)庫(kù)在網(wǎng)絡(luò)中的分布如何,數(shù)據(jù)庫(kù)都應(yīng)正常工作。最終用戶應(yīng)該得到一個(gè)存儲(chǔ)在同一個(gè)地方的印象。這奠定了分布式數(shù)據(jù)庫(kù)的基礎(chǔ)。

13、非轉(zhuǎn)換規(guī)則:

如果允許對(duì)系統(tǒng)進(jìn)行低級(jí)語(yǔ)言的訪問,則它不應(yīng)該破壞或繞過高級(jí)語(yǔ)言的完整性規(guī)則來更改數(shù)據(jù)。這可以通過某種查找或加密來實(shí)現(xiàn)。

關(guān)于什么是Codd規(guī)則就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI