數(shù)據(jù)庫原理-2關(guān)系數(shù)據(jù)庫.ppt

上傳人:za****8 文檔編號(hào):14120862 上傳時(shí)間:2020-07-04 格式:PPT 頁數(shù):99 大?。?64.06KB
收藏 版權(quán)申訴 舉報(bào) 下載
數(shù)據(jù)庫原理-2關(guān)系數(shù)據(jù)庫.ppt_第1頁
第1頁 / 共99頁
數(shù)據(jù)庫原理-2關(guān)系數(shù)據(jù)庫.ppt_第2頁
第2頁 / 共99頁
數(shù)據(jù)庫原理-2關(guān)系數(shù)據(jù)庫.ppt_第3頁
第3頁 / 共99頁

下載文檔到電腦,查找使用更方便

14.9 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《數(shù)據(jù)庫原理-2關(guān)系數(shù)據(jù)庫.ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《數(shù)據(jù)庫原理-2關(guān)系數(shù)據(jù)庫.ppt(99頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、數(shù)據(jù)庫系統(tǒng)原理(第2章),,第二章關(guān)系數(shù)據(jù)庫,2-5章為本課程重點(diǎn)與難點(diǎn)關(guān)系數(shù)據(jù)庫的理論基礎(chǔ)1970,E.F.Codd“ARelationalModelofDataforSharedDataBanks”現(xiàn)代主流數(shù)據(jù)庫幾乎全部支持關(guān)系模型Oracle(甲骨文),Sybase,IBMDB2,MSSQLServer,Ingres,2.1關(guān)系模型概述,關(guān)系模型由關(guān)系數(shù)據(jù)庫、關(guān)系操作集合和關(guān)系完整性約束三部分組成。單一的數(shù)據(jù)結(jié)構(gòu)關(guān)系實(shí)體和實(shí)體之間的聯(lián)系都用關(guān)系描述,,二.關(guān)系操作就關(guān)系模型而言,僅僅給出了關(guān)系操作的能力,并不給定(限定)RDBMS語言的語法要求。關(guān)系操作的特點(diǎn):一次一集合的操作方式Set

2、-at-a-Time操作的對(duì)象和結(jié)果都是關(guān)系。,三種具有相同表達(dá)能力的抽象查詢語言:關(guān)系代數(shù)ISBL元組關(guān)系演算語言ALPHA,QUEL域關(guān)系演算語言QBE,,SQL則是介于關(guān)系代數(shù)和關(guān)系演算之間的標(biāo)準(zhǔn)查詢語言。由IBM提出,是應(yīng)用得最廣泛的關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言。,三.關(guān)系的三類完整性約束條件關(guān)系模型必須滿足:實(shí)體完整性和參照完整性約束。應(yīng)用領(lǐng)域中的大量語義約束則由DBMS實(shí)現(xiàn)的用戶定義完整性保證。注意:這是由DBMS來保證的,而非應(yīng)用程序保證。,2.2關(guān)系數(shù)據(jù)結(jié)構(gòu)及其形式化定義,從集合論的角度給出關(guān)系數(shù)據(jù)結(jié)構(gòu)的形式化定義。(需要離散數(shù)學(xué)集合論的概念)2.2.1關(guān)系(Relation)1.域定義

3、2.1:域是具有相同數(shù)據(jù)類型的值的集合。如自然數(shù),全班同學(xué)的名字等。,2.2笛卡兒集(卡氏集)定義2.2給定一組域D1,D2,,Dn,這些域中可以有相同的,D1,D2,,Dn的笛卡兒集為:D1D2Dn(d1,d2,,dn)|diDi,i=1,2,n,其中每一個(gè)元素稱為一個(gè)n元組,元素中的每個(gè)值稱為一個(gè)分量。,,例:D1=大,中,小,D2=紅,綠,,例:D1=大,中,小,D2=紅,綠D1D2=(大,紅),(大,綠),(中,紅),(中,綠),(小,紅),(小,綠)共有326個(gè)2元組,注意:集合論中笛卡兒集不滿足交換率,即笛卡兒集的元組有序?;鶖?shù)的概念:若Di(i=1,2,,n)為有限集,其基數(shù)為|

