北航數(shù)據(jù)庫原理及技術(shù)第二章_第1頁
北航數(shù)據(jù)庫原理及技術(shù)第二章_第2頁
北航數(shù)據(jù)庫原理及技術(shù)第二章_第3頁
北航數(shù)據(jù)庫原理及技術(shù)第二章_第4頁
北航數(shù)據(jù)庫原理及技術(shù)第二章_第5頁
已閱讀5頁,還剩62頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第二章關(guān)系數(shù)據(jù)庫簡介E.F.Codd于70年代初提出關(guān)系數(shù)據(jù)理論,他因此獲得1981年的ACM圖靈獎(jiǎng)。關(guān)系理論是建立在集合代數(shù)理論基礎(chǔ)上的,有著堅(jiān)實(shí)的數(shù)學(xué)基礎(chǔ)。早期代表系統(tǒng)SystemR:由IBM研制。INGRES:由加州Berkeley分校研制。目前主流的商業(yè)數(shù)據(jù)庫系統(tǒng)Oracle,Sybase,SQLServer,DB2。Access,F(xiàn)oxPro,F(xiàn)oxbase。關(guān)系數(shù)據(jù)模型關(guān)系模型是關(guān)系數(shù)據(jù)庫系統(tǒng)的基礎(chǔ),它由以下部分組成:數(shù)據(jù)結(jié)構(gòu):關(guān)系(二維表)。關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)非常單一,無論是實(shí)體還是實(shí)體間的聯(lián)系均由關(guān)系表示。完整性約束:包括關(guān)系模型所要求的完整性約束(實(shí)體完整性約束,參照完整性約束),以及應(yīng)用領(lǐng)域需要遵循的用戶定義完整性約束。關(guān)系數(shù)據(jù)模型(續(xù)I)系表(系號,系名,系主任)學(xué)生表(學(xué)號,姓名,性別,年齡,所在系)課程(課程號,課程名,先修課號,學(xué)分)選課(學(xué)號,課程號,成績)教師(教師號,教師名,所在系,工資)教授(教師號,課程號)學(xué)生課程選修屬于系教師教授工作關(guān)系數(shù)據(jù)模型(續(xù)II)關(guān)系操作:包括:選擇、投影、連接、除、并、交、差等查詢操作和增加、刪除、修改操作兩大部分。其特點(diǎn)是集合操作方式,操作的對象及結(jié)果都是集合。關(guān)系數(shù)據(jù)語言:關(guān)系代數(shù):用對關(guān)系的運(yùn)算來表達(dá)查詢,需要指明所用操作。關(guān)系演算:用謂詞來表達(dá)查詢,只需描述所需信息的特性。元組關(guān)系演算:謂詞變元的基本對象是元組變量。域關(guān)系演算:謂詞變元的基本對象是域變量。SQL語言關(guān)系數(shù)據(jù)模型(續(xù)III)特點(diǎn):面向集合的存取方式。關(guān)系操作是集合操作,操作的對象及結(jié)果都是集合,是一次一集合(Set-at-a-time)的方式。而非關(guān)系型的數(shù)據(jù)操作方式是一次一記錄(Record-at-a-time)。非過程化。關(guān)系操作不要求用戶提供存取路徑,存取路徑的選擇由DBMS完成。用戶只需提出“做什么”,無須說明“怎么做”,存取路徑的選擇和操作過程由系統(tǒng)自動完成。數(shù)據(jù)結(jié)構(gòu)域(Domain)一組具有相同的數(shù)據(jù)類型的值的集合。如整數(shù)的集合、字符串的集合、全體學(xué)生的集合。笛卡爾積(CartesianProduct)給定一組域D1,D2,…,Dn,這些域中可以有相同的。D1,D2,…,Dn的笛卡爾積為:D1×D2×…×Dn={(d1,d2,…,dn)|di∈Di,i=1,…,n}笛卡爾積的每個(gè)元素(d1,d2,…,dn)稱作一個(gè)n-元組(n-tuple)或簡稱元組。元組的每一個(gè)值di叫做一個(gè)分量(component)。若Di(i=1,…,n)為有限集,其基數(shù)(Cardinalnumber)為mi,則笛卡爾積的基數(shù)為數(shù)據(jù)結(jié)構(gòu)(續(xù)I)例:設(shè)D1為教師集合(Teacher)={T1,T2}D2為專業(yè)集合(Speciality)={CS,MATH}D3為學(xué)生集合(Student)={S1,S2,S3}

