




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
第二章關(guān)系數(shù)據(jù)庫演示文稿目前一頁\總數(shù)七十一頁\編于十七點第二章關(guān)系數(shù)據(jù)庫2.1關(guān)系模型概述2.2關(guān)系數(shù)據(jù)結(jié)構(gòu)2.3關(guān)系的完整性2.4關(guān)系代數(shù)2.5關(guān)系演算2.6小結(jié)目前二頁\總數(shù)七十一頁\編于十七點2.5關(guān)系演算關(guān)系演算是以數(shù)理邏輯中的謂詞演算為基礎(chǔ)的按謂詞變元的不同,關(guān)系演算分為元組關(guān)系演算和域關(guān)系演算目前三頁\總數(shù)七十一頁\編于十七點2.5關(guān)系演算謂詞的概念與表示反映判斷的句子是由主語和謂詞兩部分組成例如:電子計算機是科學(xué)技術(shù)的工具其中:電子計算機是主語是科學(xué)技術(shù)的工具是謂語主語一般是客體,可以是具體的,可以是抽象用以刻畫客體的性質(zhì)或關(guān)系的既是謂詞目前四頁\總數(shù)七十一頁\編于十七點2.5關(guān)系演算我們用大寫字母來表示謂詞,用小寫字母來表示客體例如:張三是大學(xué)生用A表示是大學(xué)生用c表示張三則張三是大學(xué)生可以表示為A(c)目前五頁\總數(shù)七十一頁\編于十七點2.5關(guān)系演算例如:a是小于b用B來表示”是小于”則”a是小于b”可表示為B(a,b)A(c)為一元謂詞B(a,b)為二元謂詞目前六頁\總數(shù)七十一頁\編于十七點命題函數(shù)L(x,y)表示”x小于y”,L(2,3)表示一個真命題,L(3,1)表示一個假命題.由一個謂詞,一些客體變元組成的表達(dá)式為簡單命題函數(shù)目前七頁\總數(shù)七十一頁\編于十七點命題命題是反映判斷的句子,不反映判斷的句子不是命題。目前八頁\總數(shù)七十一頁\編于十七點全稱量詞S(x)表示x是大學(xué)生,x的域為某單位的職工那么:S(x)可以表示為某單位的職工都是大學(xué)生,也可以表示為某單位存在一些職工是大學(xué)生。為了避免這種理解上的混亂,需要引入量詞,來區(qū)分“所有的”和”存在一些“的不同概念目前九頁\總數(shù)七十一頁\編于十七點量詞引入量詞X表示對所有的x,任何一個x,每一個x存在量詞:X,表示存在一些M(x):x是人,H(X):x要呼吸x(M(X)H(X))目前十頁\總數(shù)七十一頁\編于十七點量詞命題:存在一些數(shù)是質(zhì)數(shù)P(x):x是質(zhì)數(shù)存在一些數(shù)是質(zhì)數(shù):表示為X(p(x))目前十一頁\總數(shù)七十一頁\編于十七點量詞全稱量詞與存在量詞的轉(zhuǎn)換(x)p(x)(X)(px)目前十二頁\總數(shù)七十一頁\編于十七點2.5關(guān)系演算關(guān)系演算以數(shù)理邏輯中的謂詞演算為基礎(chǔ)按謂詞變元不同進行分類1.元組關(guān)系演算:以元組變量作為謂詞變元的基本對象元組關(guān)系演算語言ALPHA2.域關(guān)系演算:以域變量作為謂詞變元的基本對象域關(guān)系演算語言QBE目前十三頁\總數(shù)七十一頁\編于十七點2.5.1元組關(guān)系演算語言ALPHA由提出INGRES所用的QUEL語言是參照ALPHA語言研制的語句檢索語句GET更新語句PUT,HOLD,UPDATE,DELETE,DROP目前十四頁\總數(shù)七十一頁\編于十七點一、檢索操作
語句格式:
GET
工作空間名[(定額)](表達(dá)式1)
[:操作條件][DOWN/UP表達(dá)式2]
定額:規(guī)定檢索的元組個數(shù)格式:數(shù)字表達(dá)式1:指定語句的操作對象格式:關(guān)系名|關(guān)系名.屬性名|元組變量.屬性名|集函數(shù)[,…]操作條件:將操作結(jié)果限定在滿足條件的元組中格式:邏輯表達(dá)式表達(dá)式2:指定排序方式格式:關(guān)系名.屬性名|元組變量.屬性名[,…]目前十五頁\總數(shù)七十一頁\編于十七點一、檢索操作
(1)簡單檢索
GET
工作空間名(表達(dá)式1)[例1]查詢所有被選修的課程號碼。
GETW(SC.Cno)
[例2]查詢所有學(xué)生的數(shù)據(jù)。
GETW(Student)目前十六頁\總數(shù)七十一頁\編于十七點(2)限定的檢索格式
GET
工作空間名(表達(dá)式1):操作條件[例3]查詢信息系(IS)中年齡小于20歲的學(xué)生的學(xué)號和年齡
GETW(Student.Sno,Student.Sage):Student.Sdept='IS'∧Student.Sage<20目前十七頁\總數(shù)七十一頁\編于十七點(3)帶排序的檢索格式
GET
工作空間名(表達(dá)式1)[:操作條件]DOWN/UP表達(dá)式2
[例4]查詢計算機科學(xué)系(CS)學(xué)生的學(xué)號、年齡,結(jié)果按年齡降序排序
GETW(Student.Sno,Student.Sage):Student.Sdept='CS‘DOWNStudent.Sage目前十八頁\總數(shù)七十一頁\編于十七點(4)帶定額的檢索
格式
GET
工作空間名(定額)(表達(dá)式1)
[:操作條件][DOWN/UP表達(dá)式2][例5]取出一個信息系學(xué)生的學(xué)號。
GETW(1)(Student.Sno): Student.Sdept='IS'
[例6]查詢信息系年齡最大的三個學(xué)生的學(xué)號及其年齡,結(jié)果按年齡降序排序。
GETW(3)(Student.Sno,Student.Sage):Student.Sdept='IS'DOWNStudent.Sage目前十九頁\總數(shù)七十一頁\編于十七點(5)用元組變量的檢索元組變量的含義表示可以在某一關(guān)系范圍內(nèi)變化(也稱為范圍變量RangeVariable)元組變量的用途①簡化關(guān)系名:設(shè)一個較短名字的元組變量來代替較長的關(guān)系名。②操作條件中使用量詞時必須用元組變量。定義元組變量格式:RANGE關(guān)系名變量名一個關(guān)系可以設(shè)多個元組變量目前二十頁\總數(shù)七十一頁\編于十七點(6)用存在量詞的檢索操作條件中使用量詞時必須用元組變量
[例8]查詢選修2號課程的學(xué)生名字。
RANGESCX
GETW(Student.Sname):X(X.Sno=Student.Sno∧X.Cno='2')[例9]查詢選修了這樣課程的學(xué)生學(xué)號,其直接先行課是6號課程。
RANGECourseCXGETW(SC.Sno):
CX(CX.Cno=SC.Cno∧CX.Pcno='6')目前二十一頁\總數(shù)七十一頁\編于十七點用存在量詞的檢索(續(xù))[例10]查詢至少選修一門其先行課為6號課程的學(xué)生名字
RANGECourseCXSCSCX GETW(Student.Sname):SCX(SCX.Sno=Student.Sno∧
CX(CX.Cno=SCX.Cno∧CX.Pcno='6'))
前束范式形式:
GETW(Student.Sname):
SCXCX(SCX.Sno=Student.Sno∧CX.Cno=SCX.Cno∧CX.Pcno='6')目前二十二頁\總數(shù)七十一頁\編于十七點(7)帶有多個關(guān)系的表達(dá)式的檢索
[例11]查詢成績?yōu)?0分以上的學(xué)生名字與課程名字。
RANGESCSCXGETW(Student.Sname,Course.Cname):
SCX(SCX.Grade≥90∧SCX.Sno=Student.Sno∧Course.Cno=SCX.Cno)目前二十三頁\總數(shù)七十一頁\編于十七點(8)用全稱量詞的檢索
[例12]查詢不選1號課程的學(xué)生名字
RANGESCSCXGETW(Student.Sname):SCX(SCX.Sno≠Student.Sno∨SCX.Cno≠'1')用存在量詞表示:
RANGESCSCXGETW(Student.Sname):
SCX(SCX.Sno=Student.Sno∧SCX.Cno='1')目前二十四頁\總數(shù)七十一頁\編于十七點(9)用兩種量詞的檢索[例13]查詢選修了全部課程的學(xué)生姓名。
RANGECourseCXSCSCXGETW(Student.Sname):CXSCX(SCX.Sno=Student.Sno∧ SCX.Cno=CX.Cno)目前二十五頁\總數(shù)七十一頁\編于十七點(10)用蘊函(Implication)的檢索
[例14]查詢最少選修了200215122學(xué)生所選課程的學(xué)生學(xué)號
RANGECouseCXSCSCXSCSCYGETW(Student.Sno):CX(SCX(SCX.Sno=‘200215122'∧SCX.Cno=CX.Cno) SCY(SCY.Sno=Student.Sno∧ SCY.Cno=CX.Cno))目前二十六頁\總數(shù)七十一頁\編于十七點(11)聚集函數(shù)常用聚集函數(shù)(Aggregationfunction)或內(nèi)部函數(shù)(Build-infunction)關(guān)系演算中的聚集函數(shù)
函數(shù)名功能COUNT對元組計數(shù)TOTAL求總和MAX求最大值MIN求最小值A(chǔ)VG求平均值目前二十七頁\總數(shù)七十一頁\編于十七點聚集函數(shù)(續(xù))[例15]查詢學(xué)生所在系的數(shù)目。
GETW(COUNT(Student.Sdept))COUNT函數(shù)在計數(shù)時會自動排除重復(fù)值。
[例16]查詢信息系學(xué)生的平均年齡
GETW(AVG(Student.Sage):Student.Sdept='IS’)目前二十八頁\總數(shù)七十一頁\編于十七點二、更新操作(1)修改操作(2)插入操作(3)刪除操作目前二十九頁\總數(shù)七十一頁\編于十七點(1)修改操作步驟①用HOLD語句將要修改的元組從數(shù)據(jù)庫中讀到工作空間中HOLD工作空間名(表達(dá)式1)[:操作條件]HOLD語句是帶上并發(fā)控制的GET語句②用宿主語言修改工作空間中元組的屬性③用UPDATE語句將修改后的元組送回數(shù)據(jù)庫中
UPDATE工作空間名目前三十頁\總數(shù)七十一頁\編于十七點修改操作(續(xù))
[例17]把200215121學(xué)生從計算機科學(xué)系轉(zhuǎn)到信息系。
HOLDW(Student.Sno,Student.Sdetp):Student.Sno=‘200215121'
(從Student關(guān)系中讀出95007學(xué)生的數(shù)據(jù))
MOVE'IS'TOW.Sdept
(用宿主語言進行修改)
UPDATEW
(把修改后的元組送回Student關(guān)系)目前三十一頁\總數(shù)七十一頁\編于十七點(2)插入操作步驟①用宿主語言在工作空間中建立新元組②用PUT語句把該元組存入指定關(guān)系中
PUT工作空間名(關(guān)系名)
PUT語句只對一個關(guān)系操作,關(guān)系演算中的聚集函數(shù)
目前三十二頁\總數(shù)七十一頁\編于十七點插入操作(續(xù))[例18]學(xué)校新開設(shè)了一門2學(xué)分的課程“計算機組織與結(jié)構(gòu)”,其課程號為8,直接先行課為6號課程。插入該課程元組
MOVE'8'TOW.CnoMOVE'計算機組織與結(jié)構(gòu)'TOW.CnameMOVE'6'TOW.CpnoMOVE'2'TOW.CcreditPUTW(Course)目前三十三頁\總數(shù)七十一頁\編于十七點(3)刪除操作步驟①用HOLD語句把要刪除的元組從數(shù)據(jù)庫中讀到工作空間中②用DELETE語句刪除該元組
DELETE工作空間名目前三十四頁\總數(shù)七十一頁\編于十七點刪除操作(續(xù))[例19]200215125學(xué)生因故退學(xué),刪除該學(xué)生元組
HOLDW(Student):Student.Sno=‘200215125'DELETEW
目前三十五頁\總數(shù)七十一頁\編于十七點刪除操作(續(xù))[例20]將學(xué)號200215121改為200215126HOLDW(Student):Student.Sno=‘200215121'DELETEWMOVE‘200215126'TOW.SnoMOVE'李勇'TOW.SnameMOVE'男'TOW.SsexMOVE'20‘TOW.SageMOVE'CS'TOW.SdeptPUTW(Student)
目前三十六頁\總數(shù)七十一頁\編于十七點刪除操作(續(xù))[例21]刪除全部學(xué)生
HOLDW(Student)DELETEW
為保證參照完整性,刪除Student中元組時相應(yīng)地要刪除SC中的元組
HOLDW(SC)DELETEW
目前三十七頁\總數(shù)七十一頁\編于十七點小結(jié):元組關(guān)系演算語言ALPHA檢索操作GETGET
工作空間名
[(定額)](表達(dá)式1)
[:操作條件][DOWN/UP表達(dá)式2]插入操作建立新元組--PUT修改操作HOLD--修改--UPDATE刪除操作HOLD--DELETE目前三十八頁\總數(shù)七十一頁\編于十七點2.5關(guān)系演算2.5.1元組關(guān)系演算語言ALPHA2.5.2域關(guān)系演算語言QBE目前三十九頁\總數(shù)七十一頁\編于十七點2.5.2域關(guān)系演算語言QBE
一種典型的域關(guān)系演算語言 由提出以元組變量的分量即域變量作為謂詞變元的基本對象QBE:QueryByExample基于屏幕表格的查詢語言查詢要求:以填寫表格的方式構(gòu)造查詢用示例元素(域變量)來表示查詢結(jié)果可能的情況查詢結(jié)果:以表格形式顯示目前四十頁\總數(shù)七十一頁\編于十七點QBE操作框架
關(guān)系名屬性名操作命令元組屬性值或查詢條件或操作命令目前四十一頁\總數(shù)七十一頁\編于十七點一、檢索操作1.簡單查詢[例1]求信息系全體學(xué)生的姓名操作步驟為:(1)用戶提出要求;(2)屏幕顯示空白表格;目前四十二頁\總數(shù)七十一頁\編于十七點簡單查詢(續(xù))(3)用戶在最左邊一欄輸入要查詢的關(guān)系名Student;(4)系統(tǒng)顯示該關(guān)系的屬性名
StudentStudentSnoSnameSsexSageSdept目前四十三頁\總數(shù)七十一頁\編于十七點簡單查詢(續(xù))(5)用戶在上面構(gòu)造查詢要求李勇是示例元素,即域變量(6)屏幕顯示查詢結(jié)果StudentSnoSnameSsexSageSdeptP.李勇ISStudentSnoSnameSsexSageSdept李勇張立IS目前四十四頁\總數(shù)七十一頁\編于十七點構(gòu)造查詢的幾個要素示例元素即域變量一定要加下劃線示例元素是這個域中可能的一個值,它不必是查詢結(jié)果中的元素打印操作符P.實際上是顯示查詢條件可使用比較運算符>,≥,<,≤,=和≠其中=可以省略目前四十五頁\總數(shù)七十一頁\編于十七點簡單查詢(續(xù))[例2]查詢?nèi)w學(xué)生的全部數(shù)據(jù)StudentSnoSnameSsexSageSdeptP.200215121P.李勇P.男P.20P.CS目前四十六頁\總數(shù)七十一頁\編于十七點簡單查詢(續(xù))顯示全部數(shù)據(jù)也可以簡單地把P.操作符作用在關(guān)系名上。
StudentSnoSnameSsexSageSdeptP.目前四十七頁\總數(shù)七十一頁\編于十七點2.條件查詢
[例3]求年齡大于19歲的學(xué)生的學(xué)號StudentSnoSnameSsexSageSdeptP.200215121>19目前四十八頁\總數(shù)七十一頁\編于十七點條件查詢(與條件)[例4]求計算機科學(xué)系年齡大于19歲的學(xué)生的學(xué)號。方法(1):把兩個條件寫在同一行上StudentSnoSnameSsexSageSdeptP.200215121>19CS目前四十九頁\總數(shù)七十一頁\編于十七點條件查詢(與條件)方法(2):把兩個條件寫在不同行上,但使用相同的示例元素值StudentSnoSnameSsexSageSdeptP.200215121P.200215121>19CS目前五十頁\總數(shù)七十一頁\編于十七點條件查詢(與條件)[例5]查詢既選修了1號課程又選修了2號課程的學(xué)生的學(xué)號。ScSnoCnoGradeP.200215121P.20021512112目前五十一頁\總數(shù)七十一頁\編于十七點條件查詢(或條件)[例6]查詢計算機科學(xué)系或者年齡大于19歲的學(xué)生的學(xué)號。StudentSnoSnameSsexSageSdeptP.200215121P.200215122>19CS目前五十二頁\總數(shù)七十一頁\編于十七點條件查詢(多表連接)[例7]查詢選修1號課程的學(xué)生姓名。
StudentSnoSnameSsexSageSdept200215121P.李勇注意:示例元素Sno是連接屬性,其值在兩個表中要相同。
ScSnoCnoGrade2002151211目前五十三頁\總數(shù)七十一頁\編于十七點條件查詢(非條件)[例8]查詢未選修1號課程的學(xué)生姓名
StudentSnoSnameSsexSageSdept200215121P.李勇思路:顯示學(xué)號為200215121的學(xué)生名字,而該學(xué)生選修1號課程的情況為假ScSnoCnoGrade2002151211目前五十四頁\總數(shù)七十一頁\編于十七點條件查詢(續(xù))[例9]查詢有兩個人以上選修的課程號。思路:查詢這樣的課程1,它不僅被200215121選修而且也被另一個學(xué)生(200215121)選修了ScSnoCnoGrade200215121200215121P.11目前五十五頁\總數(shù)七十一頁\編于十七點3.聚集函數(shù)常用聚集函數(shù):QBE中的聚集函數(shù)函數(shù)名功能CNT對元組計數(shù)SUM求總和AVG求平均值MAX求最大值MIN求最小值目前五十六頁\總數(shù)七十一頁\編于十七點聚集函數(shù)(續(xù))[例10]查詢信息系學(xué)生的平均年齡。StudentSnoSnameSsexSageSdeptP.AVG.ALLIS目前五十七頁\總數(shù)七十一頁\編于十七點4.對查詢結(jié)果排序升序排序:對查詢結(jié)果按某個屬性值的升序排序,只需在相應(yīng)列中填入“AO.”降序排序:按降序排序則填“DO.”多列排序:如果按多列排序,用“AO(i).”或“DO(i).”表示,其中i為排序的優(yōu)先級,i值越小,優(yōu)先級越高目前五十八頁\總數(shù)七十一頁\編于十七點對查詢結(jié)果排序(續(xù))[例11]查全體男生的姓名,要求查詢結(jié)果按所在系升序排序,對相同系的學(xué)生按年齡降序排序。StudentSnoSnameSsexSageSdeptP.李勇男DO(2).AO(1).目前五十九頁\總數(shù)七十一頁\編于十七點二、更新操作1.修改操作[例12]把200215121學(xué)生的年齡改為18歲。方法(1):將操作符“U.”放在值上StudentSnoSnameSsexSageSdept200215121U.18目前六十頁\總數(shù)七十一頁\編于十七點修改操作(續(xù))方法(2):將操作符“U.”放在關(guān)系上碼200215121標(biāo)明要修改的元組?!癠.”標(biāo)明所在的行是修改后的新值。由于主碼是不能修改的,所以系統(tǒng)不會混淆要修改的屬性。StudentSnoSnameSsexSageSdeptU.20021512118目前六十一頁\總數(shù)七十一頁\編于十七點修改操作(續(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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 小班家園共育活動方案計劃
- 特許投資分析中的技術(shù)應(yīng)用試題及答案
- 2024年計算機二級重要策略試題及答案
- 2024年流程優(yōu)化在投資中的應(yīng)用試題及答案
- 生態(tài)保護區(qū)的選址與地理因素-試題及答案
- 電子商務(wù)職教市場的品牌建設(shè)與形象傳播試題及答案
- 城市化進程對環(huán)境影響試題及答案
- 動物非感染性疾病新知試題及答案
- 2024互聯(lián)網(wǎng)營銷師效率提升試題及答案
- 2024年人力資源管理師考題解析試題及答案
- 2024年計算機二級WPS考試題庫(共380題含答案)
- 漢字的奧秘探索
- 《海上風(fēng)電設(shè)備運輸規(guī)范》
- 2024年江蘇省徐州市中考數(shù)學(xué)真題卷及答案解析
- 2025屆云南省民族大學(xué)附屬中學(xué)高三(最后沖刺)數(shù)學(xué)試卷含解析
- 湖北省七市2025屆高三下學(xué)期第五次調(diào)研考試數(shù)學(xué)試題含解析
- 2024年太陽能電池片產(chǎn)業(yè)海外專利預(yù)警分析報告
- 2023河南專升本英語真題及答案
- 河流沿岸護欄安裝工程協(xié)議
- 前庭陣發(fā)癥-講稿
- 第十三屆全國交通運輸行業(yè)城市軌道交通列車司機(學(xué)生組)職業(yè)技能大賽技術(shù)方案
評論
0/150
提交評論