版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
關(guān)系數(shù)據(jù)庫系統(tǒng)模型第一頁,共一百零三頁,2022年,8月28日第3章關(guān)系數(shù)據(jù)庫系統(tǒng)模型3.1關(guān)系數(shù)據(jù)模型3.2關(guān)系模型的完整性規(guī)則3.3關(guān)系代數(shù)的基本運算3.4關(guān)系演算
第二頁,共一百零三頁,2022年,8月28日3.1關(guān)系數(shù)據(jù)模型
3.1.1關(guān)系模式
形式化地表示為:R(U,D,DOM,F)
R-關(guān)系名;
U-組成該關(guān)系的屬性名集合;
D-屬性組U中屬性所來自的域;
DOM---屬性向域的映像集合;
F-屬性間數(shù)據(jù)的依賴關(guān)系集合。關(guān)系模式通??梢院営洖镽(U)或R(A1,A2,…,An),其中,R為關(guān)系名,A1,A2,…,An為屬性名。第三頁,共一百零三頁,2022年,8月28日1.關(guān)系單一的數(shù)據(jù)結(jié)構(gòu)----關(guān)系現(xiàn)實世界的實體以及實體間的各種聯(lián)系均用關(guān)系來表示邏輯結(jié)構(gòu)----二維表從用戶角度,關(guān)系模型中數(shù)據(jù)的邏輯結(jié)構(gòu)是一張二維表第四頁,共一百零三頁,2022年,8月28日1.關(guān)系學(xué)號(SNO)姓名(SNAME)性別(SEX)年齡(AGE)系別(SDEPT)1105054208張三F18CS1105054323李四M19IS1104014109王五M20CS表3-1學(xué)生表第五頁,共一百零三頁,2022年,8月28日關(guān)系模型術(shù)語
在關(guān)系模型中,字段稱為屬性,字段值稱為屬性值,記錄類型稱為關(guān)系模式。記錄稱為元組,元組的集合稱為關(guān)系或?qū)嵗?。關(guān)系中屬性個數(shù)稱為元數(shù),元組個數(shù)稱為基數(shù)。關(guān)系中每一個屬性都有一個取值范圍,稱為屬性的值域。每一個屬性列對應(yīng)一個值域,不同的屬性可對應(yīng)于同一值域。第六頁,共一百零三頁,2022年,8月28日關(guān)系的特點
(1)關(guān)系可以看成是由行和列交叉組成的二維表格。它表示的是一個實體集合。(2)表中一行稱為一個元組,可用來表示實體集中的一個實體。(3)表中的列稱為屬性,給每一列起一個名稱即屬性名,表中的屬性名不能相同。(4)列的取值范圍稱為域,同列具有相同的域。例如,年齡為整數(shù)域。(5)表中任意兩行(元組)不能相同。
第七頁,共一百零三頁,2022年,8月28日關(guān)系的性質(zhì)
嚴格地說,關(guān)系是一種規(guī)范化的二維表格,具有如下性質(zhì):列是同質(zhì)的:每一列中的分量是同一類型的數(shù)據(jù),來自同一域。不同列可來自同一個域:不同列(屬性)要給予不同的屬性名。列的順序無所謂:列的次序可以任意交換。任意兩個元組不能完全相同:這是由笛卡兒積的性質(zhì)決定的。行的順序無所謂:行的次序可以任意交換。分量必須取原子值:每一個分量都必須是不可分的數(shù)據(jù)項。第八頁,共一百零三頁,2022年,8月28日2.關(guān)鍵碼和表之間的聯(lián)系超鍵在一個關(guān)系中,能唯一標識元組的屬性或?qū)傩约Q為關(guān)系的超鍵。候選鍵如果一個屬性集能唯一標識元組,且又不含有多余的屬性,那么這個屬性集稱為關(guān)系的候選鍵。主鍵若一個關(guān)系中有多個候選鍵,則選其中的一個為關(guān)系的主鍵。包含在任何一個候選鍵中的屬性稱為主屬性,不包含在任何鍵中的屬性稱為非主屬性或非鍵屬性。外鍵關(guān)系模式R1中的某一屬性(或?qū)傩越M)F與關(guān)系模式R2的主鍵相對應(yīng),但不是R1的超鍵,則稱F是關(guān)系模式R1的外鍵。其中,基本關(guān)系R1稱為參照關(guān)系;基本關(guān)系R2稱為被參照關(guān)系或目標關(guān)系。第九頁,共一百零三頁,2022年,8月28日2.關(guān)鍵碼和表之間的聯(lián)系例如:學(xué)生關(guān)系
(SNO,SNAME,SEX,AGE,SDNO)
系部關(guān)系
(SDNO,SDNAME,CHAIR)
學(xué)生關(guān)系的主鍵是SNO,系部關(guān)系的主鍵為SDNO,在學(xué)生關(guān)系中,SDNO是它的外鍵。學(xué)生關(guān)系為參照關(guān)系,系部關(guān)系為被參照關(guān)系。第十頁,共一百零三頁,2022年,8月28日3.關(guān)系模式、關(guān)系子模式和存儲模式
關(guān)系模型基本上遵循數(shù)據(jù)庫的三級體系結(jié)構(gòu)。在關(guān)系模型中,概念模式是關(guān)系模式的集合,外模式是關(guān)系子模式的集合,內(nèi)模式是存儲模式的集合。第十一頁,共一百零三頁,2022年,8月28日(1)關(guān)系模式關(guān)系模式是對關(guān)系的描述,它包括模式名,組成該關(guān)系的諸屬性名、值域名和模式的主鍵。具體的關(guān)系稱為實例。【例3-1】圖3-2是一個教務(wù)管理子系統(tǒng)的實體聯(lián)系圖。學(xué)生實體的屬性SNO、SNAME、SEX、AGE、SDEPT;課程實體的屬性CNO、CNAME、CDEPT、TNAME。學(xué)生關(guān)系用S表示,課程關(guān)系用C表示。S和C之間有m:n的聯(lián)系(一個學(xué)生可選多門課程,一門課程可以被多個學(xué)生選修),聯(lián)系類型SC的屬性成績用GRADE表示。
第十二頁,共一百零三頁,2022年,8月28日(1)關(guān)系模式SCSCSNAMESNOSDEPTAGESEXGRADECNOCNAMECDEPTETNAME圖3-2實體聯(lián)系圖m學(xué)生關(guān)系模式S(SNO,SNAME,SEX,AGE,SDEPT)選修關(guān)系模式SC(SNO,CNO,GRADE)課程關(guān)系模式C(CNO,CNAME,CDEPT,TNAME)n第十三頁,共一百零三頁,2022年,8月28日SNOSNAMESEXAGESDEPTS1張莉F18CSS2李強M19ISS3王剛M20CSSNOCNOGRADES1C180S2C290???表3-2關(guān)系模式集的三個具體關(guān)系CNOCNAMECDEPTTNAMEC1數(shù)據(jù)庫IS劉軍C2微機原理CS楊林C3編譯原理CS王娟(a)學(xué)生關(guān)系
(c)選修關(guān)系
(b)課程關(guān)系第十四頁,共一百零三頁,2022年,8月28日
(2)關(guān)系子模式關(guān)系子模式是用戶所需數(shù)據(jù)結(jié)構(gòu)的描述,其中包括這些數(shù)據(jù)來自哪些模式和應(yīng)滿足哪些條件?!纠?-2】用戶需要用到成績子模式F(SNO,SNAME,CNO,GRADE)。子模式F對應(yīng)的數(shù)據(jù)來源于表S和表SC,構(gòu)造時應(yīng)滿足它們的SNO值相等。
第十五頁,共一百零三頁,2022年,8月28日(3)存儲模式存儲模式描述了關(guān)系是如何在物理存儲設(shè)備上存儲的。關(guān)系存儲時的基本組織方式是文件。
第十六頁,共一百零三頁,2022年,8月28日3.1.2關(guān)系操作基本的關(guān)系操作關(guān)系操作采用集合操作方式,即操作的對象和結(jié)構(gòu)都是集合。關(guān)系模型中常用的關(guān)系操作包括:
(1)傳統(tǒng)的集合運算:并、交、差和廣義笛卡爾積。
(2)專門的關(guān)系運算:選擇、投影、連接、除。
(3)有關(guān)的數(shù)據(jù)操作:查詢、插入、刪除、修改。第十七頁,共一百零三頁,2022年,8月28日關(guān)系操作的特點
是集合操作方式,即操作的對象和結(jié)果都是集合。這種操作方式也稱為一次一集合(set-at-time)的方式。第十八頁,共一百零三頁,2022年,8月28日關(guān)系數(shù)據(jù)庫語言的分類關(guān)系代數(shù)語言用對關(guān)系的運算來表達查詢要求代表:ISBL關(guān)系演算語言:用謂詞來表達查詢要求元組關(guān)系演算語言謂詞變元的基本對象是元組變量代表:APLHA,QUEL域關(guān)系演算語言謂詞變元的基本對象是域變量代表:QBE具有關(guān)系代數(shù)和關(guān)系演算雙重特點的語言代表:SQL(StructuredQueryLanguage)第十九頁,共一百零三頁,2022年,8月28日3.2關(guān)系模型的完整性規(guī)則3.2.1關(guān)系的三類完整性約束3.2.2實體完整性3.2.3參照完整性3.2.4用戶定義的完整性第二十頁,共一百零三頁,2022年,8月28日3.2.1關(guān)系的三類完整性約束實體完整性和參照完整性:
關(guān)系模型必須滿足的完整性約束條件稱為關(guān)系的兩個不變性,應(yīng)該由關(guān)系系統(tǒng)自動支持用戶定義的完整性:
應(yīng)用領(lǐng)域需要遵循的約束條件,體現(xiàn)了具體領(lǐng)域中的語義約束第二十一頁,共一百零三頁,2022年,8月28日3.2.2實體完整性實體完整性規(guī)則(EntityIntegrity)若屬性A是基本關(guān)系R的主屬性,則屬性A不能取空值例:在學(xué)生關(guān)系S中,“學(xué)號”為主碼,則它不能取空值。如選課關(guān)系SC中,“學(xué)號”與“課程號”為主碼,則兩個屬性都不能取空值。
第二十二頁,共一百零三頁,2022年,8月28日實體完整性(續(xù))實體完整性規(guī)則的說明(1)實體完整性規(guī)則是針對基本關(guān)系而言的。一個基本表通常對應(yīng)現(xiàn)實世界的一個實體集。(2)現(xiàn)實世界中的實體是可區(qū)分的,即它們具有某種唯一性標識。(3)關(guān)系模型中以主碼作為唯一性標識。(4)主碼中的屬性即主屬性不能取空值。主屬性取空值,就說明存在某個不可標識的實體,即存在不可區(qū)分的實體,這與第(2)點相矛盾,因此這個規(guī)則稱為實體完整性第二十三頁,共一百零三頁,2022年,8月28日3.2.3參照完整性在關(guān)系模型中實體及實體間的聯(lián)系都是用關(guān)系來描述的,因此可能存在著關(guān)系與關(guān)系間的引用。例1學(xué)生實體、系別實體學(xué)生(學(xué)號,姓名,性別,系別號,年齡)系別(系別號,系名)主碼主碼學(xué)生關(guān)系引用了系別關(guān)系的主碼“系別號”。系別關(guān)系中的“系別號”值必須是確實存在的系的系別號,即系別關(guān)系中有該系別的記錄。第二十四頁,共一百零三頁,2022年,8月28日3.2.3參照完整性(續(xù))參照完整性規(guī)則 若屬性(或?qū)傩越M)F是基本關(guān)系R的外碼它與基本關(guān)系S的主碼Ks相對應(yīng)(基本關(guān)系R和S不一定是不同的關(guān)系),則對于R中每個元組在F上的值必須為:或者取空值(F的每個屬性值均為空值)或者等于S中某個元組的主碼值第二十五頁,共一百零三頁,2022年,8月28日參照完整性(續(xù))[例]:學(xué)生關(guān)系中每個元組的“系別號”屬性只取兩類值:(1)空值,表示尚未給該學(xué)生分配系(2)非空值,這時該值必須是系別關(guān)系中某個元組的“系別號”值,表示該學(xué)生不可能分配一個不存在的系第二十六頁,共一百零三頁,2022年,8月28日3.2.4用戶定義的完整性針對某一具體關(guān)系數(shù)據(jù)庫的約束條件,反映某一具體應(yīng)用所涉及的數(shù)據(jù)必須滿足的語義要求關(guān)系模型應(yīng)提供定義和檢驗這類完整性的機制,以便用統(tǒng)一的系統(tǒng)的方法處理它們,而不要由應(yīng)用程序承擔(dān)這一功能第二十七頁,共一百零三頁,2022年,8月28日3.2.4用戶定義的完整性(續(xù))例:
課程(課程號,課程名,學(xué)分)“課程號”屬性必須取唯一值非主屬性“課程名”也不能取空值“學(xué)分”屬性只能取值{1,2,3,4}第二十八頁,共一百零三頁,2022年,8月28日集合運算符∪-∩×并差交笛卡爾積比較運算符>≥<≤=<>大于大于等于小于小于等于等于不等于運算符含義運算符含義表關(guān)系代數(shù)運算符
3.3關(guān)系代數(shù)的基本運算第二十九頁,共一百零三頁,2022年,8月28日專門的關(guān)系運算符σπ
÷選擇投影連接除邏輯運算符∧∨非與或運算符含義運算符含義表關(guān)系代數(shù)運算符(續(xù))
3.3關(guān)系代數(shù)的基本運算第三十頁,共一百零三頁,2022年,8月28日3.3關(guān)系代數(shù)的基本運算
傳統(tǒng)的集合運算
專門的關(guān)系運算第三十一頁,共一百零三頁,2022年,8月28日3.3.1傳統(tǒng)的集合運算首先給定兩個關(guān)系R和S,分別表示參加運動會的跳高運動員和跳遠運動員的學(xué)生信息,如表3-3表示關(guān)系R,表3-4表示關(guān)系S。姓名系性別李麗計算機女王強數(shù)學(xué)男張剛物理男姓名系性別陳芳外語女李麗計算機女趙銘網(wǎng)絡(luò)工程男張剛物理男表3-3(關(guān)系R)跳高運動員表3-4(關(guān)系S)跳遠運動員第三十二頁,共一百零三頁,2022年,8月28日1.并運算(Union)R和S具有相同的目n(即兩個關(guān)系都有n個屬性)相應(yīng)的屬性取自同一個域R∪S
仍為n目關(guān)系,由屬于R或?qū)儆赟的元組組成
R∪S={t|t
R∨tS}第三十三頁,共一百零三頁,2022年,8月28日1.并運算(Union)姓名系性別李麗計算機女王強數(shù)學(xué)男張剛物理男陳芳外語女趙銘網(wǎng)絡(luò)工程男表3-5R∪S實例:R∪S的結(jié)果為:參加了跳高項目或跳遠項目的學(xué)生的集合
第三十四頁,共一百零三頁,2022年,8月28日2.差運算(Difference)R和S具有相同的目n相應(yīng)的屬性取自同一個域R-S
仍為n目關(guān)系,由屬于R而不屬于S的所有元組組成
R-S={t|tR∧tS}第三十五頁,共一百零三頁,2022年,8月28日2.差運算(Difference)R-S的結(jié)果為:參加跳高比賽而沒有參加跳遠比賽的學(xué)生集合姓名系性別王強數(shù)學(xué)男表3-6R-S第三十六頁,共一百零三頁,2022年,8月28日3.交運算(Intersection)R和S具有相同的目n相應(yīng)的屬性取自同一個域R∩S仍為n目關(guān)系,由既屬于R又屬于S的元組組成
R∩S={t|t
R∧tS} R∩S=R–(R-S)第三十七頁,共一百零三頁,2022年,8月28日3.交運算(Intersection)R∩S的結(jié)果為:既參加了跳高比賽又參加了跳遠比賽的學(xué)生集合姓名系性別李麗計算機女張剛物理男表3-7R∩S第三十八頁,共一百零三頁,2022年,8月28日4.廣義笛卡爾積(CartesianProduct)
R:n目關(guān)系,k1個元組
S:m目關(guān)系,k2個元組
R×S
列:(n+m)列元組的集合元組的前n列是關(guān)系R的一個元組后m列是關(guān)系S的一個元組行:k1×k2個元組R×S={tr
ts|tr
R∧tsS}第三十九頁,共一百零三頁,2022年,8月28日4.廣義笛卡爾積(CartesianProduct)R.姓名R.系R.性別S.姓名S.系S.性別李麗計算機女陳芳外語女李麗計算機女李麗計算機女李麗計算機女趙銘網(wǎng)絡(luò)工程男李麗計算機女張剛物理男王強數(shù)學(xué)男陳芳外語女王強數(shù)學(xué)男李麗計算機女王強數(shù)學(xué)男趙銘網(wǎng)絡(luò)工程男王強數(shù)學(xué)男張剛物理男張剛物理男陳芳外語女張剛物理男李麗計算機女張剛物理男趙銘網(wǎng)絡(luò)工程男張剛物理男張剛物理男表3-8R×S第四十頁,共一百零三頁,2022年,8月28日3.3.2專門的關(guān)系運算選擇投影連接除第四十一頁,共一百零三頁,2022年,8月28日學(xué)生-課程關(guān)系數(shù)據(jù)庫
學(xué)號姓名性別年齡系別110201陳芳女20外語110202李麗女19計算機110203趙銘男20網(wǎng)絡(luò)工程110204張剛男18計算機學(xué)號課程號成績110201185110202275110203290110201388110204476課程號課程名學(xué)分1排球
32籃球23網(wǎng)球34乒乓球25足球36羽毛球2表3-9(a)學(xué)生表(S)
表3-9(b)課程表(C)
表3-9(c)選修關(guān)系表(SC)第四十二頁,共一百零三頁,2022年,8月28日1.選擇(Selection)
1)選擇又稱為限制(Restriction)2)選擇運算符的含義在關(guān)系R中選擇滿足給定條件的諸元組
σF(R)={t|tR∧F(t)='真'}F:選擇條件,是一個邏輯表達式,基本形式為:
X1θY1第四十三頁,共一百零三頁,2022年,8月28日選擇(續(xù))3)選擇運算是從關(guān)系R中選取使邏輯表達式F為真的元組,是從行的角度進行的運算σ第四十四頁,共一百零三頁,2022年,8月28日選擇(續(xù))【例3-5】查詢?nèi)w女生的元組。
σ性別=‘女’(學(xué)生表)或σ3=‘女’(學(xué)生表)結(jié)果:學(xué)號姓名性別年齡系別110201陳芳女20外語110202李麗女19計算機第四十五頁,共一百零三頁,2022年,8月28日選擇(續(xù))【例3-6】查詢年齡小于20歲學(xué)生的元組。
σ年齡<20(學(xué)生表)或σ4<20(學(xué)生表)
結(jié)果:
學(xué)號姓名性別年齡系別110202李麗女19計算機110204張剛男18計算機第四十六頁,共一百零三頁,2022年,8月28日2.投影(Projection)
1)投影運算符的含義從R中選擇出若干屬性列組成新的關(guān)系
πA(R)={t[A]|tR} A:R中的屬性列
第四十七頁,共一百零三頁,2022年,8月28日2.投影(Projection)
2)投影操作主要是從列的角度進行運算但投影之后不僅取消了原關(guān)系中的某些列,而且還可能取消某些元組(避免重復(fù)行)π第四十八頁,共一百零三頁,2022年,8月28日投影(續(xù))【例3-7】查詢學(xué)生關(guān)系在學(xué)生姓名和性別兩個屬性上的投影Π姓名,性別(學(xué)生表)或Π2,3(學(xué)生表)結(jié)果:姓名性別陳芳女李麗女趙銘男張剛男第四十九頁,共一百零三頁,2022年,8月28日投影(續(xù))【例3-8】查詢學(xué)生關(guān)系中有哪些系。系別外語計算機網(wǎng)絡(luò)工程
結(jié)果如表3-11(b)所示。學(xué)生關(guān)系原來有四個元組,而投影結(jié)果取消了重復(fù)的信息系元組,因此只有三個元組。表3-11(b)第五十頁,共一百零三頁,2022年,8月28日3.連接(Join)
1)連接也稱為θ連接2)連接運算的含義從兩個關(guān)系的笛卡爾積中選取屬性間滿足一定條件的元組
RS={|tr
R∧ts
S∧tr[A]θts[B]}A和B:分別為R和S上度數(shù)相等且可比的屬性組θ:比較運算符
連接運算從R和S的廣義笛卡爾積R×S中選取(R關(guān)系)在A屬性組上的值與(S關(guān)系)在B屬性組上值滿足比較關(guān)系θ的元組
AθBtrts第五十一頁,共一百零三頁,2022年,8月28日
連接(續(xù))
3)兩類常用連接運算等值連接(equijoin)什么是等值連接θ為“=”的連接運算稱為等值連接等值連接的含義從關(guān)系R與S的廣義笛卡爾積中選取A、B屬性值相等的那些元組,即等值連接為:
RS={|tr
R∧tsS∧tr[A]=ts[B]}A=Btrts第五十二頁,共一百零三頁,2022年,8月28日
連接(續(xù))
自然連接(Naturaljoin)
自然連接是一種特殊的等值連接兩個關(guān)系中進行比較的分量必須是相同的屬性組在結(jié)果中把重復(fù)的屬性列去掉自然連接的含義
R和S具有相同的屬性組B
R
S={|trR∧tsS∧tr[B]=ts[B]}trts第五十三頁,共一百零三頁,2022年,8月28日連接(續(xù))4)一般的連接操作是從行的角度進行運算。
自然連接還需要取消重復(fù)列,所以是同時從行和列的角度進行運算。
AθBRS第五十四頁,共一百零三頁,2022年,8月28日連接(續(xù))【例3-9】設(shè)關(guān)系R﹑S分別為表3-12(a)(b)所示,求:
(1)(2)(3)RSABCa1b14a1b26a2b35a2b412BCDb143b257b31010b492b352表3-12(a)
表3-12(b)第五十五頁,共一百零三頁,2022年,8月28日連接(續(xù))一般連接的結(jié)果如下:
AR.BR.CS.BS.CDa1b14b257a1b14b31010a1b26b257a1b26b31010a2b35b31010第五十六頁,共一百零三頁,2022年,8月28日連接(續(xù))等值連接RS的結(jié)果如下:R.B=S.B
AR.BR.CS.BS.CDa1b14b143a1b26b257a2b35b31010a2b35b352a2b412b492第五十七頁,共一百零三頁,2022年,8月28日連接(續(xù))
自然連接R
S的結(jié)果如下:
ABCDa1b143a2b352第五十八頁,共一百零三頁,2022年,8月28日4.除(Division)象集Zx
給定一個關(guān)系R(X,Z),X和Z為屬性組。當t[X]=x時,x在R中的象集(ImagesSet)為:
Zx={t[Z]|tR,t[X]=x}
它表示R中屬性組X上值為x的諸元組在Z上分量的集合。第五十九頁,共一百零三頁,2022年,8月28日4.除(Division)x1在R中的象集
Zx1
={Z1,Z2,Z3},x2在R中的象集
Zx2
={Z2,Z3},x3在R中的象集
Zx3={Z1,Z3}象集舉例第六十頁,共一百零三頁,2022年,8月28日4.除(Division)
給定關(guān)系R(X,Y)和S(Y,Z),其中X,Y,Z為屬性組。R中的Y與S中的Y可以有不同的屬性名,但必須出自相同的域集。R與S的除運算得到一個新的關(guān)系P(X),P是R中滿足下列條件的元組在
X屬性列上的投影:元組在X上分量值x的象集Yx包含S在Y上投影的集合,記作:
R÷S={tr[X]|tr
R∧πY(S)
Yx}Yx:x在R中的象集,x=tr[X]第六十一頁,共一百零三頁,2022年,8月28日除(續(xù))2)除操作是同時從行和列角度進行運算
÷RS第六十二頁,共一百零三頁,2022年,8月28日除(續(xù))[例6]設(shè)關(guān)系R、S分別為下圖的(a)和(b),R÷S的結(jié)果為圖(c)第六十三頁,共一百零三頁,2022年,8月28日分析在關(guān)系R中,A可以取四個值{a1,a2,a3,a4}a1的象集為{(b1,c2),(b2,c3),(b2,c1)}a2的象集為{(b3,c7),(b2,c3)}a3的象集為{(b4,c6)}a4的象集為{(b6,c6)}S在(B,C)上的投影為
{(b1,c2),(b2,c1),(b2,c3)}只有a1的象集包含了S在(B,C)屬性組上的投影所以R÷S={a1}第六十四頁,共一百零三頁,2022年,8月28日關(guān)系代數(shù)的擴充運算改名廣義投影賦值外連接外部并半連接聚集第六十五頁,共一百零三頁,2022年,8月28日1.改名(Rename)改名也稱重命名,是關(guān)系代數(shù)中一種常用的附加操作功能。改名運算的形式為:
ρs(A1,A2,…,An)(R),表示將關(guān)系R重命名為S,R中的屬性依次重命名為A1,A2,…,An。如果只是希望將關(guān)系R改名成S而其屬性名稱保持不變,則此時改名運算可表示成為:ρs(R)。第六十六頁,共一百零三頁,2022年,8月28日1.改名(Rename)設(shè)給定關(guān)系R(A,B,C)和S(B,C,D),則R×S的屬性應(yīng)寫成A、R.B、R.C、S.B、S.C、D,可以通過改名運算使其屬性更為清晰,如將R×S寫成R×ρs(X,Y,D)(S),則屬性為A、B、C、X、Y、D。第六十七頁,共一百零三頁,2022年,8月28日2.廣義投影(GeneralizedProjection)廣義投影是投影運算的擴展。該運算允許在投影列表中使用算術(shù)函數(shù)來對投影進行擴展,其形式為:
ΠF1,F2,…,FK(R)
其中R為關(guān)系,F(xiàn)1,F2,…,FK是涉及關(guān)系R的屬性和常量的算術(shù)表達式。第六十八頁,共一百零三頁,2022年,8月28日2.廣義投影(GeneralizedProjection)【例3-11】給定職工關(guān)系
Employee(eno,name,department,age,sex,pay)
如要將年齡為40歲以上的職工工資上調(diào)10%,則可使用廣義投影表示為:
Πeno,name,department,age,sex,pay*1.1(σage40(Employee))第六十九頁,共一百零三頁,2022年,8月28日3.賦值(Assignment)
賦值運算的形式為:S←R,表示將關(guān)系R的結(jié)果賦值給關(guān)系S,在后續(xù)運算中,S可以代表R進行運算。在關(guān)系代數(shù)的運算中,可以通過給臨時關(guān)系變量賦值,將一個比較復(fù)雜的關(guān)系代數(shù)表達式分開書寫成若干個簡單的表達式。
第七十頁,共一百零三頁,2022年,8月28日3.賦值(Assignment)【例3-12】在關(guān)系Course中增添一門新課:
(9,藝術(shù)體操,2),可用賦值操作表示為:
Course←Course∪{9,藝術(shù)體操,2}
設(shè)學(xué)號為110203的學(xué)生因故退學(xué),請在關(guān)系Student和SC中將其相關(guān)記錄刪除,可表示為:
Student←Student-(σsno=′110203′(Student))SC←SC-(σsno=′110203′(SC))第七十一頁,共一百零三頁,2022年,8月28日4.外連接(OuterJoin)外連接如果把舍棄的元組也保存在結(jié)果關(guān)系中,而在其他屬性上填空值(Null),這種連接就叫做外連接(OUTERJOIN)。左外連接如果只把左邊關(guān)系R中要舍棄的元組保留就叫做左外連接(LEFTOUTERJOIN或LEFTJOIN)右外連接如果只把右邊關(guān)系S中要舍棄的元組保留就叫做右外連接(RIGHTOUTERJOIN或RIGHTJOIN)。第七十二頁,共一百零三頁,2022年,8月28日4.外連接(OuterJoin)ABCabcbbfcadBCDbcdbceadbefg【例3-13】如表3-15(a)、(b)所示,給定關(guān)系R和S,則二者的自然連接、左外連接、右外連接和全外連接分別如表3-15(c)、(d)、(e)、(f)所示。ABCDabcdabcecadb(a)關(guān)系R
(b)關(guān)系S(c)自然連接第七十三頁,共一百零三頁,2022年,8月28日4.外連接(OuterJoin)ABCDabcdabcecadbbbfnullABCDabcdabcecadbnullefgABCDabcdabcecadbbbfnullnullefg(d)左外連接
(e)右外連接
(f)全外連接
第七十四頁,共一百零三頁,2022年,8月28日5.外部并(OuterUnion)外部并是并運算的擴展。外部并就是針對這一問題提出的一種擴展運算:設(shè)關(guān)系R和S的關(guān)系模式不同,則R和S的外部并是由R和S的所有屬性組成(公共屬性只取一次)的一種新關(guān)系,記為R∪S,該關(guān)系的元組由屬于R或S的所有元組組成,同時元組在新增加的屬性上填充空值(null)。
第七十五頁,共一百零三頁,2022年,8月28日5.外部并(OuterUnion)【例3-14】表3-15中關(guān)系R和S的外部并運算結(jié)果如表3-16所示。ABCDabcnullbbfnullcadnullnullbcdnullbcenulladbnullefg表3-16關(guān)系代數(shù)外部并運算結(jié)果
第七十六頁,共一百零三頁,2022年,8月28日6.半連接(Semi-join)半連接是建立在自然連接基礎(chǔ)上的一種擴展運算。該運算的作用是從關(guān)系R中篩選出與關(guān)系S進行自然連接運算可以匹配的元組集合,記作R?S,其形式化定義為:
R?S=ΠR(R?S)即關(guān)系R和S的半連接是R和S的自然連接在R的所有屬性上的投影。顯然半連接不滿足交換律,即R?S≠S?R。第七十七頁,共一百零三頁,2022年,8月28日6.半連接(Semi-join)【例3-15】表3-15中關(guān)系R和S的半連接運算結(jié)果如表3-17(a)、(b)所示。ABCabccadBCDbcdbceadb(a)R?S
(b)S?R
第七十八頁,共一百零三頁,2022年,8月28日7.聚集(Aggregate)聚集運算是指輸入一個值的集合,然后根據(jù)該值的集合得到一個單一的值作為結(jié)果。常用的聚集運算有求最大值max、最小值min、平均值avg、求和sum和計數(shù)count等。第七十九頁,共一百零三頁,2022年,8月28日7.聚集(Aggregate)【例3-16】設(shè)有職工關(guān)系
Employee(eno,name,department,age,sex,pay)
進行以下查詢。(1)計算男職工的平均年齡,則用聚集運算表示為:
avgage(σsex=′男′(Employee))(2)計算女職工的最高工資,則用聚集運算表示為:
maxpay(σsex=′女′(Employee))第八十頁,共一百零三頁,2022年,8月28日3.3.4關(guān)系代數(shù)表達式及其應(yīng)用實例【例3-17】設(shè)教務(wù)管理數(shù)據(jù)庫中有三個關(guān)系:學(xué)生關(guān)系S(SNO,SNAME,AGE,SEX)
選課關(guān)系SC(SNO,CNO,GRADE)
課程關(guān)系C(CNO,CNAME,TEACHER)第八十一頁,共一百零三頁,2022年,8月28日3.3.4關(guān)系代數(shù)表達式及其應(yīng)用實例下面用關(guān)系代數(shù)表達式表達每個查詢語句。(1)檢索學(xué)習(xí)課程號為C2的學(xué)生學(xué)號與成績。ΠSNO,GRADE(σCNO=′C2′(SC))表達式中也可以不寫屬性名,而寫上屬性列的序號,如下面表達式:Π1,3(σCNO=′C2′(SC))
(2)檢索學(xué)習(xí)課程號為C2的學(xué)生學(xué)號與姓名?!荢NO,
SNAME(σCNO=′C2′(S?SC))第八十二頁,共一百零三頁,2022年,8月28日3.3.4關(guān)系代數(shù)表達式及其應(yīng)用實例(3)檢索選修課程名為排球的學(xué)生學(xué)號與姓名。
ΠSNO,
SNAME(σCNAME=′排球′(S?SC?C))(4)檢索選修課程號為C1或C3的學(xué)生學(xué)號。
ΠSNO(σCNO=′C1′∨CNO=′C3′(SC))(5)檢索至少選修課程號為C1和C3的學(xué)生學(xué)號。
Π1(σ1=4∧2=′C1′∧5=′C3′(SC×SC))
這里(SC×SC)表示關(guān)系SC自身相乘的笛卡兒積操作。(6)檢索不學(xué)C1課的學(xué)生姓名與年齡。
ΠSNAME,AGE(S)-ΠSNAME,AGE(σCNO=‵C1‵(S?SC))第八十三頁,共一百零三頁,2022年,8月28日3.3.4關(guān)系代數(shù)表達式及其應(yīng)用實例
(7)檢索學(xué)習(xí)全部課程的學(xué)生姓名。編寫這個查詢語句的關(guān)系代數(shù)表達式過程如下:學(xué)生選課情況可用操作ΠSNO,CNO(SC)表示;全部課程可用操作ΠCNO(C)表示;學(xué)了全部課程的學(xué)生學(xué)號可用除法操作表示,操作結(jié)果是學(xué)號SNO的集合。
ΠSNO,CNO(SC)÷ΠCNO(C)
從SNO求學(xué)生姓名SNAME,可以用自然聯(lián)接和投影操作組合而成:ΠSNAME(S?(ΠSNO,CNO(SC)÷ΠCNO(C)))第八十四頁,共一百零三頁,2022年,8月28日3.3.4關(guān)系代數(shù)表達式及其應(yīng)用實例
(8)檢索所學(xué)課程包含學(xué)生S1所學(xué)課程的學(xué)生學(xué)號。
學(xué)生選課情況可用操作∏SNO,CNO(SC)表示;學(xué)生S1所學(xué)課程可用操作
ΠCNO(σSNO=‵S1‵(SC))表示;所學(xué)課程包含學(xué)生S1所學(xué)課程的學(xué)生學(xué)號,可以用除法操作求得:
ΠSNO,CNO(SC)÷ΠCNO(σSNO=‵S1‵(SC))第八十五頁,共一百零三頁,2022年,8月28日3.4關(guān)系演算元組關(guān)系演算:以元組變量作為謂詞變元的基本對象元組關(guān)系演算語言ALPHA
域關(guān)系演算:以域變量作為謂詞變元的基本對象域關(guān)系演算語言QBE第八十六頁,共一百零三頁,2022年,8月28日3.4.1元組關(guān)系演算
在元組關(guān)系演算中,元組關(guān)系演算表達式簡稱為元組表達式,其一般形式為
{t|P(t)}
式中,t是元組變量,表示一個元數(shù)固定的元組。t必須是P(t)中唯一的自由元組變量。P是公式,可以看成程序設(shè)計語言中的條件表達式。第八十七頁,共一百零三頁,2022年,8月28日1.原子公式(Atoms)
元組表達式中的公式由原子公式組成,原子公式有下列三種形式。
(1)R(t):R是關(guān)系名,t是元組變量。
R(t)表示這樣一個命題:“t是關(guān)系R的一個元組”。
(2)t[i]θC或Cθt[i]t[i]表示元組變量t的第i個分量,C是常量,θ為算術(shù)比較運算符。
t[i]θC或Cθt[i]表示這樣一個命題:“元組t的第t個分量與C之間滿足θ運算”。例如,t[2]=5,表示“元組t的第2個分量的值等于5”。
(3)t[i]θu[j]t,u是兩個元組變量。t[i]θu[j]表示這樣一個命題:“元組t的第i個分量與元組u的第j個分量之間滿足θ運算”。例如,t[2]<u[4],表示“元組t第2個分量必須小于元組u的第4個分量”。
第八十八頁,共一百零三頁,2022年,8月28日1.原子公式(Atoms)自由變量在一個公式中,如果沒有對元組變量使用存在量詞或全稱量詞,那么這些元組變量稱為自由元組變量。上述原子公式中所出現(xiàn)的元組變量,在自身關(guān)系的范圍內(nèi)均為自由變量。約束變量若在一個公式中對元組變量使用了存在量詞或全稱量詞,則稱這些元組變量為約束變量。第八十九頁,共一百零三頁,2022年,8月28日2.公式(Formulas)(1)每個原子公式是一個公式。其中的元組變量是自由變量。(2)設(shè)P1和P2是公式,那么下列4項也是公式。P1表示命題:“若P1為真,則﹁P1為假;若P1為假,則﹁P1為真”。P1∧P2表示命題:“若P1,P2同時為真,則P1∧P2亦為真;否則,P1∧P2為假”。P1∨P2表示命題:“若P1,P2之中有一個為真或兩個均為真,則P1∨P2為真;否則,P1∨P2為假”。P1=>P2表示命題:“若P1為真同時P2為假,則P1=>P2為假;否則P1=>P2為真”。公式中的元組變量性質(zhì)(指自由性或約束性)將與P1和P2保持一致。第九十頁,共一百零三頁,2022年,8月28日2.公式(Formulas)(3)設(shè)P1是公式,t是P1中的元組變量,那么下列兩項也是公式。(t)(P1)表示命題:“若有一個t使P1為真,則(t)(P1)為真;否則,(t)(P1)為假”。(t)是一個量詞,其含義為“存在這樣的t”或“至少有這樣一個t”。元組變量t在P1中是自由的,在(t)(P1)中是約束的。P1中其他元組變量的自由或約束性質(zhì)在(t)(P1)中沒有改變。(t)(P1)表示命題:“對所有的t,使P1都為真,則(t)(P1)為真;否則,(t)(P1)為假”。(t)也是一個量詞,其含義為“對所有的t”或“對任意一個t”。元組變量t在P1中是自由的,在(t)(P1)中是約束的。P1中其他元組變量的自由或約束性質(zhì)在(t)(P1)中沒有改變。第九十一頁,共一百零三頁,2022年,8月28日2.公式(Formulas)(4)在公式中,各種運算符的優(yōu)先級從高到低依次為:θ,和,,∧和∨,=>。加括號時,括號中的運算優(yōu)先。(5)所有公式均按上述的規(guī)則經(jīng)有限次復(fù)合求得,除此之外的都不是公式。第九十二頁,共一百零三頁,2022年,8月28日3.公式等價變換
根據(jù)數(shù)理邏輯的謂詞演算規(guī)則,公式可做等價變換,下面是三個常用的等價變換。
(1)P1∧P2等價于(P1∨P2)P1∨P2等價于
(P1∧P2)(2)P1=>P2等價于
P1∨P2(3)(t)(P1(t))等價于(t)(P1(t))(t)(P1(t))等價于(t)(P1(t))第九十三頁,共一百零三頁,2022年,8月28日4.元組關(guān)系演算與關(guān)系代數(shù)的等價性(1)并操作(∪):R∪S={t|R(t)∨S(t)}(2)差操作(-):
R-S={t|R(t)∧S(t)}(3)笛卡爾乘積(×):R×S={t(m+n)|(u(m))(v(n))(R(u)∧S(v)∧t[1]=u[1]∧t[2]=u[2]∧…t[m]=u[m]∧t[m+1]=v[1]∧t[m+2]=v[2]∧…∧t[m+n]=v[n])}式中,R是m目關(guān)系,S是n目關(guān)系,t(m+n)表示t的目數(shù)為m+n。第九十四頁,共一百零三頁,2022年,8月28日4.元組關(guān)系演算與關(guān)系代數(shù)的等價性(4)投影(Π):Πi1,i2,…,ik(R)={t(k)|(u)R(u)∧t[1]=u[i1]∧t[2]=u[i2]∧…t[k]=u[ik])}(5)選擇(σ):σF(R)={t|R(t)∧F′}其中,F(xiàn)′是F在元組演算中等價的表示形式。第九十五頁,共一百零三頁,2022年,8月28日5.元組關(guān)系演算舉例【例3-19】設(shè)有一個學(xué)生-課程關(guān)系數(shù)據(jù)庫,包括學(xué)生關(guān)系(S)、課程關(guān)系(C)和選修關(guān)系(SC),用元組關(guān)系演算完成下列問題的查詢:(1)學(xué)號為1105054209的學(xué)生因故退學(xué),刪除其相關(guān)記錄。(2)在關(guān)系C中增加一門新課程(C9,網(wǎng)球,5,36,2)。(3)檢索計算機系的全體學(xué)生。(4)檢索年齡大于19歲的男生。(5)給出所有課程的名稱和學(xué)時。(6)檢索選修課程號為C5的學(xué)生學(xué)號和成績及其姓名。(7)檢索未選修“羽毛球”課程的學(xué)生的學(xué)號和姓名。(8)檢索選修課程號為C1或C3的學(xué)生的學(xué)號和姓名。(9)檢索同時選修課程號為C1和C3的學(xué)生的姓名。(10)檢索選修全部課程的學(xué)生的姓名。(11)檢索選修課程包含學(xué)生1105054105選修的課程的學(xué)生的學(xué)號,或選修課程不包含學(xué)生1105054105選修的課程的學(xué)生的姓名。第九十六頁,共一百零三頁,2022年,8月28日3.4.2域關(guān)系演算域關(guān)系演算類似于元組關(guān)系演算。域演算表達式的一般形式為:
{t1t2…tk|p(t1t2…tk)}其中,t1t2…tk為元組變量t的各個分量,統(tǒng)稱為域變量;P是一個關(guān)于自由域變量t1t2…tk的公式。
{t1t2…tk|p(t1t2…tk)}表示
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 勞動仲裁協(xié)議申請書
- 2023安全生產(chǎn)工作書面協(xié)議書七篇
- 合伙合同合作協(xié)議
- 土地糾紛調(diào)解的協(xié)議書7篇
- 北京房屋出租協(xié)議模板
- 雙方自愿離婚的協(xié)議書8篇
- 舞蹈病病因介紹
- 機械基礎(chǔ) 課件 模塊八任務(wù)一 軸
- 【中職專用】中職對口高考-機電與機制類專業(yè)-核心課-模擬試卷1(河南適用)(原卷版)
- 重慶2020-2024年中考英語5年真題回-學(xué)生版-專題09 閱讀理解之應(yīng)用文
- 營業(yè)線施工安全專項整治檢查表
- 華能煙臺發(fā)電廠2×9F級燃氣蒸汽聯(lián)合循環(huán)熱電聯(lián)產(chǎn)項目環(huán)評報告表
- 采用新工藝、新技術(shù)、新設(shè)備、新材料等的程度(工程技術(shù)標)
- 江西宏柏新材料股份有限公司功能性氣凝膠生產(chǎn)基地建設(shè)項目環(huán)評報告書
- DB33∕T 1230-2020 金屬面板保溫裝飾板外墻外保溫系統(tǒng)應(yīng)用技術(shù)規(guī)程
- 水泥物資供應(yīng)、運輸及售后服務(wù)方案
- DB13∕T 5023-2019 有限空間作業(yè)安全規(guī)范
- 日本隧道與地下工程新技術(shù)(PPT142頁)
- Tekla節(jié)點示例已全
- 胸膜間皮瘤的診治新進展
- 菌群移植途徑的選擇與建立臨床應(yīng)用中國專家共識
評論
0/150
提交評論