下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
語法樹學習?筆記——數(shù)據(jù)庫實現(xiàn)?原理5.2寫sql?語句-畫語法樹-邏輯查詢計?劃-簡單優(yōu)化(選擇、投影)5.2.1寫sql語?句這部分不是?在這兒學的?,簡單說說吧?,高手略過,挑毛病也可?:舉例:查詢生于1?960年的影星的?名字:SELEC?TnameFROMMovie?StarWHERE?birth?dateLIKE’%1960’Selec?t是查詢語句?開頭的關鍵?字,永遠不變,記住即可(別寫錯單詞?就行)后面跟著的?是一個或多?個屬性名(在數(shù)據(jù)庫中?叫字段名),此處是影星?數(shù)據(jù)庫表的?一個字段“name”,存儲的是影?星的名字。注意:如果這里有?多個屬性名?,請用逗號“,”分隔開From也是關鍵字?,后面跟著的?是數(shù)據(jù)庫表?名,就是關系名?(R),也可以有多?個,用逗號分隔?Where?查詢是條件?部分,后面跟著的?是查詢條件?表達式,由屬性名、值、運算或比較?符號等組成?。這個例子的?查詢條件是?:生日(birth?date)屬性值為以?1960結(jié)?尾的那些記?錄,“%”是通配符(通配所有長?度的字符串?,“_”只通配長度?為1的字符?串),注意:用通配符時?一定要用L?ike關鍵?字哦。如果字段是?日期類型的?,快看SQL?的書吧,要對準格式?的!5.2.2畫語法樹先看語法樹?中要用到的?語法:語法類<Attr>,<Rel>和<Value?>(或Patt?ern)比較特殊,因為它們不?是通過語法?規(guī)則定義的,而是通過它?們所代表的?原子的規(guī)則?來定義的。–Attr的?子女必須是?符合數(shù)據(jù)庫?模式中屬性?名的字符串?–Rel的子?女必須是符?合數(shù)據(jù)庫模?式中關系名?的字符串–Value?(或Patt?ern)必須是符合?SQL語法?的字符串或?數(shù)值看個例子吧?:假設一個數(shù)?據(jù)庫中存儲?著學生和系?院兩個表如?下:我們想要查?詢到所有具?有四年級學?生的系院的?名稱:Selec?tDeptN?amefromDepar?tment?,Stude?ntwhere?Stude?nt.Major?=Depar?tment?.CodeAndStude?nt.Year=4就是讓St?udent?和Depa?rtmen?t兩個表通?過“專業(yè)”Major?進行等值連?接(join),并限定只返?回Stud?ent中有?四年級的那?些記錄語法樹如下?:這里只要注?意語法名稱?和畫法即可?。注意:1、在From?List中?的屬性名用?Rel表示?,不要用At?tr,2、如果Fro?mList?中有兩個以?上的關系(表)名,則請在第二?個以后的<Rel>的上層加入?一個<FromL?ist>!3、條件<Condi?tion>中如果有多?個條件,請將每個條?件用多級<Condi?tion>分層,直到最后細?化到<Attr>,<Value?>對應的具體?屬性名稱或?值為止。5.2.3邏輯查詢計?劃樹從語法分析?樹到邏輯查?詢計劃樹,看一個簡單?的情況的圖?例:轉(zhuǎn)換成關系?代數(shù)的方法?:–直接將所有?“簡單的”selec?t-from-where?結(jié)構(gòu)轉(zhuǎn)換成?關系代數(shù),具體地:?如果有一個?屬于“SFW”成份的<query?>,并且該成份?中的<Condi?tion>沒有子查詢?,則我們可以?用一個關系?代數(shù)表達式?來替換整個?成份—selec?t列表、from列?表以及條件?,其中代數(shù)表?達式自底向?上由以下內(nèi)?容組成:–<FromL?ist>中提及的全?部關系的積?是以下操作?符的參數(shù):–選擇σC,其中C就是?要被替換成?份中的“condi?tion”表達式的參?數(shù),同時選擇又?是下面操作?符的參數(shù)–投影πL,其中L是”SelLi?st”中的屬性列?表??聪旅娴膱D?例琢磨琢磨?:如果涉及到?嵌套查詢,那么有關如?何從條件中?去除子查詢?的部分大家?就到網(wǎng)上查?找吧,如果知道了?原理也不難?,這里就不研?究了,汗……5.2.4啟發(fā)式優(yōu)化?啟發(fā)式優(yōu)化?的原則:–盡可能地將?選擇條件下?推,盡早執(zhí)行選?擇,使得過濾后?的中間結(jié)果?盡可能地小?;–用連接(join)替換笛卡爾?積–盡可能下推?投影,在適當?shù)奈?置增加投影?操作利用pip?eline?,減少查詢計?劃的執(zhí)行時?間看圖例吧:呵呵,上圖不需要?優(yōu)化,按照啟發(fā)式?優(yōu)化的原則?,已經(jīng)是最優(yōu)?了。這個需要優(yōu)?化:1、用join?替換了笛卡?爾積和選擇?的組合,注意替換的?細節(jié),選擇的條件?成為了jo?in的條件?,2、下推了投影?,因為下面f?rom列表?中的Dep?artme?nt是可以?提前進行投?影的(可以減少結(jié)?果集),不過注意要?將code?一起投影下?來,因為在上層?進行joi?n時是需要?code這?個屬性的,否則將jo?in不出任?何結(jié)果,這個很重要?,一定要記住?!再看一個例?子:注意:這個例子比?上圖多了一?個下推了選?擇,下推選擇時?要注意,因為只有S?tuden?t有Yea?r(學年)的屬性,所以,只能下推到?Stude?nt那里,而且因為D?epart?ment中?沒有Yea?r屬性,所以Joi?n時不需要?這個條件!也就是因為?以上兩個原?因
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 板塊模型微課程設計
- 水輔課程設計
- 污水廠課程設計
- 2024年度淘寶美工設計專項定制合同書3篇
- 換熱器的課程設計總結(jié)
- 2024年度智能地磅采購協(xié)議范本3篇
- 2024中醫(yī)師承傳承基地建設與運營合同3篇
- 液壓課程設計學到了什么
- 特殊兒童飲食的課程設計
- 漫畫油畫課程設計思路
- DB4401-T 43-2020 反恐怖防范管理+防沖撞設施-(高清現(xiàn)行)
- 2023年9月新《醫(yī)療器械分類目錄》-自2023年8月1日起施行
- 縣域醫(yī)療健康服務集團(醫(yī)共體)藥品耗材統(tǒng)一采購管理工作方案
- 【精品】小學四年級語文閱讀理解專項練習(共20篇)(常用)
- 衛(wèi)生部手術(shù)分級目錄(版)
- 江蘇省第十四批省級民主法治示范村
- 全國行政區(qū)域身份證代碼表(EXCEL版)
- 《S7-1200-PLC-編程及應用技術(shù)》試題試卷及答案2套
- 通風與空調(diào)工程施工質(zhì)量驗收規(guī)范課件
- 300T汽車吊主臂起重性能表
- 燃氣輪機及燃氣蒸汽聯(lián)合循環(huán)概述匯總
評論
0/150
提交評論