第四章——關(guān)系系統(tǒng)和查詢優(yōu)化

1,關(guān)系系統(tǒng)

1.1,最小關(guān)系系統(tǒng),關(guān)系完備系統(tǒng)和全關(guān)系系統(tǒng)

1.2,全關(guān)系系統(tǒng)的12條準(zhǔn)則


2,查詢優(yōu)化

2.1,六大準(zhǔn)則

選擇運(yùn)算要優(yōu)先

連接前要預(yù)處理(建立索引或者關(guān)系排序)

投影選擇同時做

投影雙目相結(jié)合

選擇結(jié)合笛卡爾(組成了一個連接運(yùn)算)

找出公共表達(dá)式


2.2,等價變換規(guī)則(十大變換)

連、笛交換律

連、笛結(jié)合律

投影串接律

選擇串接律

選投交換律

選笛交換律

選并交換律

選差交換律

投笛交換律

投并交換律

2.3,查詢優(yōu)化六步算法

1,利用串接定律把選擇拆單

2,利用4到8的交換律把選擇盡可能移動到樹的葉端

3,將投影用串接定律拆單,并通過投笛交換律和投并交換律盡量移動到葉端

4,利用選投交換律選擇投影變成單個選擇、單個投影或者一個選擇后跟著一個投影。

5,把雙目運(yùn)算符(笛,連,并,差)與父節(jié)點(diǎn)的選擇投影算做一組,如果雙目后代都是單目運(yùn)算符則也并入該組。注意,如果雙目運(yùn)算符是笛卡爾積,但是其后代中的選擇不能與其合并成連接時,那么就不能并為一組。(原書說了半天一個例子也沒舉,這本書經(jīng)常這樣)。

6,生成程序。

說句實話,1、2、3、4四步還可以理解,第5步我是不太理解作者想表達(dá)什么,隨緣吧。


2.4,查詢優(yōu)化一般步驟

生成內(nèi)部表示(生)——>語法書轉(zhuǎn)化為優(yōu)化形式(優(yōu))——>選擇底層存取路徑(選)——>估計代價選最?。ü溃?/p>


課后習(xí)題

解答:

1,最小關(guān)系系統(tǒng):僅支持關(guān)系數(shù)據(jù)結(jié)構(gòu)和三種關(guān)系操作(選擇、投影、連接)。

關(guān)系完備系統(tǒng):支持關(guān)系數(shù)據(jù)結(jié)構(gòu)和所有的關(guān)系操作。

全關(guān)系系統(tǒng):在關(guān)系完備的基礎(chǔ)上,支持域的概念,以及實體完整性和參照完整性。


2,書上原文,懶得抄了。


3,重要性:由于用戶的查詢語句是非過程化的,所以這意味著DBMS可以生成多種方案來完成一次查詢,這些方案的代價各不相同,所以DMBS必須適當(dāng)選擇合理的代價來完成用戶的查詢操作,這直接決定了一個數(shù)據(jù)庫系統(tǒng)的性能。

可能性:關(guān)系表達(dá)式的語義級別很高,使關(guān)系系統(tǒng)可以從關(guān)系表達(dá)式中分析查詢語義,這提供了查詢優(yōu)化的可能性。


4,最終的優(yōu)化就是把Student.Sdept = 'IS'移動到葉子端。

5,參考我前面歸納的六大準(zhǔn)則。

6,參考前面我歸納的一般步驟,即生優(yōu)選估。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容