則D1×D2×D3是個(gè)三元組集合,元組個(gè)數(shù)為2×2×3是所有可能的(教師,專業(yè),學(xué)生)元組集合。笛卡爾積可表為二維表的形式:數(shù)據(jù)結(jié)構(gòu)(續(xù)II)TeacherSpecialityStudentT1CSS1T1CSS2T1CSS3T1MATHS1T1MATHS2T1MATHS3T2CSS1T2CSS2T2CSS3T2MATHS1T2MATHS2T2MATHS3數(shù)據(jù)結(jié)構(gòu)(續(xù)III)關(guān)系笛卡爾積D1×D2×…×Dn的子集叫做在域D1,D2,…,Dn上的關(guān)系,用R(D1,D2,…,Dn)表示。R是關(guān)系的名字,n是關(guān)系的度或目(Degree)。當(dāng)n=1時(shí)稱為單元關(guān)系,當(dāng)n=2時(shí)稱為二元關(guān)系,依此類推。關(guān)系可以表示為二維表,表的每一行對應(yīng)一個(gè)元組,每列對應(yīng)一個(gè)域。由于域有可能相同,為了加以區(qū)分,必須對每個(gè)列起一個(gè)名稱,稱為屬性。n元關(guān)系必有n個(gè)屬性。關(guān)系TEACH(Teacher,Speciality,Student)TeacherSpecialityStudentT1CSS1T1CSS2T2MATHS3屬性元組PersonSpecialityPersonT1CSS1T1CSS2T1CSS3T1MATHS1T1MATHS2T1MATHS3T2CSS1T2CSS2T2CSS3T2MATHS1T2MATHS2T2MATHS3數(shù)據(jù)結(jié)構(gòu)(續(xù)IV)關(guān)系模型對關(guān)系的限定和擴(kuò)充無限關(guān)系在數(shù)據(jù)庫系統(tǒng)中是無意義的。因此,限定關(guān)系數(shù)據(jù)模型中的關(guān)系必須是有限集合。通過為關(guān)系的每一個(gè)列附加一個(gè)屬性名取消關(guān)系的有序性,即(d1,d2,…,di,

dj,

…,dn)=(d1,d2,…,dj,

di,…,dn)(i,j=1,2,…,n)TeacherSpecialityStudentT1CSS1T1CSS2T2MATHS3StudentSpecialityTeacherS1CST1S2CST1S3MATHT2數(shù)據(jù)結(jié)構(gòu)(續(xù)V)關(guān)系的性質(zhì)列是同質(zhì)的(Homogeneous)即每一列中的分量來自同一域,是同一類型的數(shù)據(jù)。如TEACH(Teacher,Speciality,Student)={(t1,CS

,s1),(t1,t2,s1)}是錯(cuò)誤的。不同的列可出自同一域,每列必須有不同的屬性名。如Person={t1,t2,

s1,s2,s3},Speciality={c1,c2},則TEACH不能寫成TEACH(Person,Speciality,Person),還應(yīng)寫成TEACH(Teacher,Speciality,Student)。數(shù)據(jù)結(jié)構(gòu)(續(xù)VI)列的順序無關(guān)緊要,即列次序可以互換。任意兩個(gè)元組不能完全相同(集合內(nèi)不能有相同的兩個(gè)元素)。行的順序無關(guān)緊要,即行次序可以互換。每一分量必須是不可再分的數(shù)據(jù)。滿足這一條件的關(guān)系稱作滿足第一范式(1NF)的。數(shù)據(jù)結(jié)構(gòu)(續(xù)VII)關(guān)系模式關(guān)系的描述稱作關(guān)系模式,它可以形式化地表示為:R(U,D,dom,F(xiàn),I),其中,R為關(guān)系名,U為組成該關(guān)系的屬性名集合,D為屬性集U所來自的域,dom為屬性向域的映象集合、F為屬性間的數(shù)據(jù)依賴關(guān)系集合,I為完整性約束集合。關(guān)系模式通??梢院営涀鱎(A1,A2,…,An)。關(guān)系是關(guān)系模式在某一時(shí)刻的狀態(tài)或內(nèi)容。關(guān)系模式是相對穩(wěn)定的。而關(guān)系是動態(tài)的,是隨時(shí)間不斷變化的。數(shù)據(jù)結(jié)構(gòu)(續(xù)VIII)關(guān)系數(shù)據(jù)庫在一個(gè)給定的應(yīng)用領(lǐng)域中,所有實(shí)體及實(shí)體之間的聯(lián)系的關(guān)系的集合構(gòu)成一個(gè)關(guān)系數(shù)據(jù)庫。關(guān)系數(shù)據(jù)庫也有型和值之分:其型是關(guān)系模式的集合,即數(shù)據(jù)庫描述,稱為關(guān)系數(shù)據(jù)庫模式。其值是這些關(guān)系模式在某一時(shí)刻對應(yīng)的關(guān)系的集合,通常稱為關(guān)系數(shù)據(jù)庫。完整性約束候選碼關(guān)系模式R(U)的屬性集合k

