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