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

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

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

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

溫馨提示

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

評論

0/150

提交評論