U是候選碼,如果(1)R(U)的任何一個(gè)關(guān)系實(shí)例的任意兩個(gè)元組在屬性集合k上的值都不同。即唯一性,候選碼的屬性值必須能夠唯一地標(biāo)識關(guān)系中的所有元組。(2)k的任何真子集都不滿足條件(1)。即最小性,候選碼不能包含多余屬性。完整性約束(續(xù)I)主碼若一個(gè)關(guān)系具有多個(gè)候選碼時(shí),選擇其中一個(gè)作為該關(guān)系的主碼。主屬性與非主屬性候選碼中的諸屬性稱為主屬性,不包含在任何候選碼中的屬性稱為非主屬性。在最簡單的情況下,候選碼只包括一個(gè)屬性。在最極端的情況下,關(guān)系模式的所有屬性是這個(gè)關(guān)系模式的候選碼,稱為全碼。完整性約束(續(xù)II)外部碼設(shè)F是基本關(guān)系R的一個(gè)或一組屬性,但不是R的碼。如果F與基本關(guān)系S的主碼Ks相對應(yīng),則稱F是關(guān)系R的外部碼(ForeignKey),并稱R為參照關(guān)系(ReferencingRelation),S為被參照關(guān)系(ReferencedRelation)或目標(biāo)關(guān)系(TargetRelation)。R和S不一定是不同的關(guān)系。顯然,目標(biāo)關(guān)系S的主碼Ks和參照關(guān)系的外部碼F必須定義在一個(gè)域上。完整性約束(續(xù)III)實(shí)體完整性定義:關(guān)系R主碼中所包含的任意屬性都不能取空值??罩担翰恢阑驘o意義。意義:關(guān)系對應(yīng)到現(xiàn)實(shí)世界中的實(shí)體集,元組對應(yīng)到實(shí)體,實(shí)體是相互可區(qū)分的,通過主碼來唯一標(biāo)識,若主碼為空,則出現(xiàn)不可標(biāo)識的實(shí)體,這是不容許的。參照完整性如果關(guān)系R2的外部碼Fk與關(guān)系R1的主碼Pk相對應(yīng),則R2中的每一個(gè)元組的Fk值或者等于R1中某個(gè)元組的Pk值,或者為空值。意義:如果關(guān)系R2的某個(gè)元組t2參照了關(guān)系R1的某個(gè)元組t1,則t1必須存在。完整性約束(續(xù)IV)北京航空航天大學(xué)軟件開發(fā)環(huán)境重點(diǎn)實(shí)驗(yàn)室SnoSnameSexSageSdept95001李勇男20CS95002劉晨女19IS95003王敏女18MA95004張立男19ISSTUDENTSnoCnoGrade9500119295001285950013889500229095002380SCCnoCnameCpnoCcredit1數(shù)據(jù)庫542數(shù)學(xué)23信息系統(tǒng)144操作系統(tǒng)635數(shù)據(jù)結(jié)構(gòu)746數(shù)據(jù)處理27Pascal語言64COURSE完整性約束(續(xù)V)例如關(guān)系Student在Sdept上的取值有兩種可能:空值,表示該學(xué)生尚未分到任何系中。若非空值,則必須是DEPT關(guān)系中某個(gè)元組的Sdept值,表示該學(xué)生不可能分到一個(gè)不存在的系中。用戶定義的完整性用戶針對具體的應(yīng)用環(huán)境定義的完整性約束條件。如Sno要求是8位字符,Ssex要求取值為“男”或“女”。系統(tǒng)支持實(shí)體完整性和參照完整性由系統(tǒng)自動支持。系統(tǒng)應(yīng)提供定義和檢驗(yàn)用戶定義的完整性的機(jī)制。關(guān)系代數(shù)傳統(tǒng)的集合運(yùn)算集合并、集合交、集合差、廣義笛卡兒積專門的關(guān)系運(yùn)算選擇、投影、連接、商基本運(yùn)算集合并、集合差、廣義笛卡兒積、選擇、投影關(guān)系代數(shù)運(yùn)算符運(yùn)算符含義運(yùn)算符含義集合運(yùn)算符∪

