第2章-關系數(shù)據(jù)庫的理論基礎課件_第1頁
第2章-關系數(shù)據(jù)庫的理論基礎課件_第2頁
第2章-關系數(shù)據(jù)庫的理論基礎課件_第3頁
第2章-關系數(shù)據(jù)庫的理論基礎課件_第4頁
第2章-關系數(shù)據(jù)庫的理論基礎課件_第5頁
已閱讀5頁,還剩46頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第2章關系數(shù)據(jù)庫的理論基礎第2章關系數(shù)據(jù)庫的理論基礎第2章關系數(shù)據(jù)庫的理論基礎人民郵電出版社2第2章關系數(shù)據(jù)庫的理論基礎2.1關系的數(shù)據(jù)結構2.2關系代數(shù)2.3關系演算2.4查詢優(yōu)化第2章關系數(shù)據(jù)庫的理論基礎2.1關系的數(shù)據(jù)結構2.2關系代數(shù)2.3關系演算2.4查詢優(yōu)化2人民郵電出版社2.1關系的數(shù)據(jù)結構系統(tǒng)而嚴格地提出關系模型的是美國IBM公司的E.F.CoddE.F.Codd于1970年提出關系數(shù)據(jù)模型,“ARelationalModelofDataforLargeSharedDataBanks”,《CommunicationoftheACM》之后,提出了關系代數(shù)和關系演算的概念1972年提出了關系的第一、第二、第三范式1974年提出了關系的BC范式80年代后,關系數(shù)據(jù)庫系統(tǒng)成為最重要、最流行的數(shù)據(jù)庫系統(tǒng)3人民郵電出版社2.1關系的數(shù)據(jù)結構域(Domain)域是一組具有相同數(shù)據(jù)類型的值的集合。例如:整數(shù)實數(shù)介于某個取值范圍的整數(shù)指定長度的字符串集合{‘男’,‘女’}介于某個取值范圍的日期{張清玫,劉逸}{計算機專業(yè),通信工程專業(yè)}4人民郵電出版社2.1關系的數(shù)據(jù)結構笛卡爾積給定一組域D1,D2,…,Dn,這些域中可以有相同的。D1,D2,…,Dn的笛卡爾積為:D=D1×D2×…×Dn={(d1,d2,…,dn)|diDi,i=1,2,…,n}元組:每一個元素(d1,d2,…,dn)基數(shù):(mi為Di的基數(shù))所有域的所有取值的一個組合不能重復5人民郵電出版社2.1關系的數(shù)據(jù)結構笛卡爾積(續(xù))設有三個集合如下:A={a1,a2},B={b1,b2},C={c1,c2},則集合A、B、C上的笛卡兒積為ABCa1b1c1a1b1c2a1b2c1a1b2c2a2b1c1a2b1c2a2b2c1a2b2c26人民郵電出版社2.1關系的數(shù)據(jù)結構笛卡爾積(續(xù))D中的每一個元素(d1,d2,…,dn)叫做一個元組。元組中的每一個值di叫做一個分量。一個元組是組成該元組的各分量的有序集合,而不僅僅是各分量集合。笛卡爾積可表示為一個二維表。表中的每行對應一個元組,表中的每列對應一個域?;鶖?shù)(Cardinalnumber)若Di(i=1,2,…,n)為有限集,其基數(shù)為mi(i=1,2,…,n),則D1×D2×…×Dn的基數(shù)M為:7人民郵電出版社2.1關系的數(shù)據(jù)結構關系D1×D2×…×Dn的子集叫作在域D1,D2,…,Dn上的關系,表示為

R(D1,D2,…,Dn)

R:關系名

n:關系的目或度(Degree)每個關系都有一個關系名。二維表的名稱就是關系的名稱,二維表的每一列都是一個屬性。n元關系就會有n個屬性。一個關系中的每一個屬性都有一個名字,且各個屬性的屬性名都不同,對應參與笛卡兒積運算的每個集合的名稱。一個屬性的取值范圍Di(i=1,2,3,…,n)稱為該屬性的域(Domain)。8人民郵電出版社2.1關系的數(shù)據(jù)結構基本關系的性質列是同質的(Homogeneous)每一列中的分量是同一類型的數(shù)據(jù),來自同一個域不同的列可出自同一個域(注意屬性和域的關系)其中的每一列稱為一個屬性不同的屬性要給予不同的屬性名列的順序無所謂,列的次序可以任意交換任意兩個元組不能完全相同行的順序無所謂,行的次序可以任意交換分量必須取原子值:各分量都是不可分的數(shù)據(jù)項。9人民郵電出版社2.1關系的數(shù)據(jù)結構關系模式實際上完整的關系模式的數(shù)學定義為:

