《數(shù)據(jù)庫(kù)原理及應(yīng)用(第二版)》課件 第2章 關(guān)系數(shù)據(jù)庫(kù)理論基礎(chǔ)_第1頁(yè)
《數(shù)據(jù)庫(kù)原理及應(yīng)用(第二版)》課件 第2章 關(guān)系數(shù)據(jù)庫(kù)理論基礎(chǔ)_第2頁(yè)
《數(shù)據(jù)庫(kù)原理及應(yīng)用(第二版)》課件 第2章 關(guān)系數(shù)據(jù)庫(kù)理論基礎(chǔ)_第3頁(yè)
《數(shù)據(jù)庫(kù)原理及應(yīng)用(第二版)》課件 第2章 關(guān)系數(shù)據(jù)庫(kù)理論基礎(chǔ)_第4頁(yè)
《數(shù)據(jù)庫(kù)原理及應(yīng)用(第二版)》課件 第2章 關(guān)系數(shù)據(jù)庫(kù)理論基礎(chǔ)_第5頁(yè)
已閱讀5頁(yè),還剩24頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第2章關(guān)系數(shù)據(jù)庫(kù)理論

本章要點(diǎn):掌握關(guān)系代數(shù)運(yùn)算。掌握關(guān)系規(guī)范化理論。2025/6/616:001一、關(guān)系運(yùn)算ABCa1b1c1a1b2c2a2b2c1a1b3c2ABCa1b2c2a1b3c2a2b2c1ABCa1b1c1a1b2c2a2b2c1RSR∪

S∪并運(yùn)算結(jié)果是兩張表中的所有行,重復(fù)的行要去除。一、關(guān)系運(yùn)算

》集合運(yùn)算》并運(yùn)算ABCa1b2c2a2b2c1ABCa1b2c2a1b3c2a2b2c1ABCa1b1c1a1b2c2a2b2c1RSR∩S∩交運(yùn)算結(jié)果包括兩張表中共有的行。一、關(guān)系運(yùn)算

》集合運(yùn)算》交運(yùn)算ABCa1b1c1ABCa1b2c2a1b3c2a2b2c1ABCa1b1c1a1b2c2a2b2c1RSR-S-差運(yùn)算結(jié)果包括第一張表中出現(xiàn)但第二張表中不出現(xiàn)的那些行。一、關(guān)系運(yùn)算

》集合運(yùn)算》差運(yùn)算ABCABCa1b1c1a1b2c2a1b1c1a1b3c2a1b1c1a2b2c1a1b2c2a1b2c2a1b2c2a1b3c2a1b2c2a2b2c1a2b2c1a1b2c2a2b2c1a1b3c2a2b2c1a2b2c1ABCa1b2c2a1b3c2a2b2c1ABCa1b1c1a1b2c2a2b2c1RSR×

S×兩個(gè)分別為n目和m目的關(guān)系R和S的笛卡爾積是一個(gè)(n?+?m)列的元組的集合。元組的前n列是關(guān)系R的一個(gè)元組,后m列是關(guān)系S的一個(gè)元組。若R有k1個(gè)元組,S有k2個(gè)元組,則關(guān)系R和關(guān)系S的笛卡爾積有k1*k2個(gè)元組。簡(jiǎn)要說(shuō):笛卡爾積是是一張表的每一行與另一張表的每一行進(jìn)行組合。一、關(guān)系運(yùn)算

》集合運(yùn)算》乘積運(yùn)算(笛卡爾積)選擇運(yùn)算根據(jù)一個(gè)或多個(gè)條件從一張數(shù)據(jù)表中選擇符合條件的行?!纠?-1】查詢信息系全體學(xué)生一、關(guān)系運(yùn)算

》專門(mén)關(guān)系運(yùn)算》選擇運(yùn)算【例2-2】從關(guān)系Student中選取所有年齡小于20的學(xué)生,其關(guān)系運(yùn)算表達(dá)式為:一、關(guān)系運(yùn)算

》專門(mén)關(guān)系運(yùn)算》選擇運(yùn)算投影運(yùn)算也是一個(gè)單目運(yùn)算,它是從一個(gè)關(guān)系R中選取所需要的列組成一個(gè)新關(guān)系。一、關(guān)系運(yùn)算

》專門(mén)關(guān)系運(yùn)算》投影運(yùn)算【例2-3】查詢學(xué)生關(guān)系中有哪些系,其運(yùn)算關(guān)系表達(dá)式為:【例2-4】查詢學(xué)生的姓名和所在系一、關(guān)系運(yùn)算

》專門(mén)關(guān)系運(yùn)算》投影運(yùn)算一、關(guān)系運(yùn)算

