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

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

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

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


       關系的完整性

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

       1.實體完整性(EntityIntegrity)

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

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

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

       例如,學生選課關系“選修(學號,課程號,成績)”中,“學號、課程號”為主碼,則“學號”和“課程號”兩個屬性都不能取空值。

       2.參照完整性(Referentiallntegrity)

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

       【例8.1】學生實體和專業(yè)實體可以用下面的關系表示,其中主碼用下劃線標識:

       學生(學號,姓名,性別,專業(yè)號,年齡)

       專業(yè)(專業(yè)號,專業(yè)名)

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

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

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

       學生(學號,姓名,性別,專業(yè)號,年鈐)

       課程(課程號,課程名,學分)

       選修(學號,課程號,成繢)

       這3個關系之間也存在著屬性的引用,即選修關系引用了學生關系的主碼“學號”和課程關系的主碼“課程號”。同樣,選修關系中的“學號”值必須是確實存在的學生的學號,即學生關系中有該學生的記錄:選修關系中的“課程號”值也必須是確實存在的課程的課程號,

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

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

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

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

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

       在例8.2中,選修關系的“學號”屬性與學生關系的主碼“學號”相對應,“課程號”屬性與課程關系的主碼“課程號”相對應,因此“學號”和“課程號”屬性是選修關系的外碼。這里學生關系和課程關系均為被參照關系,選修關系為參照關系。

       在例8.3中,“班長”屬性與本身的主碼“學號”屬性相對應,因此“班長”是外碼。這里學生2關系既是參照關系也是被參照關系。

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

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

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

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

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

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


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


       相關推薦:

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

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

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

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

通信工程師備考資料免費領取

去領取

距離2025 通信工程師考試

還有
  • 3
  • 1
  • 4
專注在線職業(yè)教育23年

項目管理

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

廠商認證

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

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

!
咨詢在線老師!