中級(jí)通信互聯(lián)網(wǎng)技術(shù)知識(shí)點(diǎn)精講之關(guān)系的完整性

互聯(lián)網(wǎng)技術(shù) 責(zé)任編輯:小狐貍 2016-08-18

摘要:下面是由希賽小編整理的中級(jí)通信互聯(lián)網(wǎng)技術(shù)知識(shí)點(diǎn)精講之關(guān)系的完整性,希望能幫助學(xué)友們。

       下面是由希賽小編整理的中級(jí)通信互聯(lián)網(wǎng)技術(shù)知識(shí)點(diǎn)精講之關(guān)系的完整性,希望能幫助學(xué)友們。具體內(nèi)容如下:


       關(guān)系的完整性

       關(guān)系模型的完整性規(guī)則是對關(guān)系的某種約束條件?關(guān)系模型中可以有3類完整性約束:實(shí)體完整性、參照完整性和用戶定義的完整性。其中,實(shí)體完整性和參照完整性是關(guān)系模型第8章數(shù)據(jù)庫基礎(chǔ)1261必須滿足的完整性約束條件,被稱做是關(guān)系的兩個(gè)不變性,應(yīng)該由關(guān)系系統(tǒng)自動(dòng)支持。

       1.實(shí)體完整性(EntityIntegrity)

       規(guī)則8.1實(shí)體完整性規(guī)則:若屬性A是基本關(guān)系R的主屬性,則屬性A不能取空值。

       例如在關(guān)系“SAP(SUPERVISOR,SPECIALITY,POSTGRADUATE)”中,“研究生姓名”POSTGRADUATE屬性為主碼(假設(shè)研究生不會(huì)重名),則“研究生姓名”不能取空值。

       實(shí)體完整性規(guī)則規(guī)定基本關(guān)系的所有主屬性都不能取空值,而不僅是主碼整體不能取空值。

       例如,學(xué)生選課關(guān)系“選修(學(xué)號(hào),課程號(hào),成績)”中,“學(xué)號(hào)、課程號(hào)”為主碼,則“學(xué)號(hào)”和“課程號(hào)”兩個(gè)屬性都不能取空值。

       2.參照完整性(Referentiallntegrity)

       現(xiàn)實(shí)世界中的實(shí)體之間往往存在某種聯(lián)系,在關(guān)系模型中實(shí)體及實(shí)體間的聯(lián)系都是用關(guān)系來描述的。這樣就自然存在著關(guān)系與關(guān)系間的引用。

       【例8.1】學(xué)生實(shí)體和專業(yè)實(shí)體可以用下面的關(guān)系表示,其中主碼用下劃線標(biāo)識(shí):

       學(xué)生(學(xué)號(hào),姓名,性別,專業(yè)號(hào),年齡)

       專業(yè)(專業(yè)號(hào),專業(yè)名)

       這兩個(gè)關(guān)系之間存在著屬性的引用,即學(xué)生關(guān)系引用了專業(yè)關(guān)系的主碼“專業(yè)號(hào)”。顯然,學(xué)生關(guān)系中的“專業(yè)號(hào)”值必須是確實(shí)存在的專業(yè)的專業(yè)號(hào),即專業(yè)關(guān)系中有該專業(yè)的記錄。

       也就是說,學(xué)生關(guān)系中的某個(gè)屬性的取值需要參照專業(yè)關(guān)系的屬性取值。

       【例8.2】學(xué)生、課程、學(xué)生與課程之間的多對多聯(lián)系可以如下3個(gè)關(guān)系表示:

       學(xué)生(學(xué)號(hào),姓名,性別,專業(yè)號(hào),年鈐)

       課程(課程號(hào),課程名,學(xué)分)

       選修(學(xué)號(hào),課程號(hào),成繢)

       這3個(gè)關(guān)系之間也存在著屬性的引用,即選修關(guān)系引用了學(xué)生關(guān)系的主碼“學(xué)號(hào)”和課程關(guān)系的主碼“課程號(hào)”。同樣,選修關(guān)系中的“學(xué)號(hào)”值必須是確實(shí)存在的學(xué)生的學(xué)號(hào),即學(xué)生關(guān)系中有該學(xué)生的記錄:選修關(guān)系中的“課程號(hào)”值也必須是確實(shí)存在的課程的課程號(hào),

       即課程關(guān)系中有該課程的記錄。換句話說,選修關(guān)系中某些屬性的取值需要參照其他關(guān)系的屬性取值。

       不僅兩個(gè)或兩個(gè)以上的關(guān)系間可以存在引用關(guān)系,同一關(guān)系內(nèi)部屬性間也可能存在引用關(guān)系。

       【例8.3】在關(guān)系學(xué)生2(學(xué)號(hào),姓名,性別,專業(yè)號(hào),年齡,班長)中,“學(xué)號(hào)”屬性是主碼,“班長”屬性表示該學(xué)生所在班級(jí)的班長的學(xué)號(hào),它引用了本關(guān)系“學(xué)號(hào)”厲性,即“班長”必須是確實(shí)存在的學(xué)生的學(xué)號(hào)。

       定義8.S設(shè)F是基本關(guān)系R的一個(gè)或一組屬性,但不是關(guān)系R的碼。如果F與基本關(guān)系S的主碼Ks相對應(yīng),則稱F是基本關(guān)系R的外碼(ForeignKey),并稱基本關(guān)系R為參照關(guān)系(ReferencingRelation),基本關(guān)系S為被參照關(guān)系(ReferencedRelation)或目標(biāo)關(guān)系(TargetRelation)。關(guān)系R和S不一定是不同的關(guān)系。

       顯然,目標(biāo)關(guān)系S的主碼和參照關(guān)系的外碼F必須定義在同一個(gè)(或一組)域上。在例8.1中,學(xué)生關(guān)系的“專業(yè)號(hào)”屬性與專業(yè)關(guān)系的主碼“專業(yè)號(hào)”相對應(yīng),因此“專業(yè)號(hào)”屬性是學(xué)生關(guān)系的外碼。這里專業(yè)關(guān)系是被參照關(guān)系,學(xué)生關(guān)系為參照關(guān)系。

       在例8.2中,選修關(guān)系的“學(xué)號(hào)”屬性與學(xué)生關(guān)系的主碼“學(xué)號(hào)”相對應(yīng),“課程號(hào)”屬性與課程關(guān)系的主碼“課程號(hào)”相對應(yīng),因此“學(xué)號(hào)”和“課程號(hào)”屬性是選修關(guān)系的外碼。這里學(xué)生關(guān)系和課程關(guān)系均為被參照關(guān)系,選修關(guān)系為參照關(guān)系。

       在例8.3中,“班長”屬性與本身的主碼“學(xué)號(hào)”屬性相對應(yīng),因此“班長”是外碼。這里學(xué)生2關(guān)系既是參照關(guān)系也是被參照關(guān)系。

       規(guī)則8.2參照完整性規(guī)則:設(shè)屬性組A是關(guān)系R的外碼且A與關(guān)系S的主碼對應(yīng),則對于R中的每一個(gè)元組在屬性A上的值必須為空值(對應(yīng)于A中每個(gè)屬性值都為空值)或者等于S中某一元組的主碼值。

       需要指出的是,外碼并不一定要與相應(yīng)的主碼同名(如例3)。不過,在實(shí)際應(yīng)用當(dāng)中,為了便于識(shí)別,當(dāng)外碼與相應(yīng)的主碼屬于不同關(guān)系時(shí),往往給它們?nèi)∠嗤拿睢?/p>

       參照完整性規(guī)則就是定義外碼與主碼之間的引用規(guī)則。

       實(shí)體完整性和參照完整性是關(guān)系模型必須滿足的完整性約束條件,它由關(guān)系數(shù)據(jù)庫管理系統(tǒng)(RDBMS)自動(dòng)支持。

       3.用戶自定義的完整性(User-definedIntegrity)

       這是針對某一具體數(shù)據(jù)的約束條件,由應(yīng)用環(huán)境決定。用戶定義的完整性具體應(yīng)用涉及數(shù)據(jù)必須滿足的語義要求。系統(tǒng)提供定義和檢驗(yàn)這類完整性的統(tǒng)一處理方法,不再由應(yīng)用程序承擔(dān)這項(xiàng)工作。例如,我們可以寫一條規(guī)則,把學(xué)生每門課程的學(xué)習(xí)成績限制在0-100分。現(xiàn)在的商品化RDBMS都提供了定義和檢査這類完整性約束的機(jī)制。


       返回目錄:中級(jí)通信互聯(lián)網(wǎng)技術(shù)知識(shí)點(diǎn)精講之?dāng)?shù)據(jù)庫技術(shù)匯總


       相關(guān)推薦:

       中級(jí)通信工程師互聯(lián)網(wǎng)技術(shù)專業(yè)基礎(chǔ)課

       2013年中級(jí)通信工程師考試試題分析與解答

       中級(jí)通信工程師互聯(lián)網(wǎng)技術(shù)考試大綱

更多資料
更多課程
更多真題
溫馨提示:因考試政策、內(nèi)容不斷變化與調(diào)整,本網(wǎng)站提供的以上信息僅供參考,如有異議,請考生以權(quán)威部門公布的內(nèi)容為準(zhǔn)!

通信工程師備考資料免費(fèi)領(lǐng)取

去領(lǐng)取

專注在線職業(yè)教育24年

項(xiàng)目管理

信息系統(tǒng)項(xiàng)目管理師

廠商認(rèn)證

信息系統(tǒng)項(xiàng)目管理師

信息系統(tǒng)項(xiàng)目管理師

學(xué)歷提升

!
咨詢在線老師!