4、Di|,則D1D2Dn的基數(shù)為:|D1||D2||Dn|,,3.關(guān)系定義2.3D1D2Dn的任意子集叫做在域D1,D2,,Dn上的關(guān)系,可記做:R(D1,D2,,Dn),R為關(guān)系名,n是關(guān)系的目或度(degree)。,注意:1.這里的“子集”是“任意子集”,包括空集。2.笛卡兒集不滿足交換率,而關(guān)系通過給關(guān)系的列附加屬性名的方式取消元組的有序性。3.按2.3的定義,關(guān)系可以是無限集。通常我們?cè)陉P(guān)系數(shù)據(jù)模型中限定關(guān)系為有限關(guān)系。,候選碼若關(guān)系中的某一屬性組的值能唯一地標(biāo)識(shí)一個(gè)元組,則稱該屬性組為該關(guān)系的一個(gè)候選碼(CandidateKey)。一個(gè)關(guān)系可能有多個(gè)候選碼,則選定其中一個(gè)作為主碼(Pr

5、imaryKey)。包含在任何候選碼中的屬性稱為主屬性,不包含在任何候選碼中的屬性稱為非主屬性。全碼(All-Key)關(guān)系模式的所有屬性組構(gòu)成此關(guān)系模式的唯一候選碼。,基本關(guān)系六性質(zhì)列是同質(zhì)的;不同列可出自同一個(gè)域,每一列為一個(gè)屬性,不同屬性(列)給不同屬性名;列的順序可任意交換;任意兩個(gè)元組不能完全相同;行的順序可任意交換;每一分量是不可分的數(shù)據(jù)項(xiàng)。記憶方法:三列兩行一分量。,注意:在許多實(shí)際關(guān)系數(shù)據(jù)庫產(chǎn)品中,基本表并不完全具有這六條性質(zhì),例如,有的數(shù)據(jù)庫產(chǎn)品(如FoxPro)仍然區(qū)分了屬性順序和元組的順序;許多關(guān)系數(shù)據(jù)庫產(chǎn)品中,例如Oracle,F(xiàn)oxPro等,它們都允許關(guān)系表中存在兩個(gè)完

6、全相同的元組。,2.2.2關(guān)系模式關(guān)系模式是對(duì)關(guān)系的描述。(是對(duì)型的描述)需描述元組集合的結(jié)構(gòu):由哪些屬性構(gòu)成,這些屬性來自哪些域,以及屬性與域之間的映象關(guān)系。此外,關(guān)系模式應(yīng)刻劃出完整性約束條件。,,定義2.4關(guān)系的描述稱為關(guān)系模式,可表述為:R(U,D,dom,F(xiàn))其中R為關(guān)系名,U為組成該關(guān)系地屬性名集合,D為屬性組U中屬性所來自的域,dom為屬性向域的映象集合,F(xiàn)為屬性間數(shù)據(jù)的依賴關(guān)系集。,關(guān)系模式通常可以簡記為:R(U)或R(A1,A2,,AN)其中R為關(guān)系名,A1,A2,,AN為屬性名。而域名及屬性向域的映象常常直接說明為屬性的類型、長度。關(guān)系模式是靜態(tài)度、穩(wěn)定的,而關(guān)系是動(dòng)態(tài)的、

7、隨時(shí)間變化的,兩者是型與值的關(guān)系。,2.2.3關(guān)系數(shù)據(jù)庫在給定應(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ù)庫模式是對(duì)關(guān)系數(shù)據(jù)庫的描述。值:一般就稱為關(guān)系數(shù)據(jù)庫。,2.3關(guān)系的完整性,關(guān)系模型的完整性規(guī)則是對(duì)關(guān)系的某種約束條件。關(guān)系模型的三類完整性:實(shí)體完整性參照完整性用戶定義的完整性,其中實(shí)體完整性和參照完整性是關(guān)系模型必須滿足的完整性約束條件,被稱為是關(guān)系的兩個(gè)不變性,應(yīng)該由關(guān)系系統(tǒng)自動(dòng)支持。一、實(shí)體完整性實(shí)體完整性規(guī)則(規(guī)則2.1):每一關(guān)系必有一主碼,構(gòu)成主碼的各屬性值均不能取空值。實(shí)體完整性規(guī)則規(guī)定基本關(guān)系的所有

