2013年自考《數(shù)據(jù)庫原理》串講-關系模型
第二章 關系模型
本章為次重點章,我們經(jīng)常使用的數(shù)據(jù)庫均采用關系模型,本章主要介紹了關系模型的關系運算理論,主要在于對關系演算運算的理解,為后面章節(jié)的SQL作準備。
一、關系模型的基本概念( 識記 )
1、關系模型的基本術語:
用二維表格 結(jié)構(gòu)表示實體集、外鍵表示實體間聯(lián)系的數(shù)據(jù)模型稱為 關系模型 .
基本術語有: 字段(屬性)、字段值(屬性值)、記錄(元組)、二維表格(元組集合、關系或?qū)嵗?。 在這里,括號中的表述為關系模型中的術語。它與表格中術語可以一一對應。還有,關系中屬性個數(shù)稱為元數(shù),元組個數(shù)為基數(shù)。
鍵 :由一個或幾個屬性組成。(注意鍵不一定是唯一的一個屬性)。
超鍵 :在關系中能唯一標識元組的屬性集稱為關系模式的超鍵。(注意,超鍵也是一個屬性集,不一定只是一個屬性)
候選鍵 :不含有多余屬性的超鍵稱為候選鍵。
主鍵 :用戶選作元組標識的一個候選鍵為主鍵。
外鍵 :某個關系的主鍵相應的屬性在另一關系中出現(xiàn),此時該主鍵在就是另一關系的外鍵,如有兩個關系S和SC,其中S#是關系S的主鍵,相應的屬性S#在關系SC中也出現(xiàn),此時S#就是關系SC的外鍵。
2、關系模式、關系子模式和存儲模式
關系模式 :關系模式實際上就是記錄類型。它包括:模式名,屬性名,值域名以及模式的主鍵。關系模式僅是對數(shù)據(jù)特性的描述。 (這通常在數(shù)據(jù)庫中表現(xiàn)為一個數(shù)據(jù)表的結(jié)構(gòu))
關系子模式 :就是用戶所用到那部分數(shù)據(jù)的描述。
存儲模式 :關系存儲時的基本組織方式是文件,元組是文件中的記錄。
3、關系模型的三類完整性規(guī)則
實體完整性規(guī)則 :要求關系中組成主鍵的屬性上不能有空值。
參照完整性規(guī)則 :要求不引用不存在的實體。
用戶定義完整性規(guī)則 :由具體應用環(huán)境決定,系統(tǒng)提供定義和檢驗這類完整性的機制。
4、關系模型的形式定義:數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作和完整性規(guī)則。
二、關系代數(shù)運算(簡單應用)
1、關系代數(shù)的五個基本操作:并、差、笛卡爾積、投影和選擇。
并 (∪):兩個關系需有相同的關系模式,并的對象是元組,由兩個關系所有元組構(gòu)成。
差 (-):同樣,兩個關系有相同的模式,R和S的差是由屬于R但不屬于S的元組構(gòu)成的集合。
投影( σ):對關系進行垂直分割,消去某些列,并重新安排列的順序。
選擇 (π):根據(jù)某些條件關系作水平分割,即選擇符合條件的元組。
2、關系代數(shù)的四個組合操作:交、聯(lián)接、自然聯(lián)接和除法
交 (∩):R和S的交是由既屬于R又屬于S的元組構(gòu)成的集合。
聯(lián)接 包括θ聯(lián)接和F聯(lián)接,是選擇R×S中滿足iθ(r+j)或F條件的元組構(gòu)成的集合,特別注意 等值聯(lián)接 (θ為等號“=”)。
自然聯(lián)接 (R|X|S):在R×S中,選擇R和S公共屬性值均相等的元組,并去掉R×S中重復的公共屬性列。如果兩個關系沒有公共屬性,則自然聯(lián)接就轉(zhuǎn)化為笛卡爾積。
除法 (÷):首先除法的結(jié)果中元數(shù)為兩個元數(shù)的差,以例2.6為例,我們可以直接用觀察法來得到結(jié)果,把S看作一個塊,拿到R中去和相同屬性集中的元組作比較,如果有相同的塊,且除去此塊后留下的相應元組均相同,那么可以得到一條元組,所有這些元組的集合就是除法的結(jié)果。
對于上述的五個基本操作和組合操作,應當從實際運算方面進行理解和運用,對其形式定義可不必深究。注意課本上的例子。
3、關系代數(shù)表達式及應用
在關系代數(shù)表達式中,復合了上述五個基本操作,在給出相應的表格(關系)中,應該能夠根據(jù)給出的關系代數(shù)表達式計算關系值,也要能根據(jù)相應查詢要求列出關系表達式。
在列關系表達式時,通常有以下形式:
π……(σ……(R×S))或者π……(σ……(R|X|S))
首先把查詢涉及到的關系取來,執(zhí)行笛卡爾積或自然聯(lián)接操作得到一張大的表格,然后對大表格執(zhí)行水平分割(選擇)和垂直分割(投影)操作。但是注意當查詢涉及到否定或全部值時,就不能用上述形式,而要用到差或除法操作。
三、關系演算( 領會 )
關系演算分為元組關系演算或域關系演算,前者以元組為變量,后者以域為變量。
元組演算表達式的一般形式為:{t|P(t)},其含義為:這是一個元組集合,其中的每個元組t(t是元組變量)滿足公式P所規(guī)定的條件。所以在書寫演算表達式時,應該注重理解公式P如何表達。
域演算表達式的一般形式為:{t1……tk|P(t1……,tk)},其含義為:這是一個域集合,其中每個域變量的取值關系滿足公式P所規(guī)定的條件。也是注意公式P的表達。
以上兩類演算需要一定的離散數(shù)學基礎,如果不能很深刻的掌握,問題也不大,主要應看懂表達式即可,對于給定的表達式和給定的關系,應當能計算表達式的結(jié)果(得到一個關系)
四、查詢優(yōu)化
查詢優(yōu)化的目的就是為了系統(tǒng)在執(zhí)行時既省時間又能提高效率,在關系代數(shù)運算中,通常是先進行笛卡爾積或聯(lián)接運算,再進行選擇和投影,恰當?shù)匕才胚x擇、投影和聯(lián)接的順序,就可實現(xiàn)查詢優(yōu)化。
優(yōu)化的策略主要有以下幾點:
(1)在關系代數(shù)表達式中盡可能早地執(zhí)行選擇操作(早選擇)。
(2)把笛卡爾積和隨后的選擇操作合并成F聯(lián)接運算(F聯(lián)接)
(3)同時計算一連串的選擇和投影操作(同時算)
(4)保留同一子表達式的結(jié)果
(5)適當對關系文件進行預處理
(6)計算表達式之前先估計一下怎么計算合算。
以上幾點需要理解。根據(jù)表達式優(yōu)化的算法步驟對給定表達式進行優(yōu)化。
最新資訊
- 考前必背!自學考試《中國近現(xiàn)代史綱要》論述題高頻考點2024-10-19
- 自考報考策略:科學搭配科目,加速畢業(yè)進程2024-07-20
- 2025年考研考生五一假期,英語科目應該如何復習?2024-05-03
- 備考指南!2024年4月自學考試考前要做哪些準備?2024-03-31
- 考前備考沖刺!自考如何一次就過?2024-03-30
- 考點匯總:《中國近現(xiàn)代史綱要》論述題2024-03-25
- 備考資料:《中國近現(xiàn)代史綱要》簡答題考點匯總2024-03-25
- 自考可以從哪些維度進行備考?2024-02-17
- @自考生,這里有備考技巧2024-02-17
- 自學考試備考復習方法!建議收藏2024-02-16