什么是數據完整性
作者:佚名 時間:2015-01-23 分享到:
數據完整性是指數據的正確性,一致性和有效性,是指數據庫中不應該存在不符合語義的數據,所謂正確性是指數數據表中的數據應該是正確的,比如學生選修某門課程的成績應該是85分,但不小心輸入成185分,數據庫管理系統應該能夠檢測出來并指出錯誤,一致性是指數據庫中各個表中的數據應該是相互照應的,比如學生表中的一個學生的學號和這個學生的成績表中的學號應該對應一致,在學生表中不存在的學號在成績表中不應該有相應的選課記錄等;而有效性是指數數據應該是合法有效的,比如學生的性別應該是男或女,而不能是其它的.
數據完整性可分為4種類型:實體完整性,域完整性,參照完整性和用戶定義完整性.
實體完整性是指任何一個實體都有區別于其他實體特征,比如世界上沒有完全相同的兩個人,對應到數據表中每個人對應一條記錄其中編號應該是不同的.
域完整性是指表中每列的數據應該具有正確的數據類型,格式和有效的數值范圍.
參照完整性是指在兩個表的主鍵和外鍵之間的數據的一致,其含義:一是保證被參照表和參照表之間的數據的一致,二是防止數據丟失或者無意義的數據;最后可以禁止在從表中插入參照表中不存在的關鍵字的記錄.
用戶定義完整性是用戶希望定義的數據的完整性,例如電話號碼是8位的數字碼,郵政編碼為6位數字碼,對學生出生日期范圍的限制等.