8、主碼的各屬性都不能取空值,而不僅是主碼整體不能取空值。,例如學(xué)生選課關(guān)系“選修(學(xué)號(hào),課程號(hào),成績)”中,“學(xué)號(hào)、課程號(hào)”為主碼,則“學(xué)號(hào)”和“課程號(hào)”都不能取空值,而不是整體不為空。實(shí)體完整性可以引申一下,主碼也不能取重復(fù)值。,有關(guān)實(shí)體完整性的說明:(1)實(shí)體完整性規(guī)則是針對(duì)基本關(guān)系而言的。一個(gè)基本表通常對(duì)應(yīng)現(xiàn)實(shí)世界的一個(gè)實(shí)體集。(名字怎么來的)(2)現(xiàn)實(shí)世界中的實(shí)體是可區(qū)分的,即它們具有某種唯一性標(biāo)識(shí)。(3)相應(yīng)地,關(guān)系模型中以主碼作為唯一標(biāo)識(shí)。(4)主碼中的屬性即主屬性不能取空值。所謂空值就是“不知道”或“不確定”的值。,二、參照完整性現(xiàn)實(shí)世界中的實(shí)體之間往往存在某種聯(lián)系,在關(guān)系模型中實(shí)

9、體及實(shí)體間的聯(lián)系都是用關(guān)系來描述的。這樣就自然存在著關(guān)系與關(guān)系之間的引用。引用的時(shí)候,必須取基本表中已經(jīng)存在的值。由此引出參照的引用規(guī)則。參照完整性規(guī)則就是定義外碼與主碼之間的引用規(guī)則。,定義2.5設(shè)F是基本關(guān)系R的一個(gè)或一組屬性,但不是關(guān)系R的碼,如果F與基本關(guān)系S的主碼Ks相對(duì)應(yīng),則稱F是基本關(guān)系R的外碼(Foreignkey),并稱基本關(guān)系R為參照關(guān)系(Referencingrelation),基本關(guān)系S為被參照關(guān)系(Referencedrelation)或目標(biāo)關(guān)系(Targetrelation)。關(guān)系R和S不一定是不同的關(guān)系。,參照完整性規(guī)則(規(guī)則2.2):若屬性(或?qū)傩越M)F是基本關(guān)

10、系R的外碼,它與基本關(guān)系S的主碼Ks相對(duì)應(yīng)(基本關(guān)系R和S不一定是不同的關(guān)系),則對(duì)于R中每個(gè)元組在F上的值必須為:或者取空值(F的每個(gè)屬性值均為空值);或者等于S中某個(gè)元組的主碼值。,,例如,學(xué)生選課系統(tǒng),選課關(guān)系的學(xué)號(hào)按實(shí)體完整性要求,不能為空;按參照完整性要求,只能選學(xué)生關(guān)系中的學(xué)號(hào),表示語義關(guān)系“只有注冊(cè)的學(xué)生才能選課”。課程號(hào)也類似(請(qǐng)同學(xué)們自己考慮)。,三、用戶定義的完整性(User-definedintegrity)實(shí)體完整性和參照性適用于任何關(guān)系數(shù)據(jù)庫系統(tǒng)。除此之外,不同的關(guān)系數(shù)據(jù)庫系統(tǒng)根據(jù)其應(yīng)用環(huán)境的不同,往往還需要一些特殊的約束條件。用戶定義的完整性就是針對(duì)某一具體關(guān)系數(shù)據(jù)

11、庫的約束條件,它反映某一具體應(yīng)用所涉及的數(shù)據(jù)必須滿足的語義要求。關(guān)系模型應(yīng)提供定義和檢驗(yàn)這類完整性的機(jī)制,以便用統(tǒng)一的系統(tǒng)的方法處理它們,而不要由應(yīng)用程序承擔(dān)這一功能。,2.4關(guān)系代數(shù),本節(jié)要求給定關(guān)系和關(guān)系代數(shù)表達(dá)式,要會(huì)算。給定關(guān)系模式和查詢(語義)要求,要會(huì)寫關(guān)系代數(shù)表達(dá)式。,,關(guān)系代數(shù)是一種抽象的查詢語言,用對(duì)關(guān)系的運(yùn)算來表達(dá)查詢,作為研究關(guān)系數(shù)據(jù)語言的數(shù)學(xué)工具。關(guān)系代數(shù)的運(yùn)算對(duì)象是關(guān)系,運(yùn)算結(jié)果亦為關(guān)系。關(guān)系代數(shù)用到的運(yùn)算符包括四類:集合運(yùn)算符、專門的關(guān)系運(yùn)算符、算術(shù)比較符和邏輯運(yùn)算符。,,比較運(yùn)算符和邏輯運(yùn)算符是用來輔助專門的關(guān)系運(yùn)算符進(jìn)行操作的,所以關(guān)系代數(shù)的運(yùn)算按運(yùn)算符的不同,

