關(guān)系代數(shù)
當(dāng)對(duì)關(guān)系模型進(jìn)行查詢(xún)運(yùn)算,涉及到多種運(yùn)算時(shí),應(yīng)當(dāng)注意它們之間的先后順序,因?yàn)橛锌赡苓M(jìn)行投影運(yùn)算時(shí),把符合條件的記錄過(guò)濾,產(chǎn)生錯(cuò)誤的結(jié)果。
1.關(guān)系模型的基本操作
關(guān)系模型的基本操作:插入、刪除、修改和查詢(xún)。
其中查詢(xún)包含如下運(yùn)算:
①投影運(yùn)算。從R中選擇出若干屬性列組成新的關(guān)系。
②選擇運(yùn)算。選擇運(yùn)算是一個(gè)一元運(yùn)算,關(guān)系R通過(guò)選擇運(yùn)算(并由該運(yùn)算給出所選擇的邏輯條件)后仍為一個(gè)關(guān)系。設(shè)關(guān)系的邏輯條件為F,則R滿(mǎn)足F的選擇運(yùn)算可寫(xiě)成:σF(R)
③笛卡爾積運(yùn)算。設(shè)有n元關(guān)系R及m元關(guān)系S,它們分別有p、q個(gè)元組,則關(guān)系R與S經(jīng)笛卡爾積記為R×S,該關(guān)系是一個(gè)n+m元關(guān)系,元組個(gè)數(shù)是p×q,由R與S的有序組組合而成。
小提示:當(dāng)關(guān)系模式進(jìn)行笛卡爾積運(yùn)算時(shí),讀者應(yīng)該注意運(yùn)算后的結(jié)果是n+m元關(guān)系,元組個(gè)數(shù)是p×q,這是經(jīng)?;煜摹?BR> 2.關(guān)系代數(shù)中的擴(kuò)充運(yùn)算
(1)交運(yùn)算:關(guān)系R與S經(jīng)交運(yùn)算后所得到的關(guān)系是由那些既在R內(nèi)又在S內(nèi)的有序組所組成,記為R∩S。
(2)除運(yùn)算
如果將笛卡爾積運(yùn)算看作乘運(yùn)算的話(huà),除運(yùn)算就是它的逆運(yùn)算。當(dāng)關(guān)系T=R×S時(shí),則可將除運(yùn)算寫(xiě)成:T÷R=S或T/R=S
S稱(chēng)為T(mén)除以R的商。除法運(yùn)算不是基本運(yùn)算,它可以由基本運(yùn)算推導(dǎo)而出。
(3)連接與自然連接運(yùn)算
連接運(yùn)算又可稱(chēng)為θ運(yùn)算,這是一種二元運(yùn)算,通過(guò)它可以將兩個(gè)關(guān)系合并成一個(gè)大關(guān)系。設(shè)有關(guān)系R、S以及比較式iθj,其中i為R中的域,j為S中的域,θ含義同前。則可以將R、S在域i,j上的θ連接記為:
R|×|S
iθj
在θ連接中如果θ為"=",就稱(chēng)此連接為等值連接,否則稱(chēng)為不等值連接;如θ為"<"時(shí)稱(chēng)為小于連接;如θ為">"時(shí)稱(chēng)為大于連接。
自然連接(naturaljoin)是一種特殊的等值連接,它滿(mǎn)足下面的條件:
①兩關(guān)系間有公共域;
②通過(guò)公共域的等值進(jìn)行連接。
設(shè)有關(guān)系R、S,R有域A1,A2,…,An,S有域B1,B2,…,Bm,并且,Ai1,Ai2,…,Aij,與B1,B2,…,Bj分別為相同域,此時(shí)它們自然連接可記為:
R|×|S
自然連接的含義可用下式表示:
R|×|S=πA1,A2,……An,Bj+1,……Bm(σAi1=B1^Ai2=B2^…^Aij=,Bj(R×S))
疑難解答:連接與自然連接的不同之處在什么?
一般的連接操作是從行的角度進(jìn)行運(yùn)算,但自然連接還需要取消重復(fù)列,所以是同時(shí)從行和列的角度進(jìn)行運(yùn)算。
數(shù)據(jù)庫(kù)設(shè)計(jì)與管理
數(shù)據(jù)庫(kù)設(shè)計(jì)中有兩種方法,面向數(shù)據(jù)的方法和面向過(guò)程的方法:
面向數(shù)據(jù)的方法是以信息需求為主,兼顧處理需求;面向過(guò)程的方法是以處理需求為主,兼顧信息需求。由于數(shù)據(jù)在系統(tǒng)中穩(wěn)定性高,數(shù)據(jù)已成為系統(tǒng)的核心,因此面向數(shù)據(jù)的設(shè)計(jì)方法已成為主流。
數(shù)據(jù)庫(kù)設(shè)計(jì)目前一般采用生命周期法,即將整個(gè)數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的開(kāi)發(fā)分解成目標(biāo)獨(dú)立的若干階段。它們是:需求分析階段、概念設(shè)計(jì)階段、邏輯設(shè)計(jì)階段、物理設(shè)計(jì)階段、編碼階段、測(cè)試階段、運(yùn)行階段和進(jìn)一步修改階段。在數(shù)據(jù)庫(kù)設(shè)計(jì)中采用前4個(gè)階段。
疑難解答:數(shù)據(jù)庫(kù)設(shè)計(jì)的前4個(gè)階段的成果分別是什么?
數(shù)據(jù)庫(kù)設(shè)計(jì)中一般采用前4個(gè)階段,它們的成果分別是需求說(shuō)明書(shū)、概念數(shù)據(jù)模型、邏輯數(shù)據(jù)模型和數(shù)據(jù)庫(kù)內(nèi)模式。