sql完整性約束數(shù)字字符 什么是數(shù)據(jù)庫(kù)的完整性約束條件?
什么是數(shù)據(jù)庫(kù)的完整性約束條件?數(shù)據(jù)完整性約束是指為了防止不符合要求的數(shù)據(jù)進(jìn)入數(shù)據(jù)庫(kù),當(dāng)用戶插入、修改、刪除數(shù)據(jù)時(shí),DBMS會(huì)根據(jù)一定的約束自動(dòng)監(jiān)控?cái)?shù)據(jù),使不符合要求的數(shù)據(jù)不能進(jìn)入數(shù)據(jù)庫(kù),從而保證數(shù)據(jù)庫(kù)
什么是數(shù)據(jù)庫(kù)的完整性約束條件?
數(shù)據(jù)完整性約束是指為了防止不符合要求的數(shù)據(jù)進(jìn)入數(shù)據(jù)庫(kù),當(dāng)用戶插入、修改、刪除數(shù)據(jù)時(shí),DBMS會(huì)根據(jù)一定的約束自動(dòng)監(jiān)控?cái)?shù)據(jù),使不符合要求的數(shù)據(jù)不能進(jìn)入數(shù)據(jù)庫(kù),從而保證數(shù)據(jù)庫(kù)中存儲(chǔ)的數(shù)據(jù)是正確的,有效且兼容。
數(shù)據(jù)庫(kù)完整性約束包括以下類型:
1)表相關(guān)約束:表中定義的約束。約束可以在列定義時(shí)定義,稱為列約束,也可以在表定義時(shí)定義,稱為表約束。
2)域約束:在域定義中定義的約束。它與特定域中定義的任何列相關(guān)。
3)斷言:在斷言定義時(shí)定義的約束,可以與一個(gè)或多個(gè)表相關(guān)聯(lián)。
參照完整性約束的定義是什么?
簡(jiǎn)而言之,就是表之間主鍵和外鍵的關(guān)系。
引用完整性是表間規(guī)則。當(dāng)更新、插入或刪除具有永久關(guān)系的相關(guān)表中的記錄時(shí),如果只更改其中一個(gè)而不更改另一個(gè),則會(huì)影響數(shù)據(jù)的完整性。例如,修改了父表中的鍵值后,子表中的鍵值沒有相應(yīng)的改變;刪除了父表中的一條記錄后,子表中相應(yīng)的記錄沒有被刪除,導(dǎo)致這些記錄被稱為孤立記錄;插入子表中的記錄,子表中的鍵值被稱為孤立記錄子表沒有相應(yīng)更改,父表中沒有具有相應(yīng)關(guān)鍵字值的記錄;以此類推。這些設(shè)計(jì)表之間的數(shù)據(jù)完整性統(tǒng)稱為引用完整性
數(shù)據(jù)完整性約束是一組完整性規(guī)則。它定義了數(shù)據(jù)模型必須遵循的語(yǔ)義約束,并規(guī)定了內(nèi)部數(shù)據(jù)必須滿足的語(yǔ)義約束以及根據(jù)數(shù)據(jù)模型構(gòu)造的數(shù)據(jù)庫(kù)中數(shù)據(jù)之間的關(guān)系。為了防止不合格數(shù)據(jù)進(jìn)入數(shù)據(jù)庫(kù),當(dāng)用戶插入、修改、刪除數(shù)據(jù)時(shí),DBMS會(huì)根據(jù)一定的約束條件自動(dòng)監(jiān)控?cái)?shù)據(jù),使不合格數(shù)據(jù)不能進(jìn)入數(shù)據(jù)庫(kù),從而保證數(shù)據(jù)庫(kù)中存儲(chǔ)的數(shù)據(jù)正確、有效、兼容。