12、主要分為傳統(tǒng)的集合運(yùn)算和專門的關(guān)系運(yùn)算兩類。,2.4.1傳統(tǒng)的集合運(yùn)算,是四種二目運(yùn)算:,把關(guān)系看作元組的集合,于是,這四種運(yùn)算與傳統(tǒng)集合運(yùn)算類似。,其中,三種運(yùn)算要求參與運(yùn)算的兩個(gè)關(guān)系R,S具有相同的目n,且相應(yīng)屬性取自同一個(gè)域。并:RSt|tRtS交:RSt|tRtS差:RSt|tRtS,廣義笛卡爾積(Extendedcartesianproduct)元組連接的記號(hào):R為n目關(guān)系,S為m目關(guān)系。trts稱為元組的連接(Concatenation)。它是一個(gè)(n+m)列的元組,前n個(gè)分量為R中的一個(gè)n元組,后m個(gè)分量為S中的一個(gè)m元組。,,兩個(gè)分別為n目和m目的關(guān)系R和S的廣義笛卡爾積是一個(gè)

13、(n+m)列的元組的集合。元組的前n列是關(guān)系R的一個(gè)元組,后m列是關(guān)系S的一個(gè)元組。記作:RStrts|trRtsS若R有k1個(gè)元組,S有k2個(gè)元組,則關(guān)系R和關(guān)系S的廣義笛卡爾積有k1k2個(gè)元組。,,2.4.2專門的關(guān)系運(yùn)算,一般包括選擇、投影、連接和除。,1.選擇選擇又稱為限制(Restriction)。它是在關(guān)系R中選擇滿足給定條件的諸元組,記作:F(R)=t|tRF(t)=真其中F表示選擇條件,它是一個(gè)邏輯表達(dá)式,取邏輯值真或假。,邏輯表達(dá)式F的基本形式為:X1Y1X2Y2表示比較運(yùn)算符,它可以是、、、、或。X1、Y1等是屬性名或常量或簡單函數(shù)。屬性名也可以用它的序號(hào)來代替。表示邏輯運(yùn)

14、算符,它可以是、或。因此選擇運(yùn)算實(shí)際上是從關(guān)系R中選取使邏輯表達(dá)式F為真的元組。這是從行的角度進(jìn)行的運(yùn)算。,設(shè)有一個(gè)學(xué)生-課程關(guān)系數(shù)據(jù)庫,包括學(xué)生關(guān)系Student、課程關(guān)系Course和選修關(guān)系SC。(下面的例子都針對(duì)這三個(gè)關(guān)系進(jìn)行運(yùn)算。)例1查詢信息系(IS系)全體學(xué)生Sdept=IS(Student)或4=IS(Student)例2查詢年齡小于20歲的元組Sage<20(Student)或4<20(Student)。,補(bǔ)充例1:查詢信息系的年齡小于20歲的學(xué)生,補(bǔ)充例1:查詢信息系的年齡小于20歲的學(xué)生Sdept=ISSage<20(Student),補(bǔ)充例1:查詢信息系的年齡小于20歲

15、的學(xué)生Sdept=ISSage<20(Student)當(dāng)然也可以表示為Sdept=IS(Student)Sage<20(Student)(注:雙目運(yùn)算符的優(yōu)先級(jí)低于單目運(yùn)算符),2.投影(Projection)先介紹與投影有關(guān)的兩個(gè)記號(hào):一.(元組屬性分量記號(hào))設(shè)關(guān)系模式為R(A1,A2,,An)。它的一個(gè)關(guān)系設(shè)為R。tR表示t是R的一個(gè)元組。tAi則表示元組t中相應(yīng)于屬性Ai的一個(gè)分量。,二.(元組屬性列分量記號(hào))若A=Ai1,Ai2,,Aik,其中Ai1,Ai2,,Aik是A1,A2,,An中的一部分,則A稱為屬性列或域列。A則表示A1,A2,,An中去掉Ai1,Ai2,,Aik后剩余的屬

