




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第5章
關(guān)系數(shù)據(jù)庫方法本章導(dǎo)讀本章為次重點(diǎn)章,主要介紹了關(guān)系模型的關(guān)系運(yùn)算理論、關(guān)系代數(shù),使學(xué)生理解操作對象為數(shù)據(jù)表的運(yùn)算,為后續(xù)數(shù)據(jù)查詢打下基礎(chǔ),同時(shí)對課程綜合案例中的數(shù)據(jù)表進(jìn)行運(yùn)算,使學(xué)生進(jìn)一步理解數(shù)據(jù)表的運(yùn)算。5.1.1關(guān)系模型概述關(guān)系是一張二維表格。在關(guān)系數(shù)據(jù)庫系統(tǒng)中通過二維表格組織數(shù)據(jù),表達(dá)信息。關(guān)系操作指存儲(chǔ)操作和檢索操作,且以檢索操作為核心。關(guān)系操作的數(shù)據(jù)對象是二維表格。關(guān)系模型給出了關(guān)系操作的能力和特點(diǎn)。關(guān)系操作包括:選擇、投影、條件連接、除、并、交、差等查詢操作、添加、刪除和修改操作。關(guān)系模型有三類完整性約束,分別是實(shí)體完整性、參照完整性和用戶定義的完整性。
5.1關(guān)系數(shù)據(jù)庫的基本概念5.1.2關(guān)系數(shù)據(jù)結(jié)構(gòu)及形式化定義定義5.1:域(Domain)是值的集合,屬性的取值范圍。基數(shù)是域的取值個(gè)數(shù)。例如:域,姓名={李麗,馬俊萍,王永明,姚江},基數(shù)為4;域,系={管理信息系,汽車系,海運(yùn)},基數(shù)為3;域,性別={男,女},基數(shù)為2;2.笛卡爾積定義5.2:給定一組域D1,D2,…,Dn,則D1×D2×…×Dn={(d1,d2,…,dn)|di∈Di,i=1,2,…,n}稱為D1,D2,…,Dn的笛卡爾積。其中每一個(gè)(d1,d2,…,dn)叫做一個(gè)n元組(表中的一行,稱為一個(gè)元組),元組中的每一個(gè)di是Di域中的一個(gè)值,稱為一個(gè)分量(元組中的屬性)。若Di(i=1,2,…,n)為有限集,其基數(shù)為mi(i=1,2,…,n),則D1×D2×…×Dn的基數(shù)為:m=m1×m2×…×mn(i=1,2,…,n);其中:m=笛卡爾積的基數(shù)。例:給定三個(gè)域:D1={李麗,馬俊萍},D2={管理信息系,汽車系},D3={男,女},則D1×D2×D3笛卡爾積是D1,D2,D3各域的各元素間的一切可能的組合。D1×D2×D3的基數(shù)為m,m=2×2×2=8。5.1.2關(guān)系數(shù)據(jù)結(jié)構(gòu)及形式化定義姓名系性別李麗管理信息系男李麗管理信息系女李麗汽車系男李麗汽車系女馬俊萍管理信息系男馬俊萍管理信息系女馬俊萍汽車系男馬俊萍汽車系女表5.1D1×D2×D3笛卡爾積5.1.2關(guān)系數(shù)據(jù)結(jié)構(gòu)及形式化定義5.1.2關(guān)系數(shù)據(jù)結(jié)構(gòu)及形式化定義定義5.3關(guān)系的描述稱為關(guān)系模式。它可以形式化地表示為:R(U),其中R為關(guān)系名,U為組成該關(guān)系的屬性名集合。簡記為:關(guān)系名(屬性名1,屬性名2,…,屬性n)。定義5.4:給定一組域D1,D2,…,Dn
,則D1×D2×…×Dn的子集稱為D1×D2×…×Dn上的關(guān)系:記作R(D1,D2,…,Dn,),其中,R為關(guān)系名,n為關(guān)系R的度或目。當(dāng)n=1時(shí),稱該關(guān)系為單元關(guān)系,當(dāng)n=2時(shí),稱該關(guān)系為二元關(guān)系。例:表5.1中有兩個(gè)元組符合實(shí)際情況,構(gòu)成名為“職工”的關(guān)系。如表5.2所示,可記作:職工(姓名,職稱,性別)。姓名系性別李麗管理信息系男李麗管理信息系女李麗汽車系男李麗汽車系女馬俊萍管理信息系男馬俊萍管理信息系女馬俊萍汽車系男馬俊萍汽車系女表5.1
關(guān)系中的某一屬性組,若它的值唯一地標(biāo)識(shí)一個(gè)元組(記錄),則稱該屬性組為候選鍵(碼),若一個(gè)關(guān)系有多個(gè)候選鍵,則選定其中一個(gè)為主鍵(碼),主鍵的諸屬性稱為主屬性。關(guān)系可以有三種類型:基本關(guān)系(通常又稱為基本表或基表)、查詢表和視圖表。關(guān)系性質(zhì)任意兩個(gè)元組(即兩行)不能完全相同。關(guān)系中元組(行)的次序是不重要的,可以任意交換。屬性(列)的次序也是不重要的,可以任意交換。同一列中的分量,必須來自同一個(gè)域,是同類型的數(shù)據(jù)。屬性必須有不同的名稱,但不同的屬性可以出自相同的域,即它們的分量可以取值于同一個(gè)域。每一分量必須是原子的,即是不可再分的數(shù)據(jù)項(xiàng)。對關(guān)系模式的數(shù)據(jù)操縱可描述為:操縱的對象基本操縱方式有五種,屬性指定元組選擇關(guān)系合并元組插入元組刪除。5.1.3關(guān)系數(shù)據(jù)庫模式多個(gè)關(guān)系的集合構(gòu)成了關(guān)系數(shù)據(jù)庫傳統(tǒng)的集合運(yùn)算主要指并、交、差、笛卡爾積四種運(yùn)算。它們傳統(tǒng)地用于兩個(gè)集合之間的運(yùn)算。當(dāng)用于關(guān)系運(yùn)算時(shí),參加運(yùn)算的關(guān)系必須是相容的和可并的,即它們應(yīng)有相同的度(屬性個(gè)數(shù)相等),且相應(yīng)的屬性值來自同一域。如表5.3和表5.4中的關(guān)系J和K就是兩個(gè)相容的關(guān)系。5.2關(guān)系代數(shù)5.2.1傳統(tǒng)的集合運(yùn)算學(xué)號課程號成績學(xué)號課程號成績J0401C0188J0401C0188J0401C0293J0402C0190J0401C0399J0403C0176Q0401C0190表5.3關(guān)系J表5.4關(guān)系K關(guān)系J與關(guān)系K之并,記作J∪K1.并運(yùn)算5.2.1傳統(tǒng)的集合運(yùn)算學(xué)號課程號成績J0401C0188J0401C0293J0401C0399J0402C0190J0403C0176Q0401C0190表5.5J∪K關(guān)系J與關(guān)系K之差,記作J-K2.差運(yùn)算5.2.1傳統(tǒng)的集合運(yùn)算學(xué)號課程號成績J0401C0293J0401C0399表5.5J-K關(guān)系J與關(guān)系K之交,記作J∩K3.交運(yùn)算5.2.1傳統(tǒng)的集合運(yùn)算學(xué)號課程號成績J0401C0188表5.5J∩
K兩個(gè)分別為n目和m目的關(guān)系J和K的廣義笛卡爾積是一個(gè)(n+m)列的元組的集合。元組的前n列是關(guān)系J的一個(gè)元組,后m列是關(guān)系K的一個(gè)元組。若J有k1個(gè)元組,K有k2個(gè)元組,則關(guān)系J和關(guān)系K的廣義笛卡爾積有k1×k2個(gè)元組。4.廣義笛卡爾積5.2.1傳統(tǒng)的集合運(yùn)算學(xué)號課程號成績學(xué)號課程號成績J0401C0188J0401C0188J0401C0188J0402C0190J0401C0188J0403C0176J0401C0188Q0401C0190J0401C0293J0401C0188J0401C0293J0402C0190J0401C0293J0403C0176J0401C0293Q0401C0190J0401C0399J0401C0188J0401C0399J0402C0190J0401C0399J0403C0176J0401C0399Q0401C0190表5.8J×K5.2.2專門的關(guān)系運(yùn)算公式表示:<關(guān)系名>[<條件>],記為:σc(J)。作用:在關(guān)系的水平方向上選取符合給定條件的子集。例5.1:找出關(guān)系J中成績大于或等于90的學(xué)號及其選修的課程號。公式:σ成績≥90(J)。1.選擇運(yùn)算學(xué)號課程號成績J0401C0293J0401C03995.2.2專門的關(guān)系運(yùn)算公式表示:∏[<屬性表>](關(guān)系名),記為:∏[U](J)。
作用:在關(guān)系的水平方向上選取符合給定條件的子集。在關(guān)系的垂直方向選取含有給定屬性的子集。如果新關(guān)系中包含重復(fù)元組,則要?jiǎng)h除重復(fù)元組。例5.2:找出關(guān)系J中選修了課程的學(xué)生學(xué)號及其選修的課程號。
公式:∏[學(xué)號,課程號](J)2.投影運(yùn)算學(xué)號課程號J0401C01J0401C02J0401C03表5.10
JK5.2.2專門的關(guān)系運(yùn)算例5.3:找出關(guān)系SC中選修了課程的學(xué)生學(xué)號。公式:∏[學(xué)號](SC)學(xué)號J0401J0402J0403Q0401Q0403表5.11
SNO3.連接JOIN運(yùn)算(1)條件連接5.2.2專門的關(guān)系運(yùn)算條件連接是二目運(yùn)算,它的操作對象有兩個(gè)關(guān)系。條件連接是從關(guān)系M和N的笛卡爾積中選取屬性值滿足連接的元組,連接可看成是有選擇的笛卡爾乘積。記為:MiθjN≡σiθ(n+j)(M×N)θ是比較運(yùn)算符,如果θ是等號“=”,該連接操作稱為“等值連接”。5.2.2專門的關(guān)系運(yùn)算(2)自然連接兩個(gè)關(guān)系M和N的自然連接用MN表示。選擇M和N公共屬性值均相等的元組,并去掉M×N中重復(fù)的公共屬性列。具體計(jì)算過程如下。①計(jì)算M×N②設(shè)M和N的公共屬性是A1,……,Ak,挑選M×N中滿足M.A1=N.A1,……,M.Ak=N.Ak的那些元組③去掉N.A1,……,N.Ak的這些列。5.2.2專門的關(guān)系運(yùn)算例5.4:利用數(shù)據(jù)表C、SC,求選修了課程“數(shù)據(jù)庫”的學(xué)生學(xué)號及課程成績。第一步:
將C與SC建立自然連接(兩數(shù)據(jù)表的公共屬性相等C.課程號=SC.課程號),得出新關(guān)系NEW=CSC,如表5.17所示。5.2.2專門的關(guān)系運(yùn)算第二步,對關(guān)系NEW進(jìn)行條件[課程名=‘?dāng)?shù)據(jù)庫’]選擇,運(yùn)算結(jié)果如表5.18所示,得到新關(guān)系NEW1=σ課程名=‘?dāng)?shù)據(jù)庫’(NEW)5.2.2專門的關(guān)系運(yùn)算第三步,對關(guān)系NEW1進(jìn)行投影運(yùn)算,運(yùn)算結(jié)果如表5.19所示,得到新關(guān)系NEW2,NEW2=∏[學(xué)號,課程名,成績](NEW1)5.2.2專門的關(guān)系運(yùn)算完整的公式如下:5.2.2專門的關(guān)系運(yùn)算4.除法運(yùn)算公式表示:<關(guān)系1>/<關(guān)系2>
,記為:T=M/N。作用:在商關(guān)系T中,只包含屬性組X(或者說關(guān)系M中的屬性組X、Y已除去N中的屬性組Y)。T中只允許保留這樣的元組:當(dāng)它們與N連接,所組成的新元組全部能在原來的關(guān)系M中找到。例5.5:利用數(shù)據(jù)表SC(見表5.16),求同時(shí)選修了課程號為“C01”和“C02”的學(xué)生學(xué)號。第一步,組建數(shù)據(jù)表N,如表5.20所示。驗(yàn)證:當(dāng)T與N連接時(shí),所組成的新元組全部能在原來的關(guān)系M中找到。第二步,完成除法運(yùn)算,設(shè)M=∏[學(xué)號,課程號](SC),T=M/N,如表5.21和表5.22所示5.2.3查詢優(yōu)化查詢優(yōu)化的目的是為了系統(tǒng)在執(zhí)行時(shí),既省時(shí)間又能提高效率。優(yōu)化的策略主要從算法步驟入手,在關(guān)系代數(shù)表達(dá)式中盡可能早地執(zhí)行選擇操作,把廣義笛卡爾積和隨后的選擇操作合并成連接運(yùn)算。例5.6:利用數(shù)據(jù)表S、SC,求“李麗”同學(xué)選修的課程號及課程成績。方法一:先進(jìn)行連接運(yùn)算,后執(zhí)行選擇操作。第一步,將S與SC建立自然連接,得出新關(guān)系SNEW第二步,對關(guān)系sNEW進(jìn)行條件[姓名=“李麗”]選擇.得出新關(guān)系SNEW1第三步,對關(guān)系sNEW1進(jìn)行投影運(yùn)算.sNEW2=∏[姓名,課程號,成績](sNEW1)方法二:盡可能早地執(zhí)行選擇操作第一步,對關(guān)系S進(jìn)行條件[姓名=“李麗”]選擇,得到新關(guān)系SLI第二步,將S與SC建立自然連接(兩數(shù)據(jù)表的公共屬性相等SLI.學(xué)號=SC.學(xué)號),得出新關(guān)系SLINEW第三步,對關(guān)系sLINEW進(jìn)行投影運(yùn)算在關(guān)系代數(shù)運(yùn)算中,把由基本操作經(jīng)過有限次復(fù)合的式子稱為關(guān)系代數(shù)表達(dá)式。這種表達(dá)式的結(jié)果仍然是一個(gè)關(guān)系??梢允褂藐P(guān)系代數(shù)表達(dá)式表示各種數(shù)據(jù)查詢操作。5.2.4關(guān)系代數(shù)應(yīng)用舉例例題:設(shè)“學(xué)生選課”數(shù)據(jù)庫中存在三個(gè)關(guān)系,具體內(nèi)容如表5.15~表5.24所示。學(xué)生基本資料表S(學(xué)號,姓名,性別,出生日期,系,電話)課程數(shù)據(jù)表C(課程號,課程名,學(xué)分,預(yù)選課程號,教師)學(xué)生選課數(shù)據(jù)表SC(學(xué)號,課程號,成績)下面用關(guān)系代數(shù)表達(dá)式表達(dá)各個(gè)查詢語句
1.檢索選修課程號為C03的學(xué)生學(xué)號與成績例題:設(shè)“學(xué)生選課”數(shù)據(jù)庫中存在三個(gè)關(guān)系,具體內(nèi)容如表5.15~表5.24所示。學(xué)生基本資料表S(學(xué)號,姓名,性別,出生日期,系,電話)課程數(shù)據(jù)表C(課程號,課程名,學(xué)分,預(yù)選課程號,教師)學(xué)生選課數(shù)據(jù)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 高校學(xué)生招聘面試實(shí)戰(zhàn)模擬題庫版
- 高品質(zhì)在線面試模擬題庫:匯豐求職經(jīng)驗(yàn)
- 醫(yī)學(xué)人才選拔實(shí)戰(zhàn)模擬:重癥急救面試題庫
- 科技趨勢下的職業(yè)發(fā)展路徑:攜程AI面試題庫引導(dǎo)
- 學(xué)校安全知識(shí)培訓(xùn)班課件總結(jié)
- 六年級上冊數(shù)學(xué)競賽試題-幾何綜合習(xí)題(含答案)
- 桉樹種植技術(shù)和撫育管理措施的建議思考
- 社區(qū)零售業(yè)態(tài)創(chuàng)新與數(shù)字化客戶關(guān)系管理報(bào)告2025
- 下沉市場消費(fèi)金融產(chǎn)品差異化競爭策略研究報(bào)告
- 不良資產(chǎn)處置行業(yè)市場格局報(bào)告:2025年創(chuàng)新模式市場趨勢分析
- 《健身步行指南》課件
- 《人工智能在軍事應(yīng)用中的前沿技術(shù)》課件
- 前臺(tái)文員如何進(jìn)行有效的時(shí)間分配計(jì)劃
- 2025至2030中國螢石市場供給前景預(yù)測及發(fā)展戰(zhàn)略規(guī)劃研究報(bào)告
- 倉庫承攬協(xié)議書范本
- 2024四川甘孜州康定市市屬國有企業(yè)招聘康定市投資發(fā)展集團(tuán)有限公司經(jīng)理層人員筆試參考題庫附帶答案詳解
- TLYCY 3071-2024 森林草原防火無人機(jī)監(jiān)測技術(shù)規(guī)范
- 急診護(hù)患溝通技巧
- 管廊鋼結(jié)構(gòu)制作安裝施工方案
- 智慧水利與水資源管理作業(yè)指導(dǎo)書
- 人教版高一英語必修一單詞表(帶音標(biāo)) mp3跟讀朗讀聽力下載
評論
0/150
提交評論