第三章 保證資料完整性

2021-07-09 08:04:41 字數 1163 閱讀 7011

資料完整性概念:可靠性+準確性=資料完整性

根據資料完整性實施的方法,可以將其分為四類:實體完整體、域完整性、引用完整性及自定義的完整性。

實體完整性:行資料是有效的

定義:乙個表中的一行如果與它所代表的實體完全一致,我們就說該錶具有實體完整性。

實現方法:主鍵約束、唯一約束

域完整性:列資料是有效的

定義:域完整性是指給定列的輸入有效性。

實現方法:非空約束(notnull)、預設約束(defaule)、檢查約束(check )sqlyog不支援

引用完整性:保證引用的效號是有效的

定義:是指分布在兩個表中的列所滿足的具有主從性質的約束關係。

實現方法:外來鍵約束

使用者自定義完整性:保證自定義規則

使用者自定義完整性使我們可以定義不屬於其它的任何完整性分類的特定業務規則。使用者自定義完整性可以通過觸發器、儲存過程等實現。

外來鍵與外來鍵約束:   二者是不同的概念

注意:沒有建立外來鍵的約束不等於沒有外來鍵。

主鍵約束:關係型資料庫中的每乙個表都必須有乙個主鍵來唯一標識表的每一行,這個主鍵可以是由乙個列組成,也可以由多個列組成乙個復合主鍵。

當主鍵約束被定義後,乙個唯一索引自動被建立。

設定唯一約束:

定義:是指給定列的所有的值必須是唯一的。

唯一約束為表賦予了實體完整性,因為它保證每一行是不同的。

1.列或幾個列的組合不是主鍵,有時需要多個列的值唯一。此時不能使用主鍵約束,這是因為乙個表只能定義乙個主鍵約束,而乙個表可以定義多個唯一的表。

2.列的值允許為null值,唯一約束可以定義在允許為null值的列上,而主鍵約束只能定義在不允許為null值的列上。

設定檢查約束:檢查約束是最靈活的約束型別,它允許我們在更改或插入行到資料庫時有乙個較寬範圍的限制。

關於檢查約束,有以下注意事項:

1.檢查約束在新行被新增到表,或者更改乙個已有的行時才被計算。

2.檢查約束的定義中可以包含乙個邏輯表示式或者多個用and、or、括號等組合起來的邏輯表示式。

3.檢查約束只能引用該約束的表,其它的表不能在檢查約束中。

4.在單個列上可以設定多個檢查約束。

5.可以設定表級的約束,該約束可以跟一到多個列相關聯。

6.檢查約束並不強制列接受值(即,有檢查約束的列可以接受null的值)。

第三章 保證資料完整型

第三章 保證資料完整型 3.1資料完整性概括 1.實體完整性 實體完整性將定義為特定的表的唯一實體。實體完整性強直表的標識列或主鍵的完整性,它可以通過在表中設定主鍵約束 唯一約束或標識列屬性來實現。2.域完整性 域完整性是指給定列的輸入有效性。強制域有效性的方法有 限制型別 通過資料型別 格式 通過...

保證資料完整性

1.資料的完整性 資料的完整性分為四類 實體完整性,域完整性,引用完整性,自定義完整性。2.資料完整性的實現 建立非空約束的語法 create table friend name varchar 50 not null 設定主鍵約束 主鍵約束是應用於表的列的乙個約束。設定唯一約束 指給定列的所有的值...

保證資料完整性

保證資料完整想性 資料完整性 可靠性 準確性 資料完整性分類 1.實體完整性 保證一行資料是有效的 2.域完整性 保證一列資料是有效的 3.引用完整性 保證引用1編號是有效的 4.使用者自定義完整性 保證自定義規則 資料完整性的實現 建立非空約束 not null 設定主鍵約束 primary ke...