16、性組。tA=(tAi1,tAi2,,tAik)表示元組t在屬性列A上諸分量的集合。,關(guān)系R上的投影是從R中選擇出若干屬性列組成新的關(guān)系。記作:A(R)=tA|tR其中A為R中的屬性列。基本思想是從關(guān)系中消除某些屬性,投影也可能消除掉某些行。因?yàn)槿∠四承傩粤泻?,就可能出現(xiàn)重復(fù)行,應(yīng)取消這些完全相同的行。,例3查詢學(xué)生關(guān)系Student在學(xué)生姓名和所在系兩個(gè)屬性上的投影Sname,Sdept(Student)或2,5(Student),例4查詢學(xué)生關(guān)系Student中都有哪些系,即查詢學(xué)生關(guān)系Student在所在系屬性上的投影:Sdept(Student),補(bǔ)充例2:(投影與選擇的混合運(yùn)算)查

17、詢信息系學(xué)生的姓名和年齡。,補(bǔ)充例2:(投影與選擇的混合運(yùn)算)查詢信息系學(xué)生的姓名和年齡。Sname,SageSdept=IS(Student)(注:單目運(yùn)算為右結(jié)合),3.連接連接也稱為連接。它是從兩個(gè)關(guān)系的笛卡爾積中選取屬性間滿足一定條件的元組。記作:RS=trts|trRtsStrAtsBAB其中A和B分別為R和S上度數(shù)相等且可比的屬性組。是比較運(yùn)算符。連接運(yùn)算從R和S的笛卡爾積RS中選?。≧關(guān)系)在A屬性組上的值與(S關(guān)系)在B屬性組上值滿足比較關(guān)系的元組。,,,連接運(yùn)算中有兩種最為重要也最為常用的連接,一種是等值連接(equi-join),另一種是自然連接(Naturaljoin)。

18、為“”的連接運(yùn)算稱為等值連接(equi-join)。它是從關(guān)系R與S的笛卡爾積中選取A、B屬性值相等的那些元組。自然連接(Naturaljoin)是一種特殊的等值連接,它要求兩個(gè)關(guān)系中進(jìn)行比較的分量必須是相同的屬性組,并且要在結(jié)果中把重復(fù)的屬性去掉。一般的連接操作是從行的角度進(jìn)行運(yùn)算。但自然連接還需要取消了重復(fù)列,所以是同時(shí)從行和列的角度進(jìn)行運(yùn)算。,,連接的計(jì)算首先根據(jù)連接的類型(連接、自然連接),確定結(jié)果的屬性。計(jì)算過程類似二重循環(huán)。如P50.圖2.6(c)(d)(e),,補(bǔ)充例3:求選了2號(hào)課程的學(xué)生的學(xué)號(hào)和姓名。,,補(bǔ)充例3:求選了2號(hào)課程的學(xué)生的學(xué)號(hào)和姓名。Sno,SName(Stud

19、entCno=2SC),,補(bǔ)充例4:求選修數(shù)據(jù)庫原理的學(xué)生的學(xué)號(hào)和姓名。Sno,SName(StudentSCCname=數(shù)據(jù)庫原理Course),,,,注意:自然連接在沒有相同的屬性組時(shí)退化為廣義笛卡兒集運(yùn)算。,4.除()先介紹與除有關(guān)的記號(hào):(象集記號(hào))給定一個(gè)關(guān)系R(X,Y),X和Y為屬性組。我們定義,當(dāng)tX=x時(shí),x在R中的象集(ImagesSet)為:Yx=tY|tR,tX=x它表示R中屬性組X上值為x的諸元組在Y上分量的集合。,補(bǔ)充例5:象集的計(jì)算。設(shè)R(A,B)如下AB---------------------------------1aa1ab2st1mm求B1,計(jì)算過程考察r