R(U、D、DOM、F)

其中:R為關系模式名,U為組成該關系的屬性名的集合,D為屬性組U中屬性所來自的域的集合,DOM為屬性向域映像的集合,F(xiàn)為屬性間函數(shù)依賴關系的集合。關系模式通常簡寫為:

R(U)或R(A1,A2,A3,…,An)

其中:R為關系名,Ai(i=1,2,3,…,n)為屬性名。域名構成的集合及屬性向域映像的集合一般為關系模式定義中的屬性的類型和長度。10人民郵電出版社2.1關系的數(shù)據(jù)結構關系模式(RelationSchema)是型關系是值關系模式是對關系的描述元組集合的結構屬性構成屬性來自的域屬性與域之間的映象關系元組語義以及完整性約束條件屬性間的數(shù)據(jù)依賴關系集合11人民郵電出版社2.1關系的數(shù)據(jù)結構關系模式對關系的描述靜態(tài)的、穩(wěn)定的關系關系模式在某一時刻的狀態(tài)或內容動態(tài)的、隨時間不斷變化的關系模式和關系往往統(tǒng)稱為關系,通過上下文加以區(qū)別12人民郵電出版社2.1關系的數(shù)據(jù)結構關系數(shù)據(jù)庫在一個給定的應用領域中,所有關系的集合構成一個關系數(shù)據(jù)庫關系數(shù)據(jù)庫的型與值關系數(shù)據(jù)庫的型:(內含)關系數(shù)據(jù)庫模式對關系數(shù)據(jù)庫的描述。關系數(shù)據(jù)庫的值:(外延)關系模式在某一時刻對應的關系的集合,簡稱為關系數(shù)據(jù)庫13人民郵電出版社2.2關系代數(shù)概述關系代數(shù)的運算按運算符的不同可分為傳統(tǒng)的集合運算和專門的關系運算2類。傳統(tǒng)的集合運算是二目運算,包括并、差、交和笛卡兒積4種運算。這類運算將關系看作是元組的集合,其運算是從“行”的方向來進行的。專門針對數(shù)據(jù)庫環(huán)境設計的關系運算,包括投影、選擇、連接和除。14人民郵電出版社2.2關系代數(shù)15人民郵電出版社2.2關系代數(shù)傳統(tǒng)的集合運算:1.并(Union)R和S具有相同的目n(即兩個關系都有n個屬性)相應的屬性取自同一個域R∪S

仍為n目關系,由屬于R或屬于S的元組組成

R∪S={t|t

R∨tS}16人民郵電出版社2.2關系代數(shù)傳統(tǒng)的集合運算:1.并(Union)17人民郵電出版社2.2關系代數(shù)傳統(tǒng)的集合運算:2.差(Difference)R和S具有相同的目n相應的屬性取自同一個域R-S

仍為n目關系,由屬于R而不屬于S的所有元組組成

R-S={t|tR∧tS}18人民郵電出版社2.2關系代數(shù)傳統(tǒng)的集合運算:2.差(Difference)19人民郵電出版社2.2關系代數(shù)傳統(tǒng)的集合運算:3.交(Intersection)R和S具有相同的目n相應的屬性取自同一個域R∩S仍為n目關系,由既屬于R又屬于S的元組組成

R∩S={t|t

R∧tS} R∩S=R–(R-S)20人民郵電出版社2.2關系代數(shù)傳統(tǒng)的集合運算:3.交(Intersection)21人民郵電出版社2.2關系代數(shù)傳統(tǒng)的集合運算:4.笛卡爾積嚴格地講應該是廣義的笛卡爾積(ExtendedCartesianProduct)R:n目關系,k1個元組S:m目關系,k2個元組R×S

