第2章-關系數據庫基礎知識ppt課件(全)_第1頁
第2章-關系數據庫基礎知識ppt課件(全)_第2頁
第2章-關系數據庫基礎知識ppt課件(全)_第3頁
第2章-關系數據庫基礎知識ppt課件(全)_第4頁
第2章-關系數據庫基礎知識ppt課件(全)_第5頁
已閱讀5頁,還剩37頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第2章關系數據庫基礎知識關系模型與關系數據庫關系操作關系完整性關系規(guī)范化理論本章主要內容本章技能目標了解關系模型的相關知識掌握關系完整性的概念了解關系的傳統(tǒng)運算和代數運算掌握關系演算掌握關系的規(guī)范化理論2.1關系模型與關系數據庫2.2關系操作2.3關系完整性2.4關系規(guī)范化理論2.1關系模型與關系數據庫關系模型的概念是IBM公司的研究員博士提出的,并由此確定了關系數據庫的理論基礎。關系數據庫(RelationDatabase)理論日臻完善,并已成為商用的主流數據庫系統(tǒng),如Oracle、Sybase、SQLServer、DB2和VisualFoxPro等都是著名的關系模型數據庫管理系統(tǒng)。2.1.1關系模型2.1.2關系模型的基本概念2.1.3關系的性質關系模型2.1.1關系模型關系模型由關系數據結構、關系數據操作和關系數據完整性約束組成。1.關系數據結構關系模型的數據結構是一種二維表格結構。在關系模型中,現實世界的實體與實體之間的聯系均用二維表格表示。關系模型2.關系數據操作常用的關系操作包括查詢、插入、刪除和修改。關系操作用三種不同的方式描述:關系代數、關系演算和結構化查詢語言。3.關系數據完整性約束關系數據完整性約束是為保證數據庫中數據的正確性、有效性和相容性,對關系模型中的數據及其聯系提出的某種約束條件或規(guī)則的集合。關系模型的基本概念1.術語(1)關系:一張沒有重復行、重復列的二維表(2)關系模式關系名(屬性1,屬性2,屬性3,…,屬性n)例如:學生(學號,姓名,性別,出生日期,政治面貌,籍貫,班級代碼)(3)記錄:二維表中的每一行,又稱行(Row)或元組(Tuple)(4)屬性:二維表中的一列(5)域:屬性的取值范圍(6)分量:元組中的一個屬性關系模型的基本概念(7)鍵或碼:關系中能惟一區(qū)分、確定不同元組的屬性或屬性組合的某個屬性(8)候選鍵或候選碼:關系中能夠成為關鍵字的屬性或屬性組合可能不是惟一的(9)主鍵或主碼:在候選關鍵字中選定一個作為關鍵字(10)非主屬性或非鍵屬性:關系中不組成碼的屬性(11)外部鍵或外鍵:關系中某個屬性或屬性組合并非關鍵字,但卻是另一個關系的主關鍵字(12)從表與主表:以外鍵為主鍵的表稱為主表(主鍵表),外鍵所在的表稱為從表(外鍵表)關系模型的基本概念2.關系與二維表的區(qū)別關系是一種規(guī)范化了的二維表中行的集合,即關系對表作了種種限制。關系應滿足如下性質:關系中的每一屬性都是不可再分的基本屬性。表中各列分量取自同一個域。各列被指定一個相異的名字。表中各行相異,不允許重復。行、列次序均無關關系模型的基本概念3.關系數據庫關系數據庫(RelationDatabase)主要是由若干個依照關系模型設計的數據表文件的集合。一張二維表稱為一個數據表,數據表包括數據及數據間的關系。一個關系數據庫由若干個數據表、視圖、存儲過程等組成,而數據表又由若干個記錄組成,每一個記錄是由若干個以字段屬性加以分類的數據項組成的。在關系數據庫中,每一個數據表都具有相對的獨立性,這一獨立性的惟一標志是數據表的名字,稱為表文件名。在關系數據庫中,有些數據表之間是具有相關性的。關系模型的基本概念4.關系模型的優(yōu)缺點(1)關系模型的優(yōu)點關系模型是以集合論和數理邏輯作為其理論基礎。無論實體還是實體間的聯系都用關系來表示。概念單一,其數據結構簡單、清晰,易于理解。關系模型的存取路徑對用戶透明。(2)關系模型的缺點查詢效率往往不如非關系數據模型必須對用戶的查詢請求進行優(yōu)化采用靜態(tài)數據模型關系的性質關系具有以下性質:1.關系中不允許出現完全相同的元組或記錄。2.關系元組的順序可任意交換。3.關系中屬性的順序也可任意交換。4.關系中各個屬性必須有不同的名字。5.關系中每一字段必須是不可分的數據項。2.2關系操作關系數據模型提供了一系列操作的定義,這些操作稱為關系操作。關系操作采用集合操作方式,即操作的對象和結果都是集合。常用的關系操作有兩類:一是查詢操作,包括選擇、投影、連接、并、交、差、除;二是增、刪、改操作。2.2.1關系代數2.2.2傳統(tǒng)的集合運算2.2.3專門的關系運算2.2.1關系代數關系代數語言是用對關系的集合運算來表達查詢要求的方式,是基于關系代數的操作語言。關系代數的基本運算有兩類:一類是傳統(tǒng)的集合運算,包括并、差、交;另一類是專門的關系運算,包括選擇、投影和連接?;具\算符2.2.2傳統(tǒng)的集合運算傳統(tǒng)的集合運算包括4種:并(∪)、交(∩)、差(-)和廣義笛卡兒積(×)。1.并(Union)如果R和S都是關系,那么由屬于R或屬于S的元組(記錄)組成的新關系稱為R和S的并,記為R∪S:其屬性與關系R或關系S相同,由屬于R或S的元組組成。