并比較運(yùn)算符>大于∩

交≥大于等于-

差<

小于×

廣義笛卡爾積≤小于等于=等于≠不等于專門的關(guān)系運(yùn)算符

選擇邏輯運(yùn)算符

非∏投影∧與?連接∨或÷除并運(yùn)算定義設(shè)R和S是n元關(guān)系,并且兩者各對應(yīng)屬性的數(shù)據(jù)類型也相同。則R和S的并運(yùn)算定義為:R

S={t|t

RtS}其結(jié)果仍為n元關(guān)系,由屬于R或?qū)儆赟的元組構(gòu)成。R

S并運(yùn)算(續(xù)I)ABCabcdafcbdbgaR∪SABCabcdafcbdABCbgadafRS差運(yùn)算定義設(shè)R和S是n元關(guān)系,并且兩者各對應(yīng)屬性的數(shù)據(jù)類型也相同。則R和S的差運(yùn)算定義為:R

S={t|t

RtS}其結(jié)果仍為n元關(guān)系,由屬于R而不屬于S的元組構(gòu)成。R

S差運(yùn)算(續(xù)I)ABCabccbdR-SABCabcdafcbdABCbgadafRS交運(yùn)算定義設(shè)R和S是n元關(guān)系,并且兩者各對應(yīng)屬性的數(shù)據(jù)類型也相同。則R和S的交運(yùn)算定義為:R

S={t|t

RtS}其結(jié)果仍為n元關(guān)系,由既屬于R又屬于S的元組構(gòu)成。交運(yùn)算可以通過差運(yùn)算來重寫:R

S=R

(R

S)R

S交運(yùn)算(續(xù)I)ABCdafR∩SABCabcdafcbdABCbgadafRS廣義笛卡爾積定義兩個(gè)關(guān)系R,S,其度分別為n,m,則它們的笛卡爾積是所有這樣的元組集合:元組的前n個(gè)分量是R中的一個(gè)元組,后m個(gè)分量是S中的一個(gè)元組。R

S={t|t=<r,s>

r

R

s

S}R

S的度為R與S的度之和,R

S的元組個(gè)數(shù)為R和S的元組個(gè)數(shù)的乘積。廣義笛卡爾積(續(xù)I)R×SR.AR.BR.CS.AS.BS.CabcbgaabcdafdafbgadafdafcbdbgacbddafABCabcdafcbdABCbgadafRS選擇運(yùn)算基本定義在關(guān)系R中選擇滿足給定條件的元組。

F(R)={t|tRF(t)=‘真’}F是選擇的條件,取邏輯值“真”或“假”。F的形式:由邏輯運(yùn)算符連接算術(shù)表達(dá)式而成。邏輯運(yùn)算符:,, 算術(shù)表達(dá)式:XY X,Y是屬性名、常量、或簡單函數(shù)。 是比較算符,{,,,,,≠}選擇運(yùn)算(續(xù)I)