》專門(mén)關(guān)系運(yùn)算》連接運(yùn)算連接運(yùn)算是一個(gè)二目運(yùn)算,它是從兩個(gè)關(guān)系的笛卡爾積中選取滿足一定連接條件的元組。連接運(yùn)算從R和S的笛卡爾積R?×?S中選取R關(guān)系在A屬性組上的值與S關(guān)系在B屬性組上值滿足比較關(guān)系θ的元組。一、關(guān)系運(yùn)算

》專門(mén)關(guān)系運(yùn)算》連接運(yùn)算【例2-5】RB?=?SB連接結(jié)果自然連接結(jié)果自然連接需要取消重復(fù)列

【例2-7】查詢選修了1號(hào)課程的學(xué)生學(xué)號(hào)。

Sno(

Cno=‘1’(SC))【例2-8】查詢選修了1號(hào)課程或3號(hào)課程的學(xué)生學(xué)號(hào)。

Sno(

Cno=‘1’vCno=‘3’(SC))或

Sno(

Cno=‘1’(SC))U

Sno(

Cno=‘3’(SC))【例2-9】查詢至少選修了一門(mén)其先行課為5號(hào)課程的學(xué)生姓名。

Sname(

Cpno=‘5’(Course)?SC?

Sno,Sname(Student))一、關(guān)系運(yùn)算

》關(guān)系運(yùn)算實(shí)例二、規(guī)范化理論數(shù)據(jù)庫(kù)設(shè)計(jì)的一個(gè)最基本的問(wèn)題是怎樣建立一個(gè)合理的數(shù)據(jù)庫(kù)模式,使數(shù)據(jù)庫(kù)系統(tǒng)無(wú)論是在數(shù)據(jù)存儲(chǔ)方面,還是在數(shù)據(jù)操作方面都具有較好的性能。為使數(shù)據(jù)庫(kù)設(shè)計(jì)合理可靠、簡(jiǎn)單實(shí)用,長(zhǎng)期以來(lái)形成了關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)理論,即規(guī)范化理論。它是根據(jù)現(xiàn)實(shí)世界存在的數(shù)據(jù)依賴而進(jìn)行的關(guān)系模式的規(guī)范化處理,從而得到一個(gè)合理的數(shù)據(jù)庫(kù)設(shè)計(jì)效果。SnoSnameSsexDnameCnameTnameGrade0450301張三愷男計(jì)算機(jī)系高等數(shù)學(xué)李剛830450301張三愷男計(jì)算機(jī)系英語(yǔ)林弗然710450301張三愷男計(jì)算機(jī)系數(shù)字電路周斌920450301張三愷男計(jì)算機(jī)系數(shù)據(jù)結(jié)構(gòu)陳長(zhǎng)樹(shù)860450302王薇薇女計(jì)算機(jī)系高等數(shù)學(xué)李剛790450302王薇薇女計(jì)算機(jī)系英語(yǔ)林弗然940450302王薇薇女計(jì)算機(jī)系數(shù)字電路周斌740450302王薇薇女計(jì)算機(jī)系數(shù)據(jù)結(jié)構(gòu)陳長(zhǎng)樹(shù)68…………………0420131陳杰西男園林系高等數(shù)學(xué)吳相輿970420131陳杰西男園林系英語(yǔ)林弗然790420131陳杰西男園林系植物分類學(xué)花裴基930420131陳杰西男園林系素描豐茹88下表會(huì)出現(xiàn)哪些問(wèn)題?二、規(guī)范化理論1.?dāng)?shù)據(jù)冗余(DataRedundancy)(1)學(xué)生信息存儲(chǔ)了多次。(2)課程信息存儲(chǔ)了多次。(3)教師授課信息存儲(chǔ)了多次。2.更新異常(UpdateAnomalies)(1)插入異常(InsertAnomalies):沒(méi)有學(xué)生信息時(shí),無(wú)法插入系別、課程、教師信息。(2)修改異常(ModificationAnomalies):如果更改一門(mén)課程的任課教師或?qū)W生的所在系別,則需要修改多個(gè)元組,可能造成數(shù)據(jù)的不一致性。(3)刪除異常(DeletionAnomalies):刪除學(xué)生,把課程信息也刪除了。SnoSnameSsexDname0450301張三愷男計(jì)算機(jī)系0450302王薇薇女計(jì)算機(jī)系…………0420131陳杰西男園林系CnoCnameTnameGS01101高等數(shù)學(xué)李剛YY01305英語(yǔ)林弗然SD05103數(shù)字電路周斌SJ05306數(shù)據(jù)結(jié)構(gòu)陳長(zhǎng)樹(shù)……GS01102高等數(shù)學(xué)吳相輿ZF02101植物分類學(xué)花裴基SM02204素描豐茹SnoCnoGrade0450301GS01101830450301YY01305710450301SD05103920450301SJ05306860450302GS01101790450302YY01305940450302SD05103740450302SJ0530668………0420131GS01102970420131YY01305790420131ZF02101930420131SM0220488應(yīng)將上表分解成以下三個(gè)表:改進(jìn)后的優(yōu)點(diǎn):1、數(shù)據(jù)存儲(chǔ)量減少。2、更新方便、之前的各種異?;颈幌6x2.1設(shè)R(U)是一個(gè)關(guān)系模式,U是R的屬性集合,X和Y是U的子集。對(duì)于R(U)的任意一個(gè)可能的關(guān)系r,如果r中不存在兩個(gè)元組,它們?cè)赬上的屬性值相同,而在Y上的屬性值不同,則稱“X函數(shù)確定Y”或“Y函數(shù)依賴于X”,記作X→Y。例:學(xué)號(hào)→姓名例:定單號(hào)→訂單日期例:姓名→年齡這個(gè)函數(shù)依賴只有在沒(méi)有同名人的條件下成立。二、規(guī)范化理論

