2.4.1 關(guān)系代數(shù)表達(dá)式的優(yōu)化問題
考核要求:達(dá)到“領(lǐng)會”
層次知識點(diǎn):關(guān)系代數(shù)表達(dá)式的優(yōu)化問題
查詢優(yōu)化的目的就是為了系統(tǒng)在執(zhí)行時既省時間又能提高效率。
在關(guān)系代數(shù)運(yùn)算中,通常是先進(jìn)行笛卡爾積或聯(lián)接運(yùn)算,再進(jìn)行選擇和投影。笛卡爾積或聯(lián)接運(yùn)算卻往往花費(fèi)教多的時間。
因此,恰當(dāng)?shù)匕才胚x擇、投影和聯(lián)接的順序直接影響到整個操作所需要的時間和空間。 如何安排若干關(guān)系的運(yùn)算操作步驟,是查詢優(yōu)化所要考慮的問題。
2.4.2 關(guān)系代數(shù)表達(dá)式的等價變換規(guī)則
考核要求:達(dá)到“識記”
層次知識點(diǎn):等價變換規(guī)則
兩個關(guān)系代數(shù)表達(dá)式等價是指用同樣的關(guān)系實(shí)例代替兩個表達(dá)式中相應(yīng)關(guān)系時所得到的結(jié)果是完全一樣的。
等價變換規(guī)則有很多,不要死記,從語義上理解。
其實(shí),只要在前面的學(xué)習(xí)中已經(jīng)掌握關(guān)系運(yùn)算的真正含義,就可以判斷兩個關(guān)系代數(shù)表達(dá)式是否等價。
2.4.3 優(yōu)化的策略
考核要求:達(dá)到“領(lǐng)會”
層次知識點(diǎn):優(yōu)化的策略及其簡單應(yīng)用
優(yōu)化的策略主要有以下幾點(diǎn):
(1)在關(guān)系代數(shù)表達(dá)式中盡可能早地執(zhí)行選擇操作;
(2)把笛卡爾積和隨后的選擇操作合并成F聯(lián)接運(yùn)算;
(3)同時計(jì)算一連串的選擇和投影操作;
(4)保留同一子表達(dá)式的結(jié)果;
(5)適當(dāng)對關(guān)系文件進(jìn)行預(yù)處理 ;
(6)計(jì)算表達(dá)式之前先估計(jì)一下怎么計(jì)算合算。
以上優(yōu)化策略要求會簡單應(yīng)用:先做選擇,運(yùn)用投影去除多余屬性等等。
2.4.4 關(guān)系代數(shù)表達(dá)式的優(yōu)化算法
考核要求:達(dá)到“簡單應(yīng)用”
層次知識點(diǎn):語法樹
學(xué)會畫語法樹,并掌握優(yōu)化算法。
舉例
在教學(xué)數(shù)據(jù)庫S、SC、C中,用戶有一查詢語句:檢索女同學(xué)選修課程的課程名和任課教師名。
(1)試寫出該查詢的關(guān)系代數(shù)表達(dá)式;
(2)試寫出查詢優(yōu)化的關(guān)系代數(shù)表達(dá)式;
(3)畫出該查詢初始的關(guān)系代數(shù)表達(dá)式的語法樹;
(4)使用2.4.4節(jié)的優(yōu)化算法,對語法樹進(jìn)行優(yōu)化,并畫出優(yōu)化后的語法樹。
考核要求:達(dá)到“領(lǐng)會”
層次知識點(diǎn):關(guān)系代數(shù)表達(dá)式的優(yōu)化問題
查詢優(yōu)化的目的就是為了系統(tǒng)在執(zhí)行時既省時間又能提高效率。
在關(guān)系代數(shù)運(yùn)算中,通常是先進(jìn)行笛卡爾積或聯(lián)接運(yùn)算,再進(jìn)行選擇和投影。笛卡爾積或聯(lián)接運(yùn)算卻往往花費(fèi)教多的時間。
因此,恰當(dāng)?shù)匕才胚x擇、投影和聯(lián)接的順序直接影響到整個操作所需要的時間和空間。 如何安排若干關(guān)系的運(yùn)算操作步驟,是查詢優(yōu)化所要考慮的問題。
2.4.2 關(guān)系代數(shù)表達(dá)式的等價變換規(guī)則
考核要求:達(dá)到“識記”
層次知識點(diǎn):等價變換規(guī)則
兩個關(guān)系代數(shù)表達(dá)式等價是指用同樣的關(guān)系實(shí)例代替兩個表達(dá)式中相應(yīng)關(guān)系時所得到的結(jié)果是完全一樣的。
等價變換規(guī)則有很多,不要死記,從語義上理解。
其實(shí),只要在前面的學(xué)習(xí)中已經(jīng)掌握關(guān)系運(yùn)算的真正含義,就可以判斷兩個關(guān)系代數(shù)表達(dá)式是否等價。
2.4.3 優(yōu)化的策略
考核要求:達(dá)到“領(lǐng)會”
層次知識點(diǎn):優(yōu)化的策略及其簡單應(yīng)用
優(yōu)化的策略主要有以下幾點(diǎn):
(1)在關(guān)系代數(shù)表達(dá)式中盡可能早地執(zhí)行選擇操作;
(2)把笛卡爾積和隨后的選擇操作合并成F聯(lián)接運(yùn)算;
(3)同時計(jì)算一連串的選擇和投影操作;
(4)保留同一子表達(dá)式的結(jié)果;
(5)適當(dāng)對關(guān)系文件進(jìn)行預(yù)處理 ;
(6)計(jì)算表達(dá)式之前先估計(jì)一下怎么計(jì)算合算。
以上優(yōu)化策略要求會簡單應(yīng)用:先做選擇,運(yùn)用投影去除多余屬性等等。
2.4.4 關(guān)系代數(shù)表達(dá)式的優(yōu)化算法
考核要求:達(dá)到“簡單應(yīng)用”
層次知識點(diǎn):語法樹
學(xué)會畫語法樹,并掌握優(yōu)化算法。
舉例
在教學(xué)數(shù)據(jù)庫S、SC、C中,用戶有一查詢語句:檢索女同學(xué)選修課程的課程名和任課教師名。
(1)試寫出該查詢的關(guān)系代數(shù)表達(dá)式;
(2)試寫出查詢優(yōu)化的關(guān)系代數(shù)表達(dá)式;
(3)畫出該查詢初始的關(guān)系代數(shù)表達(dá)式的語法樹;
(4)使用2.4.4節(jié)的優(yōu)化算法,對語法樹進(jìn)行優(yōu)化,并畫出優(yōu)化后的語法樹。