列:(n+m)列元組的集合元組的前n列是關系R的一個元組后m列是關系S的一個元組行:k1×k2個元組R×S={tr

ts|tr

R∧tsS}22人民郵電出版社2.2關系代數(shù)傳統(tǒng)的集合運算:4.笛卡爾積23人民郵電出版社2.2關系代數(shù)專門的關系運算:1.選擇(Selection)1)選擇又稱為限制(Restriction)2)選擇運算符的含義在關系R中選擇滿足給定條件的諸元組

σF(R)={t|tR∧F(t)=true}F:選擇條件,是一個邏輯表達式,基本形式為:

X1θY1

3)選擇運算是從關系R中選取使邏輯表達式F為真的元組,是從行的角度進行的運算σ24人民郵電出版社2.2關系代數(shù)專門的關系運算:1.選擇(Selection)學生成績管理的數(shù)據(jù)庫,包括學生關系S、課程關系C和成績關系SC

25人民郵電出版社2.2關系代數(shù)專門的關系運算:1.選擇(Selection)【例】設關系S如表1-10所示,查詢全體男同學的信息。σSex=′男′(S)或σ3=′男′(S)其中下角標“3”為Sex的屬性序號26人民郵電出版社2.2關系代數(shù)專門的關系運算:1.選擇(Selection)【例】關系S如表1-10所示,查詢年齡小于20歲的學生的信息。σAge<20(S)27人民郵電出版社2.2關系代數(shù)專門的關系運算:2.投影(Projection)1)投影運算符的含義從R中選擇出若干屬性列組成新的關系

πA(R)={t[A]|tR} A:R中的屬性列2)投影操作主要是從列的角度進行運算但投影之后不僅取消了原關系中的某些列,而且還可能取消某些元組(避免重復行)π28人民郵電出版社2.2關系代數(shù)專門的關系運算:2.投影(Projection)【例】關系S如表1-10所示,查詢學生的姓名和所在系。πStuName,Dept(σAge<20(S))29人民郵電出版社2.2關系代數(shù)專門的關系運算:3.連接(Join)連接也稱為θ連接2)連接運算的含義從兩個關系的笛卡爾積中選取屬性間滿足一定條件的元組

A和B:分別為R和S上度數(shù)相等且可比的屬性組θ:比較運算符

連接運算從R和S的廣義笛卡爾積R×S中選?。≧關系)在A屬性組上的值與(S關系)在B屬性組上值滿足比較關系θ的元組

30人民郵電出版社2.2關系代數(shù)專門的關系運算:3.連接(Join)3)兩類常用連接運算等值連接(equijoin)什么是等值連接θ為“=”的連接運算稱為等值連接

等值連接的含義從關系R與S的廣義笛卡爾積中選取A、B屬性值相等的那些元組,即等值連接為:31人民郵電出版社2.2關系代數(shù)專門的關系運算:3.連接(Join)自然連接(Naturaljoin)自然連接是一種特殊的等值連接兩個關系中進行比較的分量必須是相同的屬性組在結果中把重復的屬性列去掉自然連接的含義

R和S具有相同的屬性組B32人民郵電出版社2.2關系代數(shù)專門的關系運算:3.連接(Join)4)一般的連接操作是從行的角度進行運算。自然連接還需要取消重復列,所以是同時從行和列的角度進行運算。

AθBRS33人民郵電出版社2.2關系代數(shù)專門的關系運算:4.除(Division)給定關系R(X,Y)和S(Y,Z),其中X,Y,Z為屬性或屬性集。R中的Y和S中的Y可以有不同的屬性名,但必須出自相同的域集。R÷S是滿足下列條件的最大關系:其中每個元組t與S中的各個元組s組成的新元組<t,s>必在R中。定義形式為:34人民郵電出版社2.2關系代數(shù)專門的關系運算:4.除(Division)除操作是同時從行和列角度進行運算

÷RS35人民郵電出版社2.3關系演算關系演算是是一個查詢系統(tǒng),以數(shù)理邏輯中的謂詞演算為基礎,通過謂詞形式來表現(xiàn)查詢表達式。假設P是一個謂詞,那么所有使P為真的x的集合就可以表示成:{x|P(x)}??梢杂眠壿嬤\算符∧(與)、∨(或)、┐(非)連接謂詞形成復合謂詞。根據(jù)謂詞變元的不同,可將關系演算分為元組關系演算和域關系演算。36人民郵電出版社2.3關系演算元組關系演算元組關系演算是以元組變量作為謂詞變元的基本對象,目標是找出所有使謂詞為真的元組。在元組關系演算中,稱{t|??(t)}為元組演算表達式。其中t為元組變量,??(t)為元組關系演算公式。元組關系演算公式由原子公式和運算符組成。原子公式有以下3類。(1)R(t)。R為關系名,t為元組變量。(2)t[i]θu[j]。(3)t[i]θc或cθ