》函數(shù)依賴范式是符合某一種級(jí)別的關(guān)系模式的集合,是衡量關(guān)系模式規(guī)范化程度的標(biāo)準(zhǔn),達(dá)到范式要求的關(guān)系才是規(guī)范化的。關(guān)系模式的規(guī)范化主要解決的問(wèn)題是關(guān)系中數(shù)據(jù)冗余及由此產(chǎn)生的操作異常。而從函數(shù)依賴的觀點(diǎn)來(lái)看,即是消除關(guān)系模式中產(chǎn)生數(shù)據(jù)冗余的函數(shù)依賴。各范式之間的關(guān)系非規(guī)范化關(guān)系1NF2NF3NFBCNF……二、規(guī)范化理論

》范式有6種范式:第一范式、第二范式、第三范式、BC范式、第四范式和第五范式。其關(guān)系是:1NF?2NF?3NF?BCNF?4NF?5NF1.第一范式(1NF)定義2.8當(dāng)一個(gè)關(guān)系中的所有分量都是不可分的數(shù)據(jù)項(xiàng)時(shí),就稱該關(guān)系是規(guī)范化的,這個(gè)表叫做第一范式(1NF)。職工號(hào)姓

名工

資基本工資職務(wù)工資工齡工資

職工號(hào)姓名職稱系名學(xué)歷畢業(yè)年份05103周斌教授計(jì)算機(jī)大學(xué)研究生1983199205306陳長(zhǎng)樹(shù)講師計(jì)算機(jī)大學(xué)1995職工號(hào)姓名基本工資職務(wù)工資工齡工資

職工號(hào)姓名職稱系名學(xué)歷畢業(yè)年份05103周斌教授計(jì)算機(jī)大學(xué)198305103周斌教授計(jì)算機(jī)研究生199205306陳長(zhǎng)樹(shù)講師計(jì)算機(jī)大學(xué)1995第一范式非規(guī)范化關(guān)系非規(guī)范化關(guān)系第一范式關(guān)系模式如下:SLC(SNO,DEPT,SLOC,CNO,GRADE)字段的含義分別為:學(xué)號(hào)、系別、住處,課號(hào)、成績(jī)。此關(guān)系模式為第一范式,但存在如下問(wèn)題:(1)插入異常問(wèn)題。假若要插入一個(gè)SNO?=?'95102',DEPT?=?'IS',SLOC?=?'N',但還未選課的學(xué)生,即這個(gè)學(xué)生無(wú)CNO,這樣的元組不能插入SLC中。(2)刪除異常問(wèn)題。假定某個(gè)學(xué)生只選修了一門(mén)課,且這門(mén)課程只有這一個(gè)學(xué)生選。刪除選課記錄后,學(xué)生的基本信息丟失了,課程信息的信息也丟失了。(3)數(shù)據(jù)冗余度大的問(wèn)題。如果一個(gè)學(xué)生選修了10門(mén)課程,那么他的DEPT和SLOC值就要重復(fù)存儲(chǔ)10次。2025/6/616:001.第一范式(1NF)2.第二范式(2NF)定義2.10:如果一個(gè)關(guān)系模式R∈1NF,且它的所有非主屬性都完全函數(shù)依賴于R的任一候選碼,則R∈2NF。定義2.3在關(guān)系模式R(U)中,如果X→Y,并且對(duì)于X的任何一個(gè)真子集X′,都有X'?Y,則稱Y完全函數(shù)依賴(FullFunctionalDependency)于X,記作X→Y。若X→Y,但Y不完全函數(shù)依賴于X,則稱Y部分函數(shù)依賴(PartialFunctionalDependency)于X,記作X→Y。第二范式例子:成績(jī)表(學(xué)號(hào),課程號(hào),成績(jī))(學(xué)號(hào),課程號(hào))→成績(jī)學(xué)生(學(xué)號(hào),姓名,性別)學(xué)號(hào)→姓名,學(xué)號(hào)→性別FPFSLC(SNO,DEPT,SLOC,CNO,GRADE)2025/6/616:002.第二范式(2NF)候選碼是:sno、cno有如下函數(shù)依賴:存在部分依賴,所以不是第二范式。將SLC分解為以下兩個(gè)關(guān)系模式:SC(SNO,CNO,GRADE)SL(SNO,DEPT,SLOC)其中,SC的碼為(SNO,CNO);SL的碼為SNO。2025/6/616:002.第二范式(2NF)(SNO,CNO)→GRADESNO→DEPTDEPT→SLOCSNO→SLOC所有非主屬性都完全函數(shù)依賴于碼,所以兩個(gè)關(guān)系模式都是第二范式。減輕了數(shù)據(jù)冗余和更新異常問(wèn)題,但“DEPT→SLOC”仍會(huì)造成數(shù)據(jù)冗余和更新異常。有如下函數(shù)依賴:F定義2.4在關(guān)系模式R(U)中,如果X→Y,Y→Z,且Y?X,則稱Z傳遞函數(shù)依賴于X,記作Z→X。定義2.11如果一個(gè)關(guān)系模式R∈2NF,且所有非主屬性都不傳遞函數(shù)依賴于任何候選碼,則R∈3NF。第三范式例子:成績(jī)表(學(xué)號(hào),課程號(hào),成績(jī))(學(xué)號(hào),課程號(hào))→成績(jī)