B=b(R)

ABCabccbd

B=b

C=c(R)

ABCabcABCabcdafcbdR投影運(yùn)算定義從關(guān)系R中取若干屬性列組成新的關(guān)系。

A(R)={t[A]|tR},AR投影的結(jié)果中要去掉重復(fù)的行。cbcfedcbaCBABCbcef

R

B,C(R)連接運(yùn)算定義從兩個(gè)關(guān)系的廣義笛卡兒積中選取給定屬性間滿足

操作的元組。R?S={t|t=<r,s>

r

R

s

S

r[A]

s[B]}

為算術(shù)比較符,當(dāng)為等號時(shí)稱為等值連接,其他依此類推。連接運(yùn)算可以用笛卡爾積和選擇運(yùn)算重寫為R?S=

AB(

R×S)A

BA

B連接運(yùn)算(續(xù)I)北京航空航天大學(xué)軟件開發(fā)環(huán)境重點(diǎn)實(shí)驗(yàn)室SnoSnameSexSageSdept95001李勇男20CS95002劉晨女19IS95003王敏女18MA95004張立男19ISSTUDENTSnoCnoGrade9500119295001285950013889500229095002380SCCnoCnameCpnoCcredit1數(shù)據(jù)庫542數(shù)學(xué)23信息系統(tǒng)144操作系統(tǒng)635數(shù)據(jù)結(jié)構(gòu)746數(shù)據(jù)處理27Pascal語言64COURSESnoSnameGrade95001李勇9095002劉晨8095003王敏8595004張立70數(shù)據(jù)庫成績連接運(yùn)算(續(xù)II)987654321CBADE3162ABCDE123311236245662

R?SB<D

R

S自然連接定義從兩個(gè)關(guān)系的廣義笛卡兒積中選取在相同屬性列上取值相等的元組,并去掉重復(fù)的屬性列。R?S={(Z,X,W)|(Z,X)

R

(X,W)

S

r[X]=s[X]}計(jì)算R×S設(shè)R與S的公共屬性列為A1,…Ak,從R×S中選取滿足R.A1=S.A1,…,R.Ak=S.Ak的那些元組去掉S.A1,…,S.Ak自然連接(續(xù)I)ABCabcdbcbdfcadBDEbcdbceadbSRABCDEabccdabccedbccddbccecaddbR?S復(fù)合連接與半連接復(fù)合連接類似于自然連接,是連接運(yùn)算結(jié)果不包含連接屬性的自然連接。半連接在R與S的連接運(yùn)算結(jié)果中只保留R的屬性列所得到的元組集合。外連接例:列出老師的有關(guān)信息,包括姓名、工資、所教授的課程?!荘#,PN,SAL,C#,CN((PROF)?PC?C)化學(xué)C03數(shù)學(xué)C02物理C01CNC#P04C02P02C02P01C01P#C#數(shù)學(xué)C02500李三P04數(shù)學(xué)C02700錢廣P02物理C01800趙明P01CNC#SALPNP#問題:有關(guān)P03號職工的姓名和工資信息沒有顯示出來。P#PNSALP01趙明800P02錢廣700P03孫立600P04李三500外連接(續(xù)I)外連接為避免自然連接時(shí)因失配而發(fā)生的信息丟失,可以假定往參與連接的一方表中附加一個(gè)取值全為空值的行,它和參與連接的另一方表中的任何一個(gè)未匹配上的元組都能匹配,稱之為外連接。外連接=自然連接+失配的元組。外連接的形式:左外連接、右外連接、全外連接。左外連接=自然連接+左側(cè)表中失配的元組。右外連接=自然連接+右側(cè)表中失配的元組。全外連接=自然連接+兩側(cè)表中失配的元組。外連接(續(xù)II)ABCabcbbfcadBCDbcdbceadbefgABCDabcdabcecadbABCDabcdabcecadbbbfnullnullefgABCDabcdabcecadbbbfnullABCDabcdabcecadbnullefgRSRSRSRSRS除運(yùn)算象集(ImageSet)關(guān)系R(X,Y),X,Y是屬性組,x是X上的取值,定義x在R中的象集為Yx={r[Y]|r