t[i],其中c為常數(shù)。37人民郵電出版社2.3關系演算元組關系演算元組關系演算公式中的運算符包括:算術比較運算符(>、≥、<、≤、=、≠)、全稱量詞(?)和存在量詞(?)、邏輯運算符(∧、∨、┐)3類運算符。如果元組變量前有全稱量詞(?)或存在量詞(?)時,則稱這樣的變量為約束變量,否則稱為自由變量。38人民郵電出版社2.3關系演算元組關系演算關系代數(shù)中的6種基本運算都可以用元組關系演算表達式來表示。(1)并:R∪S={t|R(t)∨S(t)}(2)交:R∩S={t|R(t)

∧S(t)}(3)差:R-S={t|R(t)

∧┐S(t)}(4)投影:(5)選擇:(6)連接:39人民郵電出版社2.3關系演算元組關系演算關系演算語言:用謂詞來表達查詢要求元組關系演算語言謂詞變元的基本對象是元組變量代表:APLHA,QUEL域關系演算語言謂詞變元的基本對象是域變量代表:QBE40人民郵電出版社2.3關系演算元組關系演算語言ALPHAALPHA語言是以謂詞公式來定義查詢要求。在謂詞公式中存在元組變量,它的變化范圍為某一個命名的關系。ALPHA語言的基本格式是:操作符

工作空間名(表達式)[:操作條件]操作符有GET、PUT、HOLD、UPDATE、DELETE、DROP六種。工作空間是指內存空間,可以用一個字母表示,通常用W表示,也可以用別的字母表示。工作空間是用戶與系統(tǒng)的通信區(qū)。41人民郵電出版社2.3關系演算QUEL語言INGRES是加利福尼亞大學研制的關系數(shù)據(jù)庫管理系統(tǒng),QUEL語言是INGRES系統(tǒng)的查詢語言,它以ALHPA語言為基礎,具有較為完善的數(shù)據(jù)定義、數(shù)據(jù)查詢、數(shù)據(jù)更新、數(shù)據(jù)控制等功能。QUEL語言既可以作為獨立的語言進行交互式操作,也可以作為子語言嵌入到主語言中去。42人民郵電出版社2.3關系演算域關系演算域關系演算是關系演算的另一種形式,是以域變量作為謂詞變元的基本對象。域關系演算的表達式為:{t1,t2,…,tk|(t1,t2,…,tk)}式中,t1,t2,…,tk為域變量,是由原子公式和運算符組成。域關系演算表達式是使得為真的那些t1,t2,…,tk所組成的元組的集合。域關系演算語言的典型代表是1975年由IBM公司約克城高級研究試驗室的M.M.Zloof提出的QBE(QueryByExample)語言,稱為示例查詢語言,該語言于1978年在IBM370上實現(xiàn)。43人民郵電出版社2.4查詢優(yōu)化查詢優(yōu)化的優(yōu)點不僅在于用戶不必考慮如何最好地表達查詢以獲得較好的效率,而且在于系統(tǒng)可以比用戶程序的優(yōu)化做得更好,因為優(yōu)化器可以從數(shù)據(jù)字典中得到許多有用信息:如當前的數(shù)據(jù)情況,而用戶程序得不到;優(yōu)化器可以對各種策略進行比較,而用戶程序做不到。關系數(shù)據(jù)庫系統(tǒng)的優(yōu)化器不僅能進行查詢優(yōu)化,而且可以比用戶自己在程序中優(yōu)化得更好。44人民郵電出版社2.4查詢優(yōu)化查詢優(yōu)化準則(1)盡可能早地執(zhí)行選擇操作。(2)在一些使用頻率較高的屬性上,建立索引和分類排序,這樣在執(zhí)行這些屬性域上的條件查詢時,DBMS就可以利用索引表和分類排序表進

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論