學(xué)生(學(xué)號(hào),姓名,性別)學(xué)號(hào)→姓名,學(xué)號(hào)→性別,姓名?性別2025/6/616:003.第三范式(3NF)傳遞函數(shù)依賴?yán)樱簩W(xué)生(學(xué)號(hào),姓名,學(xué)院,院長(zhǎng))

因?yàn)椤皩W(xué)號(hào)→學(xué)院,學(xué)院→院長(zhǎng),學(xué)院?學(xué)號(hào)”,所以“學(xué)號(hào)→院長(zhǎng)”TT非主屬性之間有函數(shù)依賴把SL(SNO,DEPT,SLOC)分解為兩個(gè)關(guān)系模式:SD(SNO,DEPT)DL(DEPT,SLOC)其中,SD的碼為SNO;DL的碼為DEPT。關(guān)系模式中既沒(méi)有非主屬性對(duì)碼的部分函數(shù)依賴,也沒(méi)有非主屬性對(duì)碼的傳遞函數(shù)依賴,基本上解決了上述問(wèn)題:(1)當(dāng)沒(méi)有學(xué)生信息時(shí),在DL關(guān)系中可以插入系別和住處信息。(2)某個(gè)系的學(xué)生全部畢業(yè)了,只是刪除SD關(guān)系中的相應(yīng)元組,DL關(guān)系中關(guān)于該系的信息仍然存在。(3)關(guān)于系的住處的信息只在DL關(guān)系中存儲(chǔ)一次。(4)當(dāng)學(xué)校調(diào)整某個(gè)系的學(xué)生住處時(shí),只需修改DL關(guān)系中一個(gè)相應(yīng)元組的SLOC屬性值。2025/6/616:003.第三范式(3NF)在信息系統(tǒng)的設(shè)計(jì)中,普遍采用的是“基于3NF的系統(tǒng)設(shè)計(jì)”方法,就是由于3NF是無(wú)條件可以達(dá)到的,并且基本解決了“異?!钡膯?wèn)題,因此這種方法目前在信息系統(tǒng)的設(shè)計(jì)中仍然被廣泛地應(yīng)用。2025/6/616:003.第三范式(3NF)二、規(guī)范化理論

》關(guān)系模式規(guī)范化的實(shí)例EcodeProjCodeDeptHoursE101P27Systems90E305P27Finance10E508P51AdminNULLE101P51Systems101E101P20Systems60E508P27Admin72【例2-15】考查下表,主鍵是(ecodeprojcode)Dept依賴于Ecode,所以dept不完全依賴于碼(Ecodeprojcode)。不屬于第二范式。把有部分依賴的放入另一張表,這樣就成了第二范式。將表轉(zhuǎn)換成2NF的步驟如下:(1)找出并移去函數(shù)依賴于部分關(guān)鍵字而不是整個(gè)關(guān)鍵字的屬性,將它們放到另一張表中;(2)將剩余的屬性分組。EmployeeDeptECodeDeptE101SystemsE305FinanceE508AdminProjectECodeProjCodeHoursE101P2790E101P51101E10

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論