20、的每一個(gè)元組t如果tA=1,則把tB放入結(jié)果。得如下:B----------------------aaabmm,除的定義:給定關(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上投影的集合。記作:RS=tX|tRY(S)Yx其中Yx為x在R中的象集,x=tX。,書例6.(p62)分析:R的A相當(dāng)于X,B和C相當(dāng)于YS的B和C相當(dāng)于Y,D相當(dāng)于Z(與結(jié)果無關(guān))。除的結(jié)果只有A一個(gè)屬性。a1出現(xiàn)在R的第1,4

21、,7行,所以象集為(b1,c2),(b2,c3),(b2,c1)而S在(B,C)上的投影為(b1,c2),(b2,c1),(b2,c3)a1的象集包含量S在(B,C)上的投影,所以a1出現(xiàn)在結(jié)果中,類似的,a2,a3,a4的象集均不包含S在(B,C)上的投影。所以它們不出現(xiàn)在結(jié)果中。,例7.(不用臨時(shí)關(guān)系,改用完整表達(dá)式)Sno,Cno(SC)CnoCno=1Cno=3(SC)可以看出,除運(yùn)算有“包含”的語義。對(duì)于同一個(gè)查詢,關(guān)系代數(shù)表達(dá)式可能不唯一。,關(guān)系運(yùn)算的第二種劃分方法:5種基本運(yùn)算和3種附加運(yùn)算。交()的基本運(yùn)算表達(dá):RS=R-(R-S)RS=S-(S-R)RS=(R-(R-S))(

22、S-(S-R)),連接的表達(dá):RS=F(RS)F,,除的表達(dá):RS=x(R)-x(x(R)y(S)-R),2.5關(guān)系演算,關(guān)系演算是以數(shù)理邏輯中的謂詞演算為基礎(chǔ)的。按謂詞變?cè)牟煌?,關(guān)系演算可分為元組關(guān)系演算和域關(guān)系演算。本節(jié)我們通過兩個(gè)實(shí)際的關(guān)系演算語言來介紹關(guān)系演算的思想。本節(jié)內(nèi)容僅要求了解。,2.5.1元組關(guān)系演算語言ALPHA(簡單了解)元組關(guān)系演算以元組變量作為謂詞變?cè)幕緦?duì)象。一種典型的元組關(guān)系演算語言是E.F.Codd提出ALPHA語言,這一語言雖然沒有實(shí)際實(shí)現(xiàn),但關(guān)系數(shù)據(jù)庫管理系統(tǒng)INGRES所用的QUEL語言是參照ALPHA語言研制的,與ALPHA十分類似。,ALPHA語言

23、主要有GET、PUT、HOLD、UPDATE、DELETE、DROP六條語句,語句的基本格式是:操作語句工作空間名(表達(dá)式):操作條件,一、檢索操作檢索操作用GET語句實(shí)現(xiàn)。(1)簡單檢索(即不帶條件的檢索)例1查詢所有被選修的課程號(hào)碼。GETW(SC.Cno)注意與“查詢所有的課程號(hào)碼”的區(qū)別。GETW(Course.Cno),,(2)限定的檢索(即帶條件的檢索)例2GETW(Student.Sno,Student.Sage):Student.Sdept=ISStudent.Sage<20,,(3)帶排序的檢索例4查詢計(jì)算機(jī)科學(xué)系(CS)學(xué)生的學(xué)號(hào)、年齡,結(jié)果按年降序排序。GETW(Stud

24、ent.Sno,Student.Sage):Student.Sdept=CSDOWNStudent.Sage,(4)帶定額(指定結(jié)果數(shù)量)的檢索例6查詢信息系(IS)年齡最大的學(xué)生的學(xué)號(hào)及其年齡,結(jié)果按年齡降序排序。GETW(3)(Student.Sno,Student.Sage):Student.Sdept=ISDOWNStudent.Sage,(5)用元組變量的檢索格式:RANGE表名變量名元組變量兩個(gè)用處:1.簡化關(guān)系名;2.操作條件中使用量詞時(shí)必須使用元組變量。一般情況下,操作條件中如果用到了不出現(xiàn)在結(jié)果表達(dá)式中的表時(shí),必須使用量詞。例如,一般連接查詢常用到存在量詞。,例7查詢信息系學(xué)

