




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第2章關系運算理論2.1關系的數(shù)學定義2.2關系數(shù)據(jù)庫2.3關系代數(shù)用二維表格表示實體集,用關鍵碼進行數(shù)據(jù)導航的數(shù)據(jù)模型稱為關系模型。關系模型是1970年由E.F.Codd提出的,在關系模型基礎上發(fā)展的關系數(shù)據(jù)庫系統(tǒng)已成為當今應用最廣泛的數(shù)據(jù)庫系統(tǒng)。與層次模型、網狀模型相比,關系模型有兩個顯著特點: ①數(shù)據(jù)結構簡單,即用二維表格表示實體及實體集間的聯(lián)系; ②有關系運算理論和關系模式設計理論等扎實的理論基礎。2.1關系的數(shù)學定義
2.1.1關系的基本術語
1.關系模型的基本術語學生信息表學號姓名性別籍貫系001張三男北京數(shù)學002李四女上海物理003王五男長沙計算機二維表格對應的關系模式術語如下屬性:字段或數(shù)據(jù)項稱為屬性,也稱為列。屬性值:字段值稱為屬性值。關系模式:記錄類型或表結構稱為關系模式,即表頭或表框架。關系模式是對關系的描述,一般表示為:
關系名(屬性1,屬性2,…,屬性n)元組:記錄稱為元組,也稱為行。關系:元組的集合稱為關系,一個關系對應通常說的一個二維表。值域:屬性的取值范圍稱為屬性的值域。分量:元組中的一個屬性值?;鶖?shù):元組的個數(shù)稱為基數(shù),即記錄數(shù)。元數(shù):屬性的個數(shù)稱為元數(shù),即列數(shù)。2.關鍵字(Key,關鍵碼、鍵、碼)超鍵:若關系中的某一屬性組的值能唯一地標識一個元組,則稱該屬性組為超鍵。候選鍵:不含有多余屬性的超鍵稱為候選鍵。主鍵:若一個關系有多個候選鍵,則選定其中一個為主鍵。 例:學生關系:學生(學號,姓名,年齡)學生選課關系:選修(學號,課程號,成績)主屬性:包含在任何一個候選鍵中的屬性稱為主屬性。非主屬性:不包含在任何一個候選鍵中的屬性稱為非主屬性。3.關系的類型關系可以有三種類型: ①基本表(基本關系)--實際存在的表,它是實際存儲數(shù)據(jù)的邏輯表示。 ②查詢表--是查詢結果對應的表。 ③視圖--由基本表或其他視圖表導出的表,是虛表(不對應實際存儲的數(shù)據(jù))。4.關系的性質在關系數(shù)據(jù)庫中,關系是一種規(guī)范化了的二維表格?;娟P系具有以下六條性質: ①列是同質的,即每一列中的分量是同一類型的數(shù)據(jù),來自同一個域。 ②不同的列可以出自同一個域,稱其中的每一列為一個屬性,不同的屬性要給予不同的屬性名。 ③列的順序無所謂。 ④任意兩個元組不能相同。 ⑤行的順序無所謂。 ⑥分量必須取原子量,即每一個分量都必須是不可分的數(shù)據(jù)項。2.1.2關系的數(shù)學定義1.域(Domain)域是一組具有相同數(shù)據(jù)類型的值的集合。如:
{1,3,5,…,99}100以內的奇數(shù)
{男,女}兩種性別的集合2.笛卡爾積給定一組域D1,D2,…,Dn,這些域中可以有相同的,D1,D2,…,Dn的笛卡爾積為:
其中每一個元素(d1,d2,…,dn)叫做一個n元組,簡稱元組。元組中的每一個值di叫做一個分量。例:設D1={1,3},D2={4,6}n個域的笛卡爾積對應一張二維表D1D2141634363.關系D1×D2×…×Dn的子集叫作在域D1,D2,…,Dn上的關系。表示為R表示關系的名字,n是關系的目或度。例:D1={王,趙}D2={計算機,電子}D1D2王計算機王電子趙計算機趙電子D1×D2笛卡爾積的二維表通常一個學生只能選擇一個專業(yè),則D1×D2的子集D1D2王計算機趙電子該關系給出了學生所學專業(yè)的情況。在關系數(shù)據(jù)庫中,為了消除域的次序對關系的影響(域可以相同),根據(jù)域的不同含義對其命名,稱為屬性名。2.2關系數(shù)據(jù)庫
2.2.1關系模型關系模型由關系數(shù)據(jù)結構、關系操作集合和關系完整性約束三部分組成。1.關系模型的數(shù)據(jù)結構非常單一在關系模型中,現(xiàn)實世界的實體以及實體間的各種聯(lián)系均用關系表示,在用戶看來,關系模型中數(shù)據(jù)的邏輯結構是一張二維表。2.關系操作關系模型給出了關系操作的能力。關系模型中常用的關系操作包括選擇、投影、連接、除、并、交、差等查詢操作,和增加、刪除、修改操作兩大部分。查詢的表達能力是其中最主要的部分。關系操作的特點是集合操作方式,即操作對象和結果都是集合。3.關系的三類完整性約束關系模型允許定義三類完整性約束:實體完整性、參照完整性和用戶定義的完整性。其中實體完整性和參照完整性是關系模型必須滿足的完整性約束條件,應該由關系系統(tǒng)自動支持。用戶定義的完整性是應用領域需要遵循的約束條件,體現(xiàn)了具體領域中的語義約束。⑴實體完整性若屬性A是基本關系R的主屬性,則屬性A不能取空值。實體完整性規(guī)則規(guī)定基本關系的所有主屬性都不能取空值,而不僅是主碼整體不能取空值。實體完整性規(guī)則說明: ①實體完整性規(guī)則是針對基本關系而言的,一個基本表通常對應現(xiàn)實世界的一個實體集。 ②現(xiàn)實世界中的實體是可區(qū)分的,即他們具有某種唯一的標識,相應地關系模型中以主碼作為唯一標識。 ③主碼中的屬性即主屬性不能取空值,所謂空值就是"不知道"或"無意義"的值。如果主屬性取空值,就說明存在某個不可標識的實體,即存在不可區(qū)分的實體。⑵參照完整性現(xiàn)實世界中的實體之間往往存在某種聯(lián)系,在關系模型中實體及實體間的聯(lián)系都是用關系來描述的。 例:學生實體和專業(yè)實體可以用下面的關系表示。
R學生(學號,姓名,性別,專業(yè)號)
S專業(yè)(專業(yè)號,專業(yè)名)F定義:設F是基本關系R的一個或一組屬性,但不是關系R的碼,如果F與基本關系S的主碼Ks相對應,則稱F是基本關系R的外碼。參照完整性規(guī)則就是定義外碼與主碼之間的引用規(guī)則。參照完整性規(guī)則若屬性(或屬性組)F是基本關系R的外碼,它與基本關系S的主碼Ks相對應,則對于R中的每個元組在F上的值必須為:
①或者取空值(F的每個屬性值均為空值)。 ②或者等于S中某個元組的主碼值??罩担硎旧形唇o該學生分配專業(yè)。非空值,這時該值必須是專業(yè)關系中某個元組的"專業(yè)號"值,表示該學生不可能分配到一個不存在的專業(yè)中。⑶用戶定義的完整性任何關系數(shù)據(jù)庫系統(tǒng)都應該支持實體完整性和參照完整性規(guī)則。除此之外,不同的關系數(shù)據(jù)庫系統(tǒng)根據(jù)其應用環(huán)境的不同,往往還需要一些特殊的約束條件,用戶定義的完整性就是針對某一具體關系數(shù)據(jù)庫的約束條件。它反映了某一具體應用所涉及的數(shù)據(jù)必須滿足的語義要求。關系模型應提供定義和檢驗這類完整性的機制,以便用統(tǒng)一的系統(tǒng)的方法處理它們,而不是由應用程序承擔這一功能。2.2.2E-R模型轉換為關系模型E-R模型轉換為關系模型要解決兩個問題:①如何將實體和實體間的聯(lián)系轉換為關系模式。②如何確定這些關系模式的屬性和碼。原則:①一個實體集(型)轉換為一個關系,實體的屬性就是關系的屬性,實體的碼就是關系模式的碼。對于實體間的聯(lián)系則有以下不同情況:②一個1:1聯(lián)系可以轉換為一個獨立的關系模式,也可以與任意一端對應的關系模式合并。如果轉換為一個獨立的關系模式,則與該聯(lián)系相連的各實體的碼以及聯(lián)系本身的屬性均是該關系的候選碼。如果與某一端實體對應的關系模式合并,則需要在該關系模式的屬性中加入另一關系模式的碼和聯(lián)系本身的屬性。③一個1:n聯(lián)系可以轉換為一個獨立的關系模式,也以可與n端對應的關系模式合并。④一個m:n聯(lián)系轉換為一個關系模式。與該聯(lián)系相連的各實體的碼以及聯(lián)系本身的屬性均轉換為關系的屬性,而關系的碼為各實體的碼的組合。⑤三個或三個以上實體間的一個多元聯(lián)系可以轉換為一個關系模式。與該多元聯(lián)系相連的各實體的碼以及聯(lián)系本身的屬性均轉換為關系的屬性,而關系的碼為各實體碼的組合。⑥具有相同碼的關系模式可以合并。部門(部門號,經理的職工號)職工(職工號,部門號)產品(產品號)供應商(供應商號)零件(零件號)生產(職工號,產品號,工作天數(shù))供應(產品號,供應商號,零件號,供應量)2.2.3關系數(shù)據(jù)語言
1.關系數(shù)據(jù)庫在關系模型中,實體及實體間的聯(lián)系都是用關系來表示的,在一個給定的應用領域中,所有表示實體及實體之間聯(lián)系的關系的集合構成一個關系數(shù)據(jù)庫。2.關系數(shù)據(jù)語言關系數(shù)據(jù)語言按照完成的功能可分為三類:數(shù)據(jù)定義語言(DDL)、數(shù)據(jù)操縱語言(DML)和數(shù)據(jù)控制語言(DCL)。DDL——負責數(shù)據(jù)庫的描述,提供一種數(shù)據(jù)定義機制,用來描述數(shù)據(jù)庫的特征或數(shù)據(jù)的邏輯結構。DML——負責數(shù)據(jù)的操作,包括數(shù)據(jù)查詢和數(shù)據(jù)的增、刪、改等功能,其中查詢的表達方式是DML的主要部分。DCL——負責控制數(shù)據(jù)庫的完整性和安全性,提供一種檢驗完整性和保證安全的機制。關系數(shù)據(jù)語言按照表達查詢的方式不同可以分為兩大類:關系代數(shù)語言和關系演算語言。關系代數(shù)是用對關系的運算來表達查詢要求。關系演算是用謂詞來表達查詢要求。關系演算又可按謂詞變元的基本對象是元組還是域變量分為元組關系演算和域關系演算。關系代數(shù)、元組關系演算和域關系演算三種語言在表達能力上是完全等價的。另外還有一種介于關系代數(shù)和關系演算之間的語言SQL(StructureQueryLangnage)--結構化查詢語言。SQL不僅具有豐富的查詢功能,而且具有數(shù)據(jù)定義和數(shù)據(jù)控制功能,是集DDL、DML和DCL為一體的標準的關系數(shù)據(jù)庫語言。關系數(shù)據(jù)庫語言的主要優(yōu)點是其高度的非過程化,用戶只需知道做什么,而不需知道怎么做。2.3關系代數(shù)關系代數(shù)是一種抽象的查詢語言,它是用對關系的運算來表達查詢的。運算包括三大要素:運算對象,運算符,運算結果。關系代數(shù)的運算對象是關系,運算結果也為關系。關系代數(shù)用到的運算符包括四類:①集合運算符:∪(并)、-(差)、∩(交)②專門的關系運算符:×(廣義笛卡爾積)、σ(選擇)、π(投影)、(連接)、÷(除)③算術比較符:>、≥、<、≤、=、≠④邏輯運算符:┐(非)、∧(與)、∨(或)關系代數(shù)的運算按運算符不同,可分為傳統(tǒng)的集合運算和專門的關系運算兩類。2.3.1
傳統(tǒng)的集合運算設關系R和關系S具有相同的目n(即兩個關系都有n個屬性),且相應的屬性取自同一個域,(并相容)則可以定義并、差、交的運算如下:⑴并關系R與關系S的并記作,其結果仍為n目關系,由屬于R或屬于S的元組組成。例RABa1b1a1b2a2b1SABa1b1a1b3a2b2R∪SABa1b1a1b2a2b1a1b3a2b2⑵差關系R與關系S的差記作其結果關系仍為n目關系,由屬于R而不屬于S的所有元組組成。R-SABa1b2a2b1⑶交關系R與關系S的交記作其結果關系仍為n目關系,由即屬于R又屬于S的元組組成。R∩SABa1b12.3.2專門的關系運算⑴廣義笛卡爾積 兩個分別為n目和m目的關系R和S的廣義笛卡爾積是一個(n+m)列的元組的集合。元組的前n列是關系R的一個元組,后m列是關系S的一個元組。若R有K1個元組,S有K2個元組,則關系R和關系S的廣義笛卡爾積有K1×K2個元組。RABa1b1a2b2SCDc1d1c2d2R×S
ABCDa1b1c1d1a1b1c2d2a2b2c1d1a2b2c2d2⑵選擇在關系R中選擇滿足給定條件的諸元組。其中F表示選擇條件,它是一個邏輯表達式,由邏輯運算符、∧、∨連接各算術表達式組成。算術表達式的基本形式為:其中θ表示比較運算符(>、<、≥、≤、=、≠),X、Y是屬性名,或為常量,或為簡單函數(shù);屬性名也可以用它的序號來代替。選擇運算實際上是從關系R中選取使邏輯表達式F為真的元組。設有一個學生-課程數(shù)據(jù)庫,包括學生關系、課程關系和選修關系, 學生(學號,姓名,性別,年齡,所在系) 課程(課程號,課程名) 選修(學號,課程號,成績)例查詢數(shù)學系全體學生⑶投影從R中選擇出若干屬性列組成新的關系。其中A為R中的屬性列。例查詢學生的姓名和所在系投影之后取消了原關系中的某些列,就可能出現(xiàn)重復行,應取消這些完全相同的行。⑷連接從兩個關系的笛卡爾積中選取屬性間滿足一定條件的元組。連接也稱為θ連接,記作其中A和B分別為R和S上度數(shù)相等且可比的屬性組。RABCa1b15a1b26SBDb13b37AR.BCS.BDa1b15b37a1b26b37連接運算中有兩種最為重要的連接:等值連接和自然連接。①等值連接θ為“=”的連接運算稱為等值連接。它是從關系R與S的廣義笛卡爾積中選取A、B屬性相等的那些元組。(不用去掉重復列)RABCa1b15a1b26SBDb13b37AR.BCS.BDa1b15b13②自然連接是一種特殊的等值連接,它要求兩個關系中進行比較的分量必須是相同的屬性組,并且在結果中把重復的屬性去掉。若R和S具有相同的屬性組B,則自然連接可記作:RABCa1b15a1b26SBDb13b37ABCDa1b153⑸除(Division)給定關系R(X,Y)和S(Y,Z),其中X,Y,Z為屬性組。R中的Y與S中的Y可以有不同的屬性名,但必須出自相同的域。R與S的除運算得到一個新的關系P(X),P是R中滿足下列條件的元組在X屬性列上的投影:元組在X上分量值x的象集Yx包含S在Y上投影的集合。記作:其中Yx為x在R中的象集,x=tr[X]。除操作是同時從行和列角度進行運算。例:設關系R,S如圖,求R÷S在關系R中,A可以取四個值{a1,a2,a3,a4}。其中:a1的象集為{(b1,c2),(b2,c3),(b2,c1)}a2的象集為{(b3,c7),(b2,c3)}a3的象集為{(b4,c6)}a4的象集為
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 真空吸塵器的性能測試與評價考核試卷
- 焰火鞭炮生產安全培訓考核試卷
- 白酒的市場調研與市場定位考核試卷
- 汽車工程與新能源汽車設計考核試卷
- 知識產權管理與運營考核試卷
- 畜牧業(yè)養(yǎng)殖廢棄物處理設施運行與管理優(yōu)化考核試卷
- 全球及中國種植牙產業(yè)(口腔醫(yī)療)發(fā)展動態(tài)與投資前景趨勢預測報告2025-2030年
- 初中地理默寫清單(世界地理一)-2025年會考地理知識點梳理
- 數(shù)學古典概型教案-2024-2025學年高一下學期數(shù)學人教A版(2019)必修第二冊
- 2025年2月白酒跨境保稅倉儲顧問責任險協(xié)議
- 2024年大學試題(管理類)-港口企業(yè)管理學歷年高頻考點試卷專家薈萃含答案
- 高中化學-分子晶體和原子晶體教學設計學情分析教材分析課后反思
- 橋梁養(yǎng)護風險辨識手冊
- 尿激酶溶栓護理課件
- 2021年青海省中考化學試卷(附答案詳解)
- 四川2022年4月自考06088《管理思想史》真題
- 小學生三好學生競選演講稿PPT幻燈片
- 彩鋼板屋面監(jiān)理細則
- 養(yǎng)老機構員工考核評分表
- 北京市海淀區(qū)2022-2023學年高三下學期一模考試歷史試卷(含答案)
- 季節(jié)性安全檢查表(四季)
評論
0/150
提交評論