數(shù)據(jù)庫(kù)中的數(shù)據(jù)是從外界輸入的筝闹,而數(shù)據(jù)的輸入由于種種原因铅鲤,會(huì)發(fā)生輸入無(wú)效或錯(cuò)誤信息奥邮。保證輸入的數(shù)據(jù)符合規(guī)定万牺,成為了數(shù)據(jù)庫(kù)系統(tǒng),尤其是多用戶的關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)首要關(guān)注的問(wèn)題洽腺,數(shù)據(jù)完整性因此而提出脚粟。
數(shù)據(jù)完整性是指數(shù)據(jù)的精確性和可靠性,它是應(yīng)防止數(shù)據(jù)庫(kù)中存在不符合語(yǔ)義規(guī)定的數(shù)據(jù)和防止因錯(cuò)誤信息輸入輸出造成無(wú)效操作或錯(cuò)誤信息而提出的蘸朋。
-
數(shù)據(jù)完整性分為:實(shí)體完整性核无,域完整性,參照完整性藕坯,用戶自定義完整性团南。
數(shù)據(jù)庫(kù)采用多種方法保證數(shù)據(jù)完整性,包括外鍵炼彪,約束吐根,規(guī)則和觸發(fā)器。系統(tǒng)很好地處理了這四者的關(guān)系辐马,并針對(duì)不同的具體情況用不同的方法進(jìn)行拷橘,相互交叉使用,想補(bǔ)缺點(diǎn)喜爷。
完整性約束主要有實(shí)體完整性約束冗疮、參照完整性約束、函數(shù)依賴約束檩帐、統(tǒng)計(jì)約束四類
-
實(shí)體完整性
實(shí)體完整性要求每一個(gè)表中的主鍵字段都不能為空或重復(fù)的值术幔。實(shí)體完整性指表中行的完整性。要求表中的所有行都有唯一的標(biāo)識(shí)符轿塔,稱為主關(guān)鍵字特愿。主關(guān)鍵字是否可以修改,或整個(gè)列是否可以被刪除勾缭,取決于主關(guān)鍵字與其他表之間要求的完整性揍障。
-
參照完整性
參照完整性要求關(guān)系中不允許引用不存在的實(shí)體,與實(shí)體完整性是關(guān)系模型必須滿足的完整性約束條件俩由,目的是保證數(shù)據(jù)的一致性毒嫡。
-
用戶自定義完整性
指針對(duì)某一具體關(guān)系數(shù)據(jù)庫(kù)的約束條件,它反映某一具體應(yīng)用所涉及的數(shù)據(jù)必須滿足的語(yǔ)義要求。例如某個(gè)屬性必須取唯一值兜畸,某個(gè)非主屬性也不能取空值努释,某個(gè)屬性的取值范圍在0-100之間等