25、生的名字RANGEStudentXGETW(X.Sname):X.Sdept=IS,(6)用存在量詞的檢索注意語義要求,“有一個(gè)”,“任意”等語義。例8查詢選修2號(hào)課程的學(xué)生的名字RANGESCXGETW(Student.Sname):X(X.Sno=Student.SnoX.Cno=2)(理解:存在一條選課記錄SC(即X),使得X是要求的學(xué)生Student所選的,且X的課程號(hào)是2),(7)帶有多個(gè)關(guān)系的表達(dá)式的檢索例:查詢成績?cè)?0分以上的學(xué)生名字與課程名字。RANGESCSCXGETW(Student.Sname,Course.Cname):SCX(Student.Sno=SCX.SnoC

26、SX.Cno=Course.CnoCSX.Grade=90)(注:結(jié)果表達(dá)式中出現(xiàn)的表不需要存在量詞),(8)用全稱量詞的檢索例:不選1號(hào)課程的學(xué)生的姓名,類似上例:GETW(Student.Sname):SCX(Student.Sno=SCX.SnoSCS.Cno=1)(理解:要求的學(xué)生不存在1號(hào)課程的選課記錄),也可改為全稱量詞:RANGESCSCXGETW(Student.Sname):SCX(Student.SnoSCX.SnoCS.Cno1)(理解:對(duì)于要求的學(xué)生,每一條選課記錄要么不是他選的,要么不是選的1號(hào)課程),(9)用兩種量詞的檢索根據(jù)語義分清使用全稱和存在量詞的條件。例13

27、查詢選修了全部課程的學(xué)生姓名RANGECourseCXRANGESCSCXGETW(Student.Sname):CXSCX(SCX.Sno=Student.SnoSCX.Cno=CX.Cno)(理解:要求的學(xué)生,對(duì)每一門課程都存在相應(yīng)的選課記錄。),,(10)用蘊(yùn)函(Implication)的檢索例14:查詢最少選修了95002號(hào)學(xué)生所選全部課程的學(xué)生的學(xué)號(hào)。P:學(xué)生95002選修了課程CX。q:學(xué)生Y也選了課程CX。轉(zhuǎn)換為CX(p-q)的問題。,RANGECorseCXSCSCXSCSCYGETW(Student.Sno):CX(SCX(SCX.Sno=95002SCX.Cno=CX.Cn

28、o)-SCY(SCY.Sno=Student.SnoSCY.Cno=CX.Cno)),(11)集函數(shù)二、更新操作(知道就可以)修改插入刪除,2.5.2域關(guān)系演算語言QBE與MSFoxpro的RQBE沒有什么聯(lián)系。關(guān)系演算的另一種形式是域關(guān)系演算。域關(guān)系演算以元組變量的分量即域變量作為謂詞變?cè)幕緦?duì)象。QBE是QueryByExample(即通過例子進(jìn)行查詢)的簡稱,其最突出的特點(diǎn)是它的操作方式。它是一種高度非過程化的基于屏幕表格的查詢語言,用戶通過終端屏幕編輯程序以填寫表格的方式構(gòu)造查詢要求,而查詢結(jié)果也是以表格形式顯示,因此非常直觀,易學(xué)易用。,QBE中用示例元素來表示查詢結(jié)果可能的例子,示例元素實(shí)質(zhì)上就是域變量。QBE操作框架如書圖2-9所示。檢索操作(通過書上給出的例子適當(dāng)理解)例1求信息系全體學(xué)生的姓名,例2查詢?nèi)w學(xué)生的全部數(shù)據(jù)。,例4查詢計(jì)算機(jī)系的年齡大于19歲的學(xué)生的學(xué)號(hào)。,方法一一行表示“與”,“與”的表示,方法二兩行表示“與”(使用相同的示例元素),“或”的表示。,例5查詢計(jì)算機(jī)科學(xué)系或年齡大于19歲的學(xué)生的學(xué)號(hào)。,連接的表示。(涉及參與連接的所有表)例7查詢選修1號(hào)課程的學(xué)生的姓名。,例8查詢未選修1號(hào)課程的學(xué)生的姓名。,自表連接的表示。例9查詢有兩個(gè)人以上選修的課程號(hào)。,,二.更新操作(略),作業(yè),本章習(xí)題5。(P80),

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!