![北京林業(yè)大學(xué)《數(shù)據(jù)庫系統(tǒng)》第2講關(guān)系數(shù)據(jù)庫_第1頁](http://file4.renrendoc.com/view/aeec65d5dad0cff40bd5c42946554fda/aeec65d5dad0cff40bd5c42946554fda1.gif)
![北京林業(yè)大學(xué)《數(shù)據(jù)庫系統(tǒng)》第2講關(guān)系數(shù)據(jù)庫_第2頁](http://file4.renrendoc.com/view/aeec65d5dad0cff40bd5c42946554fda/aeec65d5dad0cff40bd5c42946554fda2.gif)
![北京林業(yè)大學(xué)《數(shù)據(jù)庫系統(tǒng)》第2講關(guān)系數(shù)據(jù)庫_第3頁](http://file4.renrendoc.com/view/aeec65d5dad0cff40bd5c42946554fda/aeec65d5dad0cff40bd5c42946554fda3.gif)
![北京林業(yè)大學(xué)《數(shù)據(jù)庫系統(tǒng)》第2講關(guān)系數(shù)據(jù)庫_第4頁](http://file4.renrendoc.com/view/aeec65d5dad0cff40bd5c42946554fda/aeec65d5dad0cff40bd5c42946554fda4.gif)
![北京林業(yè)大學(xué)《數(shù)據(jù)庫系統(tǒng)》第2講關(guān)系數(shù)據(jù)庫_第5頁](http://file4.renrendoc.com/view/aeec65d5dad0cff40bd5c42946554fda/aeec65d5dad0cff40bd5c42946554fda5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
2、關(guān)系數(shù)據(jù)庫本章重點2023/4/28數(shù)據(jù)庫原理及應(yīng)用教程23個要素關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)關(guān)系操作集合關(guān)系完整性約束本章目錄2023/4/28數(shù)據(jù)庫原理及應(yīng)用教程32.1關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)及形式化定義2.2關(guān)系的鍵與關(guān)系的完整性2.3關(guān)系代數(shù)2.4關(guān)系演算2.1關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)及其形式化定義2.1.1關(guān)系模型的形式化定義及其有關(guān)概念2023/4/28數(shù)據(jù)庫原理及應(yīng)用教程4域(Domain)域是一組具有相同數(shù)據(jù)類型的值的集合,又稱為值域。(用D表示)域中所包含的值的個數(shù)稱為域的基數(shù)(用m表示)。在關(guān)系中用域表示屬性的取值范圍。整數(shù)、實數(shù)和字符串的集合都是域D1={李力,王平,劉偉},m=3;D2={男,女};m=2;D3={18,20};m=2。2.1關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)及其形式化定義2023/4/28數(shù)據(jù)庫原理及應(yīng)用教程52.1.1關(guān)系模型的形式化定義及其有關(guān)概念笛卡爾積(CartesianProduct)給定一組域D1,D2,…,Dn(它們可以包含相同的元素,即可以完全不同,也可以部分或全部相同)。D1,D2,…,Dn的笛卡爾積為D1×D2×……×Dn={(d1,d2,…,dn)|di∈Di,i=1,2,…,n}每一個元素(d1,d2,…,dn)中的每一個值di叫做一個分量(Component),di∈Di每一個元素(d1,d2,…,dn)叫做一個n元組(n-Tuple),簡稱元組(Tuple)2.1關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)及其形式化定義2023/4/28數(shù)據(jù)庫原理及應(yīng)用教程6
笛卡爾積D1×D2×…×Dn的基數(shù)M(即元祖(d1,d2,…,dn)的個數(shù))為所有域的基數(shù)的累乘之積,即M=。例如,上述表示教師關(guān)系中姓名、性別兩個域的笛卡爾積為:
D1×D2={(李力,男),(李力,女),(王平,男),(王平,女),(劉偉,男),(劉偉,女)} 分量:李力、王平、劉偉、男、女元組:(李力,男),(李力,女),M=m1×m2=3×2=62.1.1關(guān)系模型的形式化定義及其有關(guān)概念笛卡爾積(CartesianProduct)D1={李力,王平,劉偉},m1=3;D2={男,女};m2=2;D1×D2的M=m1×m2=3×2=62023/4/28北京林業(yè)大學(xué)軟件教研室7
姓名性別李力男李力女王平男王平女劉偉男劉偉女元組同一域2.1關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)及其形式化定義笛卡爾積可用二維表的形式笛卡爾積實際是一個二維表2.1.1關(guān)系模型的形式化定義及其有關(guān)概念笛卡爾積(CartesianProduct)R(D1,D2…,Dn)2023/4/28北京林業(yè)大學(xué)軟件教研室8關(guān)系的名字n是關(guān)系的目或度姓名性別李力男王平女劉偉男如,上例D1×D2笛卡爾積的某個子集可以構(gòu)成教師關(guān)系T12.1關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)及其形式化定義2.1.1關(guān)系模型的形式化定義及其有關(guān)概念關(guān)系(Relation)笛卡爾積D1×D2×…×Dn的任一子集稱為定義在域D1,D2,…,Dn上的n元關(guān)系(Relation)2023/4/28北京林業(yè)大學(xué)軟件教研室9在關(guān)系R中,當(dāng)n=1時,稱為單元關(guān)系。當(dāng)n=2時,稱為二元關(guān)系,以此類推。關(guān)系中的每個元素是關(guān)系中的元組,通常用t表示,關(guān)系中元組個數(shù)是關(guān)系的基數(shù)由于關(guān)系是笛卡爾積的子集,因此,也可以把關(guān)系看成一個二維表。具有相同關(guān)系框架的關(guān)系稱為同類關(guān)系。姓名性別李力男王平女劉偉男元組域?qū)傩詫傩缘拿治┮?/p>
2.1關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)及其形式化定義2.1.1關(guān)系模型的形式化定義及其有關(guān)概念關(guān)系(Relation)關(guān)系頭(Heading)+關(guān)系體(Body)
2023/4/28北京林業(yè)大學(xué)軟件教研室10姓名性別李力男李力女不符合實際意義的關(guān)系在關(guān)系模型中,關(guān)系可進一步定義為:
由屬性名的集合組成關(guān)系結(jié)構(gòu)中的內(nèi)容或者數(shù)據(jù)不變可變2.1關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)及其形式化定義2.1.1關(guān)系模型的形式化定義及其有關(guān)概念關(guān)系(Relation)2023/4/28北京林業(yè)大學(xué)軟件教研室112.1關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)及其形式化定義一種規(guī)范化了的二維表中行的集合2.1.2關(guān)系的性質(zhì)每一列中的分量必須來自同一個域,必須是同一類型的數(shù)據(jù)。不同的列可來自同一個域,每一列稱為屬性,不同的屬性必須有不同的名字。列的順序可以任意交換,名字同時換。關(guān)系中元組的順序(即行序)可任意。關(guān)系中每一分量必須是不可分的數(shù)據(jù)項。2023/4/28北京林業(yè)大學(xué)軟件教研室12姓名籍貫省市/縣張強吉林長春王麗山西大同姓名省市/縣張強吉林長春王麗山西大同2.1關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)及其形式化定義非規(guī)范化的關(guān)系向規(guī)范化關(guān)系轉(zhuǎn)換2.1.2關(guān)系的性質(zhì)籍貫含有省、市/縣兩項,出現(xiàn)了“表中有表”的現(xiàn)象,則為非規(guī)范化關(guān)系,而應(yīng)把籍貫分成省、市/縣兩列,將其規(guī)范化,2023/4/28北京林業(yè)大學(xué)軟件教研室13R(U,D,DOM,F(xiàn))屬性名
2.1關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)及其形式化定義2.1.3關(guān)系模式關(guān)系的描述稱為關(guān)系模式(RelationSchema)R--關(guān)系名U--屬性名集合D--屬性所來自的域DOM--屬性向域的映像集合F--屬性間數(shù)據(jù)的依賴關(guān)系集合簡記為:R(U)或R(A1,A2,…,An)2023/4/28數(shù)據(jù)庫原理及應(yīng)用教程142.1關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)及其形式化定義2.1.3關(guān)系模式在教學(xué)數(shù)據(jù)庫中,其關(guān)系模式可分別表示為:學(xué)生(學(xué)號,姓名,性別,年齡,系別)教師(教師號,姓名,性別,年齡,職稱,工資,崗位津貼,系別)課程(課程號,課程名,課時)選課(學(xué)號,課程號,成績)授課(教師號,課程號)關(guān)系模型關(guān)系關(guān)系頭關(guān)系體靜態(tài)、穩(wěn)定,固定不變隨數(shù)據(jù)更新不斷變化2023/4/28北京林業(yè)大學(xué)軟件教研室152.1關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)及其形式化定義2.1.4關(guān)系數(shù)據(jù)庫與關(guān)系數(shù)據(jù)庫模式結(jié)構(gòu)內(nèi)容本章目錄2023/4/28數(shù)據(jù)庫原理及應(yīng)用教程162.1關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)及形式化定義2.2關(guān)系的鍵與關(guān)系的完整性2.3關(guān)系代數(shù)3.4關(guān)系演算2023/4/28數(shù)據(jù)庫原理及應(yīng)用教程172.2關(guān)系的鍵與關(guān)系的完整性2.2.1候選鍵與主關(guān)系鍵候選鍵(CandidateKey)“學(xué)生關(guān)系”中的學(xué)號能惟一標(biāo)識每一個學(xué)生“選課關(guān)系”中,只有屬性的組合“學(xué)號+課程號”才能惟一地區(qū)分每一條選課記錄能惟一標(biāo)識關(guān)系中元組的一個屬性或?qū)傩约?,稱為候選鍵(CandidateKey)
候選鍵性質(zhì)唯一性最小性2023/4/28數(shù)據(jù)庫原理及應(yīng)用教程182.2關(guān)系的鍵與關(guān)系的完整性2.2.1候選鍵與主關(guān)系鍵主關(guān)系鍵(PrimaryKey)“學(xué)生關(guān)系”中的以學(xué)號作為數(shù)據(jù)操作的依據(jù)“學(xué)生關(guān)系”中的以姓名作為數(shù)據(jù)操作的依據(jù)從多個候選鍵中選擇一個作為查詢、插入或刪除元組的操作變量,被選用的候選鍵稱為主關(guān)系鍵(主鍵,主碼,關(guān)系鍵,關(guān)鍵字)。每個關(guān)系必定有且僅有一個主關(guān)系鍵,選定后不能重復(fù)!2023/4/28數(shù)據(jù)庫原理及應(yīng)用教程192.2關(guān)系的鍵與關(guān)系的完整性2.2.1候選鍵與主關(guān)系鍵主屬性(PrimeAttribute)與主屬性(Non-PrimeAttribute)主屬性:包含在主關(guān)系鍵中的各個屬性稱為主屬性非主屬性:不包含在任何候選鍵中的屬性稱為非碼屬性(或非主屬性)全碼:所有屬性的組合是關(guān)系的候選鍵教師T課程C1:nn:1學(xué)生S課程C1:nn:1教師T學(xué)生S課程Cn:nn:nn:n候選碼為(T,C,S)全碼
2023/4/28數(shù)據(jù)庫原理及應(yīng)用教程202.2關(guān)系的鍵與關(guān)系的完整性2.2.2外部關(guān)系鍵如果關(guān)系R2的一個或一組屬性X不是R2的主碼,而是另一個關(guān)系R1的主碼,則該屬性活屬性組X稱為關(guān)系R2的外部關(guān)鍵鍵或外碼(ForeignKey),并稱R2為參照關(guān)系(ReferencingRelation),關(guān)系R1稱為被參照關(guān)系(ReferencedRelation)。被參照關(guān)系的主碼和參照關(guān)系的外碼必須定義在同一個域上2023/4/28數(shù)據(jù)庫原理及應(yīng)用教程212.2關(guān)系的鍵與關(guān)系的完整性2.2.3關(guān)系的完整性完整性約束實體完整性參照完整性用戶自定義完整性必須滿足體現(xiàn)具體領(lǐng)域中的語義約束2023/4/28數(shù)據(jù)庫原理及應(yīng)用教程222.2關(guān)系的鍵與關(guān)系的完整性2.2.3關(guān)系的完整性參照完整性!未分配系別2023/4/28數(shù)據(jù)庫原理及應(yīng)用教程232.2關(guān)系的鍵與關(guān)系的完整性2.2.3關(guān)系的完整性用戶定義完整性(User-definedIntegrity):針對某一具體關(guān)系數(shù)據(jù)庫的約束條件反映某一具體應(yīng)用所涉及的數(shù)據(jù)必須滿足的語義要求如:成績屬性的取值范圍在0-100之間本章目錄2023/4/28數(shù)據(jù)庫原理及應(yīng)用教程242.1關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)及形式化定義2.2關(guān)系的鍵與關(guān)系的完整性2.3關(guān)系代數(shù)3.4關(guān)系演算2023/4/28數(shù)據(jù)庫原理及應(yīng)用教程252.3關(guān)系代數(shù)關(guān)系模型關(guān)系數(shù)據(jù)結(jié)構(gòu)關(guān)系操作關(guān)系完整性約束查詢更新插入刪除修改關(guān)系操作的對象是集合關(guān)系代數(shù)關(guān)系演算元組關(guān)系演算域關(guān)系演算關(guān)系運算符謂詞元組對象域?qū)ο?023/4/28北京林業(yè)大學(xué)軟件教研室262.3關(guān)系代數(shù)關(guān)系代數(shù)是一種抽象的查詢語言
關(guān)系代數(shù)的運算對象與運算結(jié)果都是關(guān)系關(guān)系代數(shù)運算符∪-∩
×∏∞*÷>,≥<,≤=,≠∧∨┐集合運算符
關(guān)系運算符
比較運算符邏輯運算符2.2.1關(guān)系代數(shù)的分類及其運算符2023/4/28北京林業(yè)大學(xué)軟件教研室272.3關(guān)系代數(shù)2.2.1關(guān)系代數(shù)的分類及其運算符關(guān)系代數(shù)的運算按運算符的不同主要分為兩類:傳統(tǒng)的集合運算:把關(guān)系看成元組的集合,以元組作為集合中元素來進行運算,其運算是從關(guān)系的“水平”方向即行的角度進行的。包括并、差、交和笛卡爾積等運算。專門的關(guān)系運算:不僅涉及行運算,也涉及列運算,這種運算是為數(shù)據(jù)庫的應(yīng)用而引進的特殊運算。包括選取、投影、連接和除法等運算。2023/4/28北京林業(yè)大學(xué)軟件教研室282.3關(guān)系代數(shù)2.2.2傳統(tǒng)的集合運算傳統(tǒng)集合(除笛卡爾積)是典型的二目運算,因此,需要在兩個關(guān)系中進行,兩個關(guān)系R、S,若滿足:(1)
具有相同的度n;(2)
R中第i個屬性和S中第i個屬性必須來自同一個域。(列同質(zhì))則說關(guān)系R、S是相容的。除笛卡爾積外,其他的集合運算要求參加運算的關(guān)系必須滿足上述的相容性定義。2023/4/28數(shù)據(jù)庫原理及應(yīng)用教程292.3關(guān)系代數(shù)2.2.2傳統(tǒng)的集合運算并(Union):R∪S={t|t∈R∨t∈S}差(Difference):R-S={t|t∈R∧┐t∈S}交(Intersection):R∩S={t|t∈R∧t∈S}廣義笛卡爾積(ExtendedCartesianProduct):R×S={tr⌒ts|tr∈R∧ts∈S}R∩S=R-(R-S)2023/4/28北京林業(yè)大學(xué)軟件教研室30如圖(a)、(b)所示的兩個關(guān)系R與S為相容關(guān)系,(c)為R與S
的并,(d)為R與S的交,(e)為R與S的差,(f)為R與S的廣義笛卡爾積。
ABCABCa1b1c1a1b1c1a1b1c2a2b2c1a2b2c1a2b3c2
(a)(b)
RS2.3關(guān)系代數(shù)2.2.2傳統(tǒng)的集合運算2023/4/28北京林業(yè)大學(xué)軟件教研室31ABCa1b1c1a2b2c1
R∩S
(d)ABCa1b1c2(e)R-SABCa1b1c1a1b1c2a2b2c1a2b3c2R∪S
(c)2.3關(guān)系代數(shù)2.2.2傳統(tǒng)的集合運算2023/4/28北京林業(yè)大學(xué)軟件教研室32ABCABCa1b1c1a1b1c1a1b1c1a2b2c1a1b1c1a2b3c2a1b1c2a1b1c1a1b1c2a2b2c1a1b1c2a2b3c2a2b2c1a1b1c1a2b2c1a2b2c1a2b2c1a2b3c2(f)R×S2.3關(guān)系代數(shù)2.2.2傳統(tǒng)的集合運算2023/4/28北京林業(yè)大學(xué)軟件教研室33(1)設(shè)關(guān)系模式為R(A1,A2,……An),它的一個關(guān)系為R,t∈R表示t是R的一個元組,t[Ai]則表示元組t中相應(yīng)于屬性Ai的一個分量。2.3關(guān)系代數(shù)2.2.3專門的關(guān)系運算符由于傳統(tǒng)的集合運算,只是從行的角度進行,而要靈活地實現(xiàn)關(guān)系數(shù)據(jù)庫多樣的查詢操作,必須引入專門的關(guān)系運算。在講專門的關(guān)系運算之前,為敘述上的方便先引入幾個概念。2023/4/28北京林業(yè)大學(xué)軟件教研室34(2)若A={Ai1,Ai2,……,Aik},其中Ai1,Ai2,……,Aik是A1,A2,……,An中的一部分,則A稱為屬性列或域列,?則表示{A1,A2,……,An}中去掉{Ai1,Ai2,……,Aik}后剩余的屬性組。t[A]={t[Ai1],t[Ai2],……,t[Aik]}表示元組t在屬性列A上諸分量的集合。2.2.3專門的關(guān)系運算符2.3關(guān)系代數(shù)(3)R為n目關(guān)系,S為m目關(guān)系,tr∈R,ts∈S,tr⌒ts稱為元組的連接(concatenation),它是一個n+m列的元組,前n個分量為R的一個n元組,后m個分量為S中的一個m元組。2023/4/28數(shù)據(jù)庫原理及應(yīng)用教程352.2.3專門的關(guān)系運算符2.3關(guān)系代數(shù)(4)給定一個關(guān)系R(X,Z),X和Z為屬性組,定義當(dāng)t[X]=x時,x在R中的象集(imageset),為Zx={t[Z]|t∈R,t[X]=x},它表示R中的屬性組X上值為x的諸元組在Z上分量的集合。2023/4/28數(shù)據(jù)庫原理及應(yīng)用教程362.2.3專門的關(guān)系運算符2.3關(guān)系代數(shù)2023/4/28北京林業(yè)大學(xué)軟件教研室37選?。⊿election)F(R)={t|t∈R∧F(t)='真'}[例2-5]查詢計算機系的全體學(xué)生
Dept='計算機'(S)從行的角度進行的運算F為選取的條件SNOSNSexAgeDeptS1趙亦女17計算機S2錢爾男18信息S3孫珊女20信息S4李思男21自動化S5周武男19計算機S6吳麗女20自動化S(學(xué)生關(guān)系)2.3關(guān)系代數(shù)2.2.3專門的關(guān)系運算符2023/4/28北京林業(yè)大學(xué)軟件教研室38[例2-6]查詢工資高于1000元的男教師
(Sal>1000)∧(Sex='男')(T)TNOTNSexAgeProfSalCommDeptT1李力男47教授15003000計算機T2王平女28講師8001200信息T3劉偉男30講師9001200計算機T4張雪女51教授16003000自動化T5張?zhí)m女39副教授13002000信息T(教師關(guān)系)2023/4/28北京林業(yè)大學(xué)軟件教研室39投影(Projection)
ΠA(R)={t[A]|t∈R}[例2-7]查詢教師的姓名、教師號及其職稱。ΠTN,TNo,Prof(T)A為R中的屬性列從列的角度進行的運算TNOTNSexAgeProfSalCommDeptT1李力男47教授15003000計算機T2王平女28講師8001200信息T3劉偉男30講師9001200計算機T4張雪女51教授16003000自動化T5張?zhí)m女39副教授13002000信息T教師關(guān)系2.3關(guān)系代數(shù)2.2.3專門的關(guān)系運算符2023/4/28北京林業(yè)大學(xué)軟件教研室40[例2-8]查詢教師關(guān)系中有哪些系ΠDept(T)TNOTNSexAgeProfSalCommDeptT1李力男47教授15003000計算機T2王平女28講師8001200信息T3劉偉男30講師9001200計算機T4張雪女51教授16003000自動化T5張?zhí)m女39副教授13002000信息T(教師關(guān)系)Dept計算機信息計算機自動化信息投影后不但減少了屬性,元組也可以減少,新關(guān)系與原關(guān)系不相容。2023/4/28北京林業(yè)大學(xué)軟件教研室41
TNOCNT1C1T1C4T2C5T3C1T3C5T4C2T4C3T5C5T5C7TC(授課關(guān)系)ΠTNo(σCNo='C5'(TC))[例2-9]查詢講授C5課程的教師號選取運算和投影運算的組合操作2023/4/28北京林業(yè)大學(xué)軟件教研室42連接(Join)
={t
r⌒ts|tr∈R∧ts∈S∧tr[X]ts[Y]為真}為算術(shù)比較運算符
自然連接:在等值連接的情況下,當(dāng)連接屬性X與Y具有相同屬性組時,把在連接結(jié)果中重復(fù)的屬性列去掉,記為:R*S
=等值連接<小于連接>大于連接2.3關(guān)系代數(shù)2.2.3專門的關(guān)系運算符2023/4/28北京林業(yè)大學(xué)軟件教研室43 [例2-10]設(shè)有如圖(a)、(b)所示的兩個關(guān)系R與S,(c)為R和S的大于連接(C>D),(d)為R和S的等值連接(C=D),(e)為R和S的等值連接(R.B=S.B),(f)為R和S的自然連接。(a)(b)2023/4/28北京林業(yè)大學(xué)軟件教研室44(c)
(d)(f)
(e)
2023/4/28北京林業(yè)大學(xué)軟件教研室45等值連接與自然連接的區(qū)別自然連接要求相等屬性值的屬性名相同,而等值連接不要求自然連接是去掉重復(fù)列的等值連接[例2-11]查詢講授“數(shù)據(jù)庫”課程的教師姓名。ΠTN(CN='數(shù)據(jù)庫'(C)*TC*ΠTNo,TN(T))或ΠTN(ΠTNo(CN='數(shù)據(jù)庫'(C)*TC)*ΠTNo,TN(T))2.3關(guān)系代數(shù)2.2.3專門的關(guān)系運算符T(TNO,TN,Sex,Age,Prof,Sal,Comm,Dept)S(SNO,SN,Sex,Age,Dept)C(CNO,CN,CT)SC(SNO,CNO,Score)TC(TNO,CNO)2023/4/28北京林業(yè)大學(xué)軟件教研室46除法(Division)R÷S={tr[X]|tr∈R∧Πy(S)Yx}元組在X上分量值x的像集Yx包含S在Y的投影集合除法運算同時從行和列的角度進行運算,適合于包含“全部”之類的短語的查詢。Yx為x在R中的象集,x=tr[X]2.3關(guān)系代數(shù)2.2.3專門的關(guān)系運算符2023/4/28北京林業(yè)大學(xué)軟件教研室47已知關(guān)系R和S,如圖2-11(a),(b)所示,則R÷S如圖(c)所示。ABCDa1b2c3d5a1b2c4d6a2b4c1d3a3b5c2d8R(a)CDFc3d5f3c4d6f4S(b)2.3關(guān)系代數(shù)2.2.3專門的關(guān)系運算符2023/4/28北京林業(yè)大學(xué)軟件教研室48ABa1b2R÷S(c)與除法的定義相對應(yīng),本題中
X={A,B}={(a1,b2),(a2,b4),(a3,b5)},Y={C,D}={(c3,d5),(c4,d6)}Z={F}={f3,f4}其中,元組在X上各個分量值的象集分別為:(a1,b2)的象集為{(c3,d5),(c4,d6)}(a2,b4)的象集為{(c1,d3)}(a3,b5)的象集為{(c2,d8)}S在Y上的投影為{(c3,d5),(c4,d6)}顯然只有(a1,b2)的象集包含S在Y上的投影,所以R÷S={(a1,b2)}2.3關(guān)系代數(shù)2.3.3專門的關(guān)系運算符2023/4/28北京林業(yè)大學(xué)軟件教研室49[例2-13]查詢選修了全部課程的學(xué)生學(xué)號和姓名。
ΠSNo,CNo(SC)÷ΠCNo(C)*ΠSNo,SN(S)[例2-14]查詢至少選修了C1課程和C3課程的學(xué)生學(xué)號。
ΠSNo,CNo(SC)÷ΠCNo(CNo='C1'∨CNo='C3'(C))只有S4同學(xué)的象集至少包含了C1課程和C3課程,因此,查詢結(jié)果為S4。2.3關(guān)系代數(shù)2.2.3專門的關(guān)系運算符課上練習(xí)T(TNO,TN,Sex,Age,Prof,Sal,Comm,Dept)S(SNO,SN,Sex,Age,Dept)C(CNO,CN,CT)SC(SNO,CNO,Score)TC(TNO,CNO)查詢T1老師所教授的課程的課程號和課程名查詢選修了課程號為C1和C2的學(xué)生的學(xué)號和姓名查詢至少選修“劉偉”老師所教授全部課程的學(xué)生姓名1.查詢年齡大于18歲的男同學(xué)的學(xué)號、姓名和系別2.查詢學(xué)號為S1的同學(xué)所選修課程的課程號、課程名、成績3.查詢選修了全部課程的學(xué)生的學(xué)號和姓名2023/4/28數(shù)據(jù)庫原理及應(yīng)用教程50本章目錄2023/4/28數(shù)據(jù)庫原理及應(yīng)用教程512.1關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)及形式化定義2.2關(guān)系的鍵與關(guān)系的完整性2.3關(guān)系代數(shù)3.4關(guān)系演算北京林業(yè)大學(xué)軟件教研室522.4關(guān)系演算關(guān)系代數(shù)過程化語言,怎樣做關(guān)系演算非過程化語言,做什么北京林業(yè)大學(xué)軟件教研室52元組關(guān)系演算域關(guān)系演算ALPHA語言QUEL語言QBE語言關(guān)系演算關(guān)系演算語言用數(shù)理邏輯中的謂詞演算來表達關(guān)系的操作。用查詢的結(jié)果應(yīng)滿足的謂詞條件來表達查詢要求。2023/4/28數(shù)據(jù)庫原理及應(yīng)用教程53關(guān)系演算關(guān)系R的表示用集合描述法建立謂詞與關(guān)系間的聯(lián)系。關(guān)系R可以看成是滿足一定條件的元組或?qū)傩杂虻募?。R=uR(u)
u可為元組變量或域變量
R(u)是一個謂詞2023/4/28數(shù)據(jù)庫原理及應(yīng)用教程54關(guān)系演算關(guān)系R的查詢表示查詢的形式
t
(t)
t為元組變量,即查詢的目標(biāo)稱為元組演算公式,即查詢的條件用到變量t(t)是布爾值true或false
t
(t)表示使(t)為真的元組t的集合。2023/4/28數(shù)據(jù)庫原理及應(yīng)用教程55關(guān)系演算(t)中最小單位:原子公式原子公式R(t):表示t是R中的元組。t[i]θu[j]:表示“元組t的第i個分量與元組u的第j個分量進行比較運算θ”。t[i]θC
:表示“元組t的第i個分量與常量C進行比較運算θ”2023/4/28數(shù)據(jù)庫原理及應(yīng)用教程56關(guān)系演算(t)的其他特殊單位約束變量與自由變量若元組演算公式中的一個元組變量前有“全稱量詞”和“存在量詞”,則稱該變量為約束元組變量,否則稱自由元組變量。在公式(t)(t)和(
t)(t)中,稱為是量詞的轄域。t出現(xiàn)在(t)或(t)的轄域內(nèi),t為約束元組變量,被量詞所綁定。任何沒有以這種方法顯示綁定的變量都稱為自由變量。2023/4/28數(shù)據(jù)庫原理及應(yīng)用教程57關(guān)系演算(t)的遞歸定義原子公式是公式。設(shè)1(t1)和2(t2)是公式,則┐1(t1),1(t1)∧2(t2),1(t1)∨2(t2)也是公式。設(shè)(t)是公式,t是(t)中的元組變量,則(t)(t),(t)(t)也是公式。有限次使用上述規(guī)則得到的式子都是公式。2023/4/28數(shù)據(jù)庫原理及應(yīng)用教程58關(guān)系演算(t)中運算符的優(yōu)先級公式運算符算術(shù)比較符:<,>,≤,≥,≠,=
存在量詞和全稱量詞
邏輯運算符:?,∧,∨,→
2023/4/28數(shù)據(jù)庫原理及應(yīng)用教程59高低關(guān)系演算元組關(guān)系演算與關(guān)系代數(shù)的關(guān)系并操作tR(t)∨S(t)2023/4/28數(shù)據(jù)庫原理及應(yīng)用教程60RSR∪SABCdafbgaABCabcdafcbdbgaABCabcdafcbd關(guān)系演算元組關(guān)系演算與關(guān)系代數(shù)的關(guān)系差操作tR(t)∧?S(t)2023/4/28數(shù)據(jù)庫原理及應(yīng)用教程61RSR–SABCabccbdABCbgadafABCabcdafcbd關(guān)系演算元組關(guān)系演算與關(guān)系代數(shù)的關(guān)系投影操作t(2)(u)(R(u)∧t[1]=u[1]∧t[2]=u[3])2023/4/28數(shù)據(jù)庫原理及應(yīng)用教程62ABCabcdafcbdRπA,C(R)ACacdfcd關(guān)系演算元組關(guān)系演算與關(guān)系代數(shù)的關(guān)系笛卡兒積操作t(5)(u)(v)(R(u)∧S(v)∧t[1]=u[1]∧t[2]=u[2]∧t[3]=u[3]∧t[4]=v[1]∧t[5]=v[2])2023/4/28數(shù)據(jù)庫原理及應(yīng)用教程63ABCa1b1C1a1b2C3DEb1c1b1c1b2c2RSABCDEa1b1c1b1c1a1b1c1b1c1a1b1c1b2c2a1b2c3b1c1a1b2c3b1c1a1b2c3b2c2RxS關(guān)系演算元組關(guān)系演算與關(guān)系代數(shù)的關(guān)系用元組演算表達式實現(xiàn)查詢給定一個數(shù)據(jù)庫,元組關(guān)系演算查詢的結(jié)果是數(shù)據(jù)庫中能使查詢條件為真的變量t的值的所有選擇的集合。根據(jù)查詢條件書寫關(guān)系演算表達式,要分析查詢的語義,用相應(yīng)的公式去表達。并注意約束變量和自由變量的使用。2023/4/28數(shù)據(jù)庫原理及應(yīng)用教程64【例】應(yīng)用實例數(shù)據(jù)庫中的關(guān)系模式
65學(xué)生關(guān)系:S(學(xué)號、姓名、性別、年齡)課程關(guān)系:C(課程號、課程名、先修課程號)選課關(guān)系:SC(學(xué)號、課程號、成績)3.3關(guān)系演算66(1)查詢學(xué)生年齡大于等于20歲的學(xué)生姓名學(xué)號姓名性別年齡S1王小艷女18S2李明男20S3司馬南男18S4李昕女19S5成功男21學(xué)生關(guān)系:S(學(xué)號、姓名、性別、年齡)課程關(guān)系:C(課程號、課程名、先修課程號)選課關(guān)系:SC(學(xué)號、課程號、成績){t(1)
(u)(S(u)∧u[4]≥20∧t[1]=u[2])}u3.3關(guān)系演算67(2)查詢學(xué)號為“S1”的學(xué)生選修的課程中其成績?yōu)椤?8”的所有課程號學(xué)號課程號成績S1C198S1C478S2C188S1C298S1C389學(xué)生關(guān)系:S(學(xué)號、姓名、性別、年齡)課程關(guān)系:C(課程號、課程名、先修課程號)選課關(guān)系:SC(學(xué)號、課程號、成績)u
{t(1)
(u)(SC(u)∧u[1]=‘S1’∧u[3]=‘98’∧t[1]=u[2])}3.3關(guān)系演算68(3)查詢選修了課程名為“操作系統(tǒng)”課程的所有學(xué)生的姓名學(xué)生關(guān)系:S(學(xué)號、姓名、性別、年齡)課程關(guān)系:C(課程號、課程名、先修課程號)選課關(guān)系:SC(學(xué)號、課程號、成績)
{t(1)(u)(v)(w)(S(u)∧SC(v)∧C(w)∧w[2]=‘操作系統(tǒng)’
∧v[2]=w[1]∧u[1]=v[1]∧t[1]=u[2])}3.3關(guān)系演算69學(xué)號姓名性別年齡S1王小艷女18S2李明男20S3司馬南男18S4李昕女19S5成功男21課程號課程名先修課程號C1數(shù)據(jù)庫C2C2操作系統(tǒng)C1C3數(shù)據(jù)結(jié)構(gòu)C1C4微機原理C3學(xué)號課程號成績S1C198S1C478S2C288S1C298S1C389SC(v)C(w)S(u)
{t(1)(u)(v)(w)(S(u)∧SC(v)∧C(w)∧w[2]=‘操作系統(tǒng)’
∧v[2]=w[1]∧u[1]=v[1]∧t[1]=u[2])}(u)(S(u)∧u[1]=v[1]∧Q)w(w)(C(w)∧
w[2]=‘操作系統(tǒng)’
)用P表示(v)(SC(v)∧v[2]=w[1]
∧P)用Q表示vu70
(4)查詢選修所有課程的學(xué)生姓名學(xué)生關(guān)系:S(學(xué)號、姓名、性別、年齡)課程關(guān)系:C(課程號、課程名、先修課程號)選課關(guān)系:SC(學(xué)號、課程號、成績)
{t(1)(u)(v)(w)(S(u)∧C(v)∧SC(w)∧u[1]=w[1]∧w[2]=v[1]∧t[1]=u[2])}3.3關(guān)系演算71學(xué)號姓名性別年齡S1王小艷女18S2李明男20S3司馬南男18S4李昕女19S5成功男21課程號課程名先修課程號C1數(shù)據(jù)庫C2C2操作系統(tǒng)C1C3數(shù)據(jù)結(jié)構(gòu)C1C4微機原理C3學(xué)號課程號成績S1C198S1C478S2C288S1C298S1C389SC(w)C(v)S(u){t(1)(u)(v)(w)(S(u)∧C(v)∧SC(w)∧u[1]=w[1]∧
w[2]=v[1]∧t[1]=u[2])}u(v)C(v)(v)(w)(C(v)∧SC(w)∧w[2]=v[1])(u)(v)(w)(S(u)∧C(v)∧SC(w)∧u[1]=w[1]∧w[2]=v[1])72
(5)查詢不學(xué)“C2”課程的學(xué)生姓名與年齡;學(xué)生關(guān)系:S(學(xué)號、姓名、性別、年齡)課程關(guān)系:C(課程號、課程名、先修課程號)選課關(guān)系:SC(學(xué)號、課程號、成績)
{t(2)(u)(S(u)∧(v)(SC(v)∧(u[1]=v[1]→v[2]≠’C2’
))
∧t[1]=u[2]∧t[2]=u[4]
)}
3.3關(guān)系演算73
(6)查詢至少選修學(xué)號為“S1”的學(xué)生所選修的所有課程的學(xué)生的學(xué)號學(xué)生關(guān)系:S(學(xué)號、姓名、性別、年齡)課程關(guān)系:C(課程號、課程名、先修課程號)選課關(guān)系:SC(學(xué)號、課程號、成績)3.3關(guān)系演算本查詢可以用邏輯蘊涵來表達:查詢學(xué)號為X的學(xué)生,對所有的課程Y,只要S1學(xué)生選修課程Y,則X也選修了
溫馨提示
- 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)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 胸外科護士工作心得
- 2025年全球及中國單擺銑頭行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025-2030全球倒置行星滾柱絲杠行業(yè)調(diào)研及趨勢分析報告
- 2025年全球及中國虛擬試穿平臺行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025年全球及中國汽車天線定位器行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025年全球及中國重載有軌穿梭小車(RGV)行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025年全球及中國絲素蛋白敷料行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025-2030全球直線式桁架機器人行業(yè)調(diào)研及趨勢分析報告
- 2025-2030全球裝運前檢驗(PSI)服務(wù)行業(yè)調(diào)研及趨勢分析報告
- 2025年全球及中國電子鑰匙柜行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 江西省部分學(xué)校2024-2025學(xué)年高三上學(xué)期1月期末英語試題(含解析無聽力音頻有聽力原文)
- GA/T 2145-2024法庭科學(xué)涉火案件物證檢驗實驗室建設(shè)技術(shù)規(guī)范
- 2024年中考語文試題分類匯編:非連續(xù)性文本閱讀(學(xué)生版)
- 2024年度窯爐施工協(xié)議詳例細則版B版
- 第一屆山東省職業(yè)能力大賽濟南市選拔賽制造團隊挑戰(zhàn)賽項目技術(shù)工作文件(含樣題)
- 尿毒癥替代治療
- 【課件】2025屆高考英語一輪復(fù)習(xí)小作文講解課件
- 基底節(jié)腦出血護理查房
- 工程公司總經(jīng)理年終總結(jié)
- 2024年海南省高考地理試卷(含答案)
- 【企業(yè)盈利能力探析的國內(nèi)外文獻綜述2400字】
評論
0/150
提交評論