Rr[X]=x}

從R中選出在X上取值為x的元組,去掉X上的分量,只留Y上的分量。XY張軍同學(xué)所選修的全部課程如何得到選修了全部課程的學(xué)生?x=張軍Yx姓名課程張軍物理王紅數(shù)學(xué)張軍數(shù)學(xué)課程數(shù)學(xué)物理除運(yùn)算(續(xù)I)除運(yùn)算給定關(guān)系R(X,Y)和S(Y,Z),其中X,Y,Z是屬性組,R中的Y與S中的Y可以有不同的屬性名,但必須出自相同的域集。R與S的除法運(yùn)算得到一個(gè)新的關(guān)系P(X),P是R中滿足下列條件的元組在X屬性列上的投影:元組在X上分量值x的象集Yx包含S在Y上投影的集合。記作:R÷S={r[X]|r

R

∏y(S)

Yx}除運(yùn)算(續(xù)II)ABCDabcdabefabdebcefedcdedefCDcdefABabed

=

TSRABCDabcdabefabdebcefedcdedefCDcdefABabedABabbcedABCDabcdabefbccdbcefedcdedefR

AB(R)S

AB(R)

CD(S)

AB(R)

CD(S)-RABCDbccdR

S=ABabbcedABbc-=①④②③除運(yùn)算(續(xù)IV)例子表SnoSnameSexSageSdept95001李勇男20CS95002劉晨女19IS95003王敏女18MA95004張立男19ISSTUDENTSnoCnoGrade9500119295001285950013889500229095002380SCCnoCnameCpnoCcredit1數(shù)據(jù)庫542數(shù)學(xué)23信息系統(tǒng)144操作系統(tǒng)635數(shù)據(jù)結(jié)構(gòu)746數(shù)據(jù)處理27Pascal語言64COURSE練習(xí)查詢信息系(IS)的全體學(xué)生

Sdept=‘IS’(STUDENT)查詢年齡小于20歲的學(xué)生

Age<20(STUDENT)查詢學(xué)生的姓名和所在系

Sname,Sdept(STUDENT)求選修了2號課程的學(xué)生的學(xué)號?!荢no(Cno=‘2’(SC))練習(xí)(續(xù)II)查找學(xué)號為95001的學(xué)生姓名和年齡

Sname,Sage(Sno=‘95001’(STUDENT))查找信息系的男學(xué)生的學(xué)號和姓名

Sno,Sname(Sdept=‘IS’∧Ssex=‘男’(STUDENT))查找選修了1號課程或3號課程的學(xué)生的學(xué)號

Sno(Cno=1∨Cno=3(SC))或:Sno(Cno=1(SC))

∪Sno(Cno=3(SC))練習(xí)(續(xù)III)求選修了1號而沒有選2號課程的學(xué)生號?!荢no(Cno=1(SC))-∏Sno(Cno=2(SC))求選修了1號和2號課程的學(xué)生號?!荢no(Cno=1(SC))∩∏Sno(Cno=2(SC))求選修了1號課程的學(xué)生號和姓名。∏Sno,Sname(Cno=1(Student?SC))練習(xí)(續(xù)IV)查詢至少選修了一門其直接先行課為5號課程的學(xué)生姓名。∏Sname(Cpno=5(Course)

?

SC

?

∏Sno,Sname(STUDENT))查詢選修了全部課程的學(xué)生號和姓名∏Sno,Cno(SC)∏Cno(Course)?∏Sno,sname(STUDENT)關(guān)系運(yùn)算元組關(guān)系演算域關(guān)系演算關(guān)系運(yùn)算的安全性元組關(guān)系演算在元組關(guān)系演算系統(tǒng)中,稱{t|

(t)}為元組演算表達(dá)式,表示所有使謂詞

