2013年自考《數據庫原理》串講-關系模型


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