數(shù)據(jù)完整性是指數(shù)據(jù)的正確性、完備性和一致性,是衡量數(shù)據(jù)庫質(zhì)量好壞的規(guī)范。數(shù)據(jù)庫完整性由各式各樣的完整性約束來確保,因而可以說數(shù)據(jù)庫完整性規(guī)劃即是數(shù)據(jù)庫完整性約束的規(guī)劃。那么,數(shù)據(jù)庫設(shè)計的完整性約束表現(xiàn)哪些方面?
1、域的完整性:數(shù)據(jù)庫表中的列必須滿足某種特定的數(shù)據(jù)類型或約束。其中約束又包括取值范圍、精度等規(guī)定。用Check來實現(xiàn)約束,在數(shù)據(jù)庫設(shè)計工具中,對字段的取值范圍進(jìn)行定義時,有一個Check按鈕,通過它定義字段的值城。
2、參照完整性:就是定義外碼與主碼之間的引用規(guī)則。用PK、FK、表級觸發(fā)器來實現(xiàn)。原理規(guī)則就是若屬性(或?qū)傩越M)f是基本關(guān)系r的外碼,它與基本關(guān)系s的主碼ks相對應(yīng)(基本關(guān)系r和s不一定是不同的關(guān)系),則對于r中每個元組在f上的值必須為:或者取空值(f的每個屬性值均為空值)或者等于s中某個元組的主碼值。
3、實體完整性規(guī)則(entityintegrity):若屬性a是基本關(guān)系r的主屬性,則屬性a不能取空值。由于實體完整性規(guī)則是針對基本關(guān)系而言的。一個基本表通常對應(yīng)現(xiàn)實世界的一個實體集或多對多聯(lián)系。現(xiàn)實世界中的實體和實體間的聯(lián)系都是可區(qū)分的,即它們具有某種唯一性標(biāo)識,數(shù)據(jù)庫設(shè)計關(guān)系模型必須遵守實體完整性規(guī)則。
4、用戶定義完整性:用戶定義的完整性是針對某一具體關(guān)系數(shù)據(jù)庫的約束條件,反映某一具體應(yīng)用所涉及的數(shù)據(jù)必須滿足的語義要求。關(guān)系模型應(yīng)提供定義和檢驗這類完整性的機(jī)制,以便用統(tǒng)一的系統(tǒng)的方法處理它們,而不要由應(yīng)用程序承擔(dān)這一功能。它是一些業(yè)務(wù)規(guī)則,用存儲過程和觸發(fā)器來實現(xiàn)。
更多信息請查看IT技術(shù)專欄