為真的元組集合。t為元組變量。如果元組變量前有“全稱”(

)或“存在”(

)量詞,則稱其為約束元組變量,否則稱為自由元組變量。

(t)是元組關(guān)系演算公式,由原子公式和運(yùn)算符組成,簡稱公式。原子公式:R(t)。t是關(guān)系R中的一個(gè)元組。t[i]

u[j]。t[i]與u[j]分別為t的第i個(gè)分量和u的第j個(gè)分量,它們之間滿足比較關(guān)系

。t[i]

c或c

t[i]

。分量t[i]與常量c之間滿足比較關(guān)系

。公式的遞歸定義:每個(gè)原子公式是公式。如果

1,

2是公式,則

1

2,

1

2,┑

也是公式。如果

是公式,則

t()和t()

也是公式。元組關(guān)系演算(續(xù)I)元組關(guān)系演算(續(xù)II)在元組演算公式中,各種運(yùn)算符的優(yōu)先次序?yàn)椋核阈g(shù)比較運(yùn)算符最高。量詞次之,且的優(yōu)先級高于,多個(gè)相同量詞的優(yōu)先級從左向右遞增。邏輯運(yùn)算符最低,且┑優(yōu)先級高于,高于,多個(gè)相同的邏輯運(yùn)算符優(yōu)先級從左向右遞增。加括號時(shí),括號內(nèi)運(yùn)算符優(yōu)先,同一括號內(nèi)的運(yùn)算符之優(yōu)先級遵循I,II,III。有限次地使用上述五條規(guī)則得到的公式是元組關(guān)系演算公式,其他公式不是元組關(guān)系演算公式。元組關(guān)系演算(續(xù)III)查詢信息系(IS)的全體學(xué)生{t|STUDENT(t)t[5]=‘IS’}查詢年齡小于20歲的學(xué)生{t|STUDENT(t)t[3]<20}查詢學(xué)生的姓名和所在的系{t(2)|(

u)(STUDENT(u)t[1]=u[2]t[2]=u[5])}元組關(guān)系演算(續(xù)IV)查找學(xué)號為95001的學(xué)生姓名和年齡{t(2)|(

u)(STUDENT(u)u[1]=‘95001’t[1]=u[2]

t[2]=u[4])}查找選修了1號課程或3號課程的學(xué)生的學(xué)號{t(1)|(

u)(SC(u)(u[2]=1

u[2]=3)t[1]=u[1])}元組關(guān)系演算(續(xù)V)求選修了1號而沒有選2號課程的學(xué)生號。{t(1)|(

u)(SC(u)u[2]=1

(v)(SC(v)u[1]=v[1]v[2]=2)

t[1]=u[1])}求選修了1號課程的學(xué)生號和姓名。{t(2)|(

u)(v)(Student(u)

SC(v)

v[2]=1

u[1]=v[1]

t[1]=u[1]

t[2]=u[2])}元組關(guān)系演算(續(xù)VI)元組關(guān)系演算與關(guān)系代數(shù)的等價(jià)性∏i1,i2,…,ik(R)={tk|(u)(R(u)

t[1]=u[i1])

t[k]=u[ik])}

F(R)={t|R(t)

F}R

S={t(n+m)|(u(n))(v(m))(R(u)S(v)t[1]=u[1]

t[n]=u[n]t[n+1]=v[1]

t[n+m]=v[m])}R

S={t|R(t)

S(t)}R

S={t|R(t)

┑S(t)}元組關(guān)系演算(續(xù)VII)設(shè)R和S都是二元關(guān)系,試把關(guān)系代數(shù)表達(dá)式∏1,4(2=3(R×S))轉(zhuǎn)換為元組表達(dá)式

R×S={t(4)|(u)(v)(R(u)

S(v)

t[1]=u[1]

t[2]=u[2]

t[3]=v[1]

t[4]=v[2])}

2=3(R×S)={t(4)|(u)(v)(R(u)

S(v)

t[1]=u[1]

t[2]=u[2]

t[3]=v[1]

t[4]=v[2]u[2]=v[1])}

∏1,4(2=3(R×S))={t(2)|(u)(v)(R(u)

S(v)

t

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論