R∪S的運算結果RSR∪S2.2.2傳統(tǒng)的集合運算2.交(Intersection)如果R和S都是關系,那么由屬于R和屬于S的元組(記錄)組成的新關系稱為R和S的交,記為R∩S:其屬性與關系R或關系S相同,由既屬于R又屬于S的元組組成。SRR∩SR∩S的運算結果2.2.2傳統(tǒng)的集合運算3.差(Difference)如果R和S都是關系,那么由屬于R而不屬于S的元組(記錄)組成的新關系稱為R和S的差,記為R-S:其屬性與關系R或關系S相同,由屬于R而不屬于S的所有元組組成。RSR-SR-S的運算結果2.2.2傳統(tǒng)的集合運算4.廣義笛卡爾積兩個分別有n個屬性和m個屬性的關系R和S的廣義笛卡兒積是一個(n+m)個屬性的元組的集合。元組的前n個屬性是關系R的一個元組,后m個屬性是關系S的一個元組。若R有k1個元組,S有k2個元組,則關系R和S的廣義笛卡兒積有k1×k2個元組,記作R×S:2.2.3專門的關系運算在關系數據庫中查詢用戶所需數據時,需要對關系進行一定的關系運算。關系運算主要有選擇、投影和連接及除等4種,其中連接分θ連接和自然連接。引入幾個記號:2.2.3專門的關系運算1.選擇(Selection)從關系R中選擇滿足指定條件的元組,它是一種對表進行橫向的操作。通常把選擇運算記作:為選擇運算符,c為邏輯表達式。2.2.3專門的關系運算2.投影(Projection)投影是從關系R中選擇出若干屬性(字段)組成新關系的一種運算,是一種豎向的操作。投影運算是一種針對表內容的列運算。關系R上的投影是從R中選擇出若干屬性列組成新的關系,記作:其中A為R中的屬性列。2.2.3專門的關系運算3.連接連接有θ連接、等值連接和自然連接。(1)θ連接θ連接是從關系R和關系S的笛卡兒積中選取屬性值滿足某一θ關系的元組。記作:其中A和B分別為R和S上度數相等且可比的屬性組,θ是比較運算符。連接運算從R和S的廣義笛卡兒積R×S中選取(R關系)在A屬性組上的值與(S關系)在B屬性組上值滿足比較關系θ的元組。2.2.3專門的關系運算(2)等值連接θ為“=”的連接運算稱為等值連接。它是從關系R與S的廣義笛卡兒積中選取A、B屬性值相等的那些元組。等值連接可記為:(3)自然連接自然連接是一種特殊連接。在連接運算中,以字段值對應相等條件進行的連接操作稱為等值連接。自然連接是去掉重復屬性的等值連接。它是對行和列同時進行運算。若關系R和關系S具有相同的屬性組B,則關系R和S的自然連接可用下式表示:2.2.3專門的關系運算4.除(Division)設有關系R(X,Y)和S(Y,Z),其中X、Y、Z為單個屬性或屬性組,R中的Y與S中的Y出自相同的域集。則R÷S得到一個新的關系P(X),P(X)是由R中某些X屬性值構成,其中的任一X值所對應的一組Y值都包含在關系S在Y上的投影。記作:2.3關系完整性關系的完整性約束是為保證數據庫中數據的正確性和兼容性對關系模型提出的某種約束條件或規(guī)則。完整性通常包括實體完整性、參照完整性和、域完整性和用戶定義完整性4種。其中,實體完整性和參照完整性是關系模型必須滿足的完整性約束條件。1.實體完整性實體完整性規(guī)則是指關系的主關鍵字不能取“空值”。2.參照完整性參照完整性規(guī)則指的是若屬性(或屬性組)F是基本關系R的外鍵,它與基本關系S的主鍵相對應(基本關系R和S不一定是不同的關系),則對于R中每個元組在F上的值必須為:或者取空值(F的每個屬性值均為空值),或者等于S中某個元組的主鍵值。2.3關系完整性3.域完整性域完整性規(guī)則是指要求表中列的數據必須具有正確的數據類型、格式以及有效的數據范圍。4.用戶定義完整性用戶定義的完整性(User-definedIntegrity)就是針對某一具體關系數據庫的約束條件,它反映某一具體應用所涉及的數據必須滿足的語義要求。2.4關系規(guī)范化理論2.4.1問題的提出2.4.2函數依賴2.4.3關系模式的規(guī)范化2.4.4關系規(guī)范化的實際應用2.4.1問題的提出1.關系模式中可能存在的異?!纠吭O有學生及選課關系Student,如表所示。Student中具有以下屬性:學號、院系名稱、系主任、課程號、教師、成績,于是得到這樣一組屬性:U={學號,院系名稱,系主任,課程號,教師,成績}。學號院系名稱系主任課程號教師成績05010031計算機系程寬062308張然8905010032計算機系程寬062308黎明6805010033計算機系程寬062308張明7006010001經濟與管理工程系謝蘇221032張然6806010010經濟與管理工程系謝蘇221032王子7206030200機電工程系邱會仁241302張然682.4.1問題的提出學生選課關系Student的數據模式Student(U,F)。U={學號,院系名稱,系主任,課程號,教師,成績}F={(學號,課程號)→成績,院系名稱→系主任,課程號→教師,學號→院系名稱,學號→系主任},存在如下問題:(1)數據冗余(2)刪除異常(3)插入異常2.關系模式中存在異常的原因存在一些不好的數據依賴。解決方法:利用關系數據庫規(guī)范化理論,對關系模式進行分解2.4.2函數依賴數據依賴是通過一個關系中屬性間值的相等與否體現出數據間的相互關系?,F在人們已經提出了多種類型的數據依賴,其中最重要的數據依賴是函數依賴(FunctionalDependency,FD)和多值依賴(MultivaluedDpendency,MVD)。數據依賴是指數據之間存在的各種關系,比如外鍵就是一種依賴。數據冗余的產生和數據依賴有著密切的關系。在數據依賴中,函數依賴是最基本的一種依賴。實際上,它是鍵概念的推廣。2.4.2函數依賴1.函數依賴的定義在數據依賴中,函數依賴是最基本的一種依賴。實際上,它是鍵概念的推廣。2.4.2函數依賴在數據依賴中,函數依賴是最基本的一種依賴。實際上,它是鍵概念的推廣。2.4.3關系模式的規(guī)范化1.規(guī)范化的作用數據依賴引起的主要問題是操作異常,解決的辦法是進行關系模式的合理分解,也就是對關系模式進行規(guī)范化(Normalization)。規(guī)范化的目的:(1)消除異常(2)方便用戶使用,簡化檢索操作(3)加強數據獨立性(4)使關系模式靈活,更容易使用非過程化的高級查詢語言(3)更容易進行各種查詢統(tǒng)計工作2.4.3關系模式的規(guī)范化2.規(guī)范化的標準范式(NormalForm,NF):是指關系模式規(guī)范形式。關系模式需要滿足規(guī)范化條件,不同程度的條件稱為不同的范式。于1971~1972年系統(tǒng)地提出了1NF、2NF、3NF概念,討論了規(guī)范化的問題。1974年Codd和Boyce共同提出了BCNF。1976年Fagin提出了4NF,以后又有人提出了5NF。2.4.3關系模式的規(guī)范化第一范式(1NF)定義:設R是一個關系模式。如果R的每一個屬性的值域都是不可再分的數據項,即關系中的每一屬性都是原子的,則稱該關系模式為第一范式,記作1NF。第一范式是對關系模式的最低要求。不滿足第一范式的數據庫模式不能稱為關系數據庫。不滿足第一范式的關系稱為非規(guī)范關系。學生信息課程號成績學號院系代碼系主任0401001001蘇云255430890307012004王楠255341680307012004王楠25543070學號院系代碼系主任課程號成績0401001001蘇云255430890307012004王楠255341680307012004王楠255430702.4.3關系模式的規(guī)范化第二范式(2NF)定義:設R是一個關系模式。如果R是第一范式,且R中每一個非鍵屬性完全函數依賴于R的鍵,則稱該關系模式為第二范式,記為2NF。第二范式消除了非主屬性對關鍵字的部分依賴。即滿足2NF的關系,其非主屬性完全函數依賴于關鍵字。2NF存在以下問題:(1)插入異常(2)刪除異常(3)冗余(4)更新異常2.4.3關系模式的規(guī)范化第三范式(3NF)定義:設R是一個關系模式。如果R是2NF,且它的任何一個非鍵屬性都不傳遞依賴于R的任一候選鍵,則稱該模式為第三范式,記為3NF。例:求關系模式R(學號,姓名,班級號,班級人數)的范式級別。解:因為R中的各屬性都是原子的,所以R∈1NF。從R中可以看出,學號為主鍵,它是一個單一屬性,因此在R中不存在部分函數依賴,所以R∈2NF。在R中由于有學號→班級號,班級號→班級人數,它構成了學號→班級人數這一傳遞依賴,故R不滿足第3范式的要求。結論:R∈2NF2.4.3關系模式的規(guī)范化4.BC范式(BCNF)定義:在一個關系模式的所有非平凡函數依賴中,如果所有決定于都含有碼(即起決定因素的超碼),則此關系模式屬于BCNF。由BCNF的定義可以得到結論,一個滿足BCNF的關系模式具有以下三個性質:(1)所有非主屬性對每個候選碼都是完全函數依賴。(2)所有的主屬性對每一個不包含它的候選碼,也是完全函數依賴的。(3)沒有任何屬性完全函數依賴于非碼的任何一組屬性。由于R屬于BCNF,按定義排除了任何屬性對候選碼的傳遞依賴與部分依賴,所以R屬于3NF。但是若R屬于3NF,則R未必屬于BCNF。2.4.3關系模式的規(guī)范化【例】求A1(學號,課程號,成績)的范式級別。解:對于關系模式A1(學號,課程號,成績),它只有一個主關

溫馨提示

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

評論

0/150

提交評論