數(shù)據(jù)庫設計與應用教學資料課件_第1頁
數(shù)據(jù)庫設計與應用教學資料課件_第2頁
數(shù)據(jù)庫設計與應用教學資料課件_第3頁
數(shù)據(jù)庫設計與應用教學資料課件_第4頁
數(shù)據(jù)庫設計與應用教學資料課件_第5頁
已閱讀5頁,還剩65頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第十四章數(shù)據(jù)庫設計與應用1第十四章數(shù)據(jù)庫設計與應用1本章基本內(nèi)容與要求基本內(nèi)容關(guān)系模式規(guī)范化數(shù)據(jù)庫設計數(shù)據(jù)庫技術(shù)應用要求掌握關(guān)系模式規(guī)范化的過程與基本方法熟悉數(shù)據(jù)庫設計過程了解典型的關(guān)系數(shù)據(jù)庫產(chǎn)品和常用的數(shù)據(jù)庫應用系統(tǒng)2本章基本內(nèi)容與要求基本內(nèi)容2第一節(jié)關(guān)系模式規(guī)范化數(shù)據(jù)庫設計的關(guān)鍵是數(shù)據(jù)模式的設計,如何把現(xiàn)實世界表達成一個合適的數(shù)據(jù)模式?如何選擇一個比較好的關(guān)系模式的集合?關(guān)系模式中某些數(shù)據(jù)依賴問題的存在,可能會導致數(shù)據(jù)庫中數(shù)據(jù)冗余和操作異常等問題,關(guān)系模式規(guī)范化方法使用范式這一概念來定義關(guān)系模式所符合的不同級別的要求,較低級別范式的關(guān)系模式,經(jīng)模式分解可轉(zhuǎn)換為若干符合較高級別范式要求的關(guān)系模式。3第一節(jié)關(guān)系模式規(guī)范化數(shù)據(jù)庫設計的關(guān)鍵是數(shù)據(jù)模式的設計,如一、關(guān)系模式規(guī)范化問題的提出4一、關(guān)系模式規(guī)范化問題的提出4關(guān)系模式規(guī)范化問題的提出存在問題數(shù)據(jù)冗余更新異常插入異常刪除異常解決方法:分解為二個關(guān)系R1(教師號,教師姓名,聯(lián)系電話)R2(教師號,課程號,課程名)5關(guān)系模式規(guī)范化問題的提出存在問題566二、函數(shù)依賴–定義定義14.1設有關(guān)系模式R(A1,A2,…,An),簡記為R(U),其中U={A1,A2,…,An}。設X,Y是U的子集,r是R的任一具體關(guān)系,t1,t2是r中的任意兩個元組,若t1[X]=t2[X](即元組t1、t2在X上的屬性值相等)則t1[Y]=t2[Y](元組t1、t2在Y上的屬性值相等),則稱X函數(shù)決定Y,或Y函數(shù)依賴于X,記為X→Y。7二、函數(shù)依賴–定義定義14.1設有關(guān)系模式R(A1,A2函數(shù)依賴-例

有一個教學管理關(guān)系模式R(SNO,SNAME,CNO,GRADE,CNAME,TNAME,TADDRESS)其中各屬性的含義為:SNO:學號;SNAME:學生姓名;CNO:課程號;GRADE:學生成績;CNAME:課程名;TNAME:教師姓名TADDRESS:教師地址;則根據(jù)教學管理的現(xiàn)實世界,在關(guān)系模式R的任何關(guān)系r中存在下列函數(shù)依賴關(guān)系:SNO→SNAME;CNO→CNAMETNAME→TADDRESS(SNO,CNO)→GRADE8函數(shù)依賴-例有一個教學管理關(guān)系模式8函數(shù)依賴-分類完全函數(shù)依賴在關(guān)系模式R(U)中,如果X→Y,并且對于X的任意一個真子集X1,X1→Y均不成立,則稱Y完全依賴于X。

例:(學號,課程號)→成績?yōu)橥耆瘮?shù)依賴。部分函數(shù)依賴在關(guān)系模式R(U)中,如果X→Y,并且至少存在X的一個真子集X1,使得X1→Y成立,則稱Y部分依賴于X。

例:(學號,課程號)→姓名為部分函數(shù)依賴。傳遞函數(shù)依賴在關(guān)系模式R(U)中,如果X→Y并且Y→Z,且Y→X則稱Z傳遞依賴于X。

例:學號→系地址為傳遞函數(shù)依賴,因為學號→系部,系部→系地址。9函數(shù)依賴-分類完全函數(shù)依賴在關(guān)系模式R(U)中,如果X→Y用函數(shù)依賴定義主碼侯選候選碼(候選鍵)設有關(guān)系模式R(U),F(xiàn)是R上的函數(shù)依賴集,K是U的一個子集。如果:①F邏輯蘊涵K→U;②不存在K的任何真子集K1使得F邏輯蘊涵K1→U;則稱K是R的候選碼或候選鍵。主碼(關(guān)鍵字)當侯選候選碼多于一個時,可以選中其中的一個作為主碼。主屬性所有侯選候選鍵中的屬性稱為主屬性。非主屬性不包含在任何侯選候選鍵中的屬性稱為非主屬性。10用函數(shù)依賴定義主碼侯選候選碼(候選鍵)設有關(guān)系模式R(U例關(guān)系模式(學號,課程號,教師號,教師姓名,聯(lián)系電話或地址),在這個關(guān)系模式中存在下列自然的函數(shù)依賴集F={(學號,課程號)→教師號,教師號→教師姓名,教師號→聯(lián)系電話或地址},確定侯選候選碼、主碼、主屬性、非主屬性。分析:由函數(shù)依賴集F,根據(jù)傳遞規(guī)則可以推出:(學號,課程號)→教師姓名,(學號,課程號)→聯(lián)系電話或地址再根據(jù)自反律可以推出:(學號,課程號)→(學號,課程號)進一步根據(jù)增廣律推出:(學號,課程號)→(學號,課程號,教師號,教師姓名,聯(lián)系電話或地址)因此(學號,課程號)是該關(guān)系模式的侯選候選碼,并且在這個關(guān)系模式中沒有其他的侯選候選碼,因此關(guān)系模式的主屬性為:學號、和課程號;非主屬性為:教師號、和教師姓名。11例關(guān)系模式(學號,課程號,教師號,教師姓名,聯(lián)系電話或地址)三、關(guān)系模式規(guī)范化規(guī)范化的基本思想是消除關(guān)系模式中的數(shù)據(jù)冗余,消除數(shù)據(jù)依賴中的不合適的部分,解決數(shù)據(jù)插入、刪除與修改時發(fā)生的異常現(xiàn)象。,這就要求關(guān)系數(shù)據(jù)庫設計出來的關(guān)系模式要滿足一定的條件。我們把關(guān)系數(shù)據(jù)庫的規(guī)范化過程中為不同程度的規(guī)范化要求設立的不同的標準或準則稱為范式(NormalForm)。,滿足最低要求的叫第一范式,簡稱1NF。一個低一級范式的關(guān)系模式,通過模式分解可以轉(zhuǎn)換為若干個高一級范式的關(guān)系模式的集合,這種過程就叫規(guī)范化。12三、關(guān)系模式規(guī)范化規(guī)范化的基本思想是消除關(guān)系模式中的數(shù)據(jù)冗第一范式(1NF)第一范式(FirstNormalForm)是最基本的規(guī)范化形式,即關(guān)系中每個屬性都是不可再分的簡單項。定義11.2如果關(guān)系模式R所有的屬性均為簡單屬性,即每個屬性都是不可再分的,則稱R屬于第一范式,簡稱1NF,記作R∈1NF。在關(guān)系數(shù)據(jù)庫中只討論規(guī)范化的關(guān)系,因此第一范式是最低要求,即所有關(guān)系都必須符合第一范式。如果不滿足第一范式,必須轉(zhuǎn)化成符合第一范式的關(guān)系。13第一范式(1NF)第一范式(FirstNormalFor第二范式(2NF)定義11.3若關(guān)系模式R∈1NF,且每一個非主屬性完全函數(shù)依賴于關(guān)系R的某個侯選候選鍵,則關(guān)系R為第二范式,記為R∈2NF。2NF不允許關(guān)系模式的非主屬性與侯選候選碼之間存在部分函數(shù)依賴,如關(guān)系模式R(教師號,教師姓名,地址或聯(lián)系電話,課程號,課程名)的侯選候選碼是(教師號,課程號),即:(教師號,課程號)→課程名,但課程號是(教師號,課程號)的子集,實際上,課程號→課程名也就是說在關(guān)系R中存在著非主屬性對侯選候選碼的部分依賴。事實上在這個關(guān)系模式中還存在著其他的非主屬性對侯選候選鍵碼的部分函數(shù)依賴:(教師號,課程號)→教師姓名(教師號,課程號)→聯(lián)系電話或地址因此關(guān)系R不是第二范式。將關(guān)系R分解為R1(教師號,教師姓名,聯(lián)系地址)R2(教師號,課程號,課程名)由于R1的侯選候選碼鍵只有教師號,在R1中不存在非主屬性對侯選候選鍵的部分函數(shù)依賴,因此R1屬于第二范式。14第二范式(2NF)定義11.3若關(guān)系模式R∈1NF,且每一第三范式(3NF)定義11.4若關(guān)系模式R∈2NF,若每一個非主屬性都不傳遞依賴于某個侯選候選碼,則關(guān)系R屬于第三范式,記為:R∈3NF??疾礻P(guān)系模式:S(SNO,SNAME,AGE,DNO,DEAN),其中各屬性代表的含義如下:SNO:學號;SNAME:學生姓名;AGE:學生年齡;DNO:學生所在的系號;DEAN:學生所在系的系名;這個關(guān)系模式中存在的函數(shù)依賴集如下:F={SNO→NAME,SNO→AGE,SNO→DNO,DNO→DEAN}在這個關(guān)系模式中,顯然SNO→(SNO,SNAME,AGE,DNO,DEAN),即SNO是關(guān)系模式的侯選候選碼,且是唯一的侯選候選碼,并且,非主屬性對侯選候選碼是完全函數(shù)依賴,不存在非主屬性對侯選候選碼的部分函數(shù)依賴,因此,關(guān)系模式S∈2NF,然而SNO→DEAN是由SNO→DNO,DNO→DEAN兩個函數(shù)依賴推出的,我們稱系名(DEAN)傳遞依賴于學號(SNO),因此S不屬于第三范式。15第三范式(3NF)定義11.4若關(guān)系模式R∈2NF,若每一定義11.4若關(guān)系模式R∈2NF,若每一個非主屬性都不傳遞依賴于某個侯選候選碼,則關(guān)系R屬于第三范式,記為:R∈3NF。

如果我們將上述關(guān)系分解成:S1=(SNO,SNAME,AGE,DNO)S2=(DNO,DEAN)則S1∈3NF,S2∈3NF,它們各自的關(guān)系實例克服了存儲上的數(shù)據(jù)冗余,操作上的更新異常、刪除異常、插入異常等問題。16定義11.4若關(guān)系模式R∈2NF,若每一個非主屬性都不傳遞從1NF到3NF一個關(guān)系只要其分量都是不可分的數(shù)據(jù)項,就可稱作規(guī)范化的關(guān)系,也稱作1NF。消除1NF關(guān)系中非主屬性對候選碼的部分函數(shù)依賴,得到2NF;消除2NF關(guān)系中非主屬性對候選碼的傳遞函數(shù)依賴,得到3NF。17從1NF到3NF一個關(guān)系只要其分量都是不可分的數(shù)據(jù)項,就可稱例有一商品供應的關(guān)系模式SP(SNO,PNO,SCITY,STATUS,PRICE,QTY)其中各屬性的含義如下:SNO:供應商編號PNO:零件編號SCITY:供應商所在的城市STATUS:供應商的狀態(tài)PRICE:零件的價格QTY:零件的數(shù)量

其屬性組上的函數(shù)依賴集:F={SNO→SCITY,SCITY→STATUS,PNO→PRICE,(SNO,PNO)→QTY}

18例有一商品供應的關(guān)系模式SP(SNO,PNO,SCITY,S例模式SP屬于第一范式,根據(jù)Armstrong推理規(guī)則,由F可以推出:(SNO,PNO)→(SNO,PNO,SCITY,STATUS,PRICE,QTY)SP的侯選候選鍵是:(SNO,PNO)SP的非主屬性為:SCITY,STATUS,PRICE,QTY非主屬性SCITY,PRICE對侯選候選鍵是部分函數(shù)依賴,STATUS對侯選候選鍵是傳遞函數(shù)依賴,為除去部分函數(shù)依賴可將關(guān)系模式SP分解為:SP1(SNO,SCITY,STATUS)SP2(PNO,PRICE)SP3(SNO,PNO,QTY)在SP1的侯選候選鍵是SNO,在其中存在著非主屬性對侯選候選鍵的傳遞函數(shù)依賴性,為除去傳遞函數(shù)依賴,可將SP1分解為:SP11(SNO,SCITY)SP12(SCITY,STATUS)所以關(guān)系模式分解為3NF范式的結(jié)果為:SP11(SNO,SCITY)SP12(SCITY,STATUS)SP2(PNO,PRICE)SP3(SNO,PNO,QTY)可以證明以上每次分解均符合無損連接和保持依賴的條件。

19例模式SP屬于第一范式,根據(jù)Armstrong推理規(guī)則,由F第二節(jié)關(guān)系數(shù)據(jù)庫設計數(shù)據(jù)庫設計是指根據(jù)用戶需求研制數(shù)據(jù)庫結(jié)構(gòu)并應用的過程。數(shù)據(jù)庫設計就是指對于給定的應用環(huán)境,構(gòu)造最優(yōu)的數(shù)據(jù)庫模式,建立數(shù)據(jù)庫及其應用系統(tǒng),使之能有效地存儲數(shù)據(jù),滿足用戶的信息要求和處理要求,也就是把現(xiàn)實世界中的數(shù)據(jù),根據(jù)各種應用處理的要求,加以合理組織,使之能滿足硬件和操作系統(tǒng)的特性,利用已有的DBMS來建立能夠?qū)崿F(xiàn)系統(tǒng)目標的數(shù)據(jù)庫。20第二節(jié)關(guān)系數(shù)據(jù)庫設計數(shù)據(jù)庫設計是指根據(jù)用戶需求研制數(shù)據(jù)庫一、數(shù)據(jù)庫設計步驟21一、數(shù)據(jù)庫設計步驟21數(shù)據(jù)庫設計六個步驟需求分析階段需求分析是指準確了解和分析用戶的需求,。這是最困難、最費時、最復雜的一步,但也是最重要的一步。,它決定了以后各階段設計的速度和質(zhì)量。概念結(jié)構(gòu)設計階段概念結(jié)構(gòu)設計是指對用戶的需求進行綜合、歸納與抽象,形成一個獨立于具體DBMS產(chǎn)品的概念模型,是整個數(shù)據(jù)庫設計的關(guān)鍵。邏輯結(jié)構(gòu)設計階段邏輯結(jié)構(gòu)設計是指將概念模型轉(zhuǎn)換成某個DBMS所支持的數(shù)據(jù)模型,并對其進行優(yōu)化。物理結(jié)構(gòu)設計階段物理結(jié)構(gòu)設計是指為邏輯數(shù)據(jù)模型選取一個最適合應用環(huán)境的物理結(jié)構(gòu)(包括存儲結(jié)構(gòu)和存儲方法)。數(shù)據(jù)庫實施階段數(shù)據(jù)庫實施是指建立數(shù)據(jù)庫,編制與調(diào)試應用程序,組織數(shù)據(jù)入庫,并進行調(diào)試運行。數(shù)據(jù)庫運行與維護階段數(shù)據(jù)庫運行與維護是指對數(shù)據(jù)庫系統(tǒng)實際正常運行使用,并時時實時進行評價、調(diào)整與修改。22數(shù)據(jù)庫設計六個步驟需求分析階段需求分析是指準確了解和分析用二、數(shù)據(jù)庫設計主要階段的任務-需求分析需求分析的任務是通過詳細調(diào)查現(xiàn)實世界要處理的對象(組織、部門、企業(yè)等),充分了解原系統(tǒng)(手工系統(tǒng)或計算機系統(tǒng))的工作概況,明確用戶的各種需求,然后在此基礎上確定新系統(tǒng)的功能。信息要求指用戶需要從數(shù)據(jù)庫中獲得信息的內(nèi)容與性質(zhì)。由信息要求可以導出數(shù)據(jù)要求,即在數(shù)據(jù)庫中需要存儲哪些數(shù)據(jù)。處理要求指用戶要完成什么處理功能,對處理的響應時間有什么要求,處理方式是批處理還是聯(lián)機處理。安全性與完整性要求指對數(shù)據(jù)庫中的數(shù)據(jù)應該實施哪些約束和控制以保證數(shù)據(jù)的完整性和安全性。23二、數(shù)據(jù)庫設計主要階段的任務-需求分析需求分析的任務是通過詳二、數(shù)據(jù)庫設計主要階段的任務

-概念結(jié)構(gòu)設計

概念模式獨立于數(shù)據(jù)庫系統(tǒng)的邏輯結(jié)構(gòu),獨立于具體的DBMS產(chǎn)品,也獨立于計算機系統(tǒng)。概念模式是面向現(xiàn)實世界的數(shù)據(jù)模型24二、數(shù)據(jù)庫設計主要階段的任務

-概念結(jié)構(gòu)設計概念模式獨立于二、數(shù)據(jù)庫設計主要階段的任務

-邏輯結(jié)構(gòu)設計

將概念設計階段產(chǎn)生的概念模式變換為邏輯模式。步驟(以關(guān)系模型為例)將概念結(jié)構(gòu)轉(zhuǎn)換為一般的關(guān)系模型將以上得到的一般關(guān)系模型向特定DBMS支持下的數(shù)據(jù)模型轉(zhuǎn)換對數(shù)據(jù)模型進行優(yōu)化25二、數(shù)據(jù)庫設計主要階段的任務

-邏輯結(jié)構(gòu)設計將概念設計階段二、數(shù)據(jù)庫設計主要階段的任務

-物理結(jié)構(gòu)設計

數(shù)據(jù)庫的物理設計是對已確定的邏輯數(shù)據(jù)結(jié)構(gòu),利用DBMS所提供的方法、技術(shù),以較優(yōu)的數(shù)據(jù)存儲結(jié)構(gòu)、數(shù)據(jù)存取路徑、合理的數(shù)據(jù)存放位置以及存儲分配,設計出一個高效的、可實現(xiàn)的物理數(shù)據(jù)庫結(jié)構(gòu)。物理設計常常包括某些操作約束如響應時間與存儲要求等。26二、數(shù)據(jù)庫設計主要階段的任務

-物理結(jié)構(gòu)設計數(shù)據(jù)庫的物理設物理設計的內(nèi)容確定數(shù)據(jù)的存儲結(jié)構(gòu)存取路徑的選擇和調(diào)整確定數(shù)據(jù)存放位置確定存儲分配物理設計過程需要對時間、空間效率、維護代價和各種用戶要求進行權(quán)衡,其結(jié)果可以產(chǎn)生多種方案。在實施數(shù)據(jù)庫前,對這些方案進行細致的評價,以選擇一個較優(yōu)的方案作為來設計數(shù)據(jù)庫的物理結(jié)構(gòu)。27物理設計的內(nèi)容確定數(shù)據(jù)的存儲結(jié)構(gòu)物理設計過程需要對第三節(jié)數(shù)據(jù)庫技術(shù)應用典型的關(guān)系數(shù)據(jù)庫管理系統(tǒng)產(chǎn)品ORACLEMicrosoftSQLServerMicrosoftAccess

28第三節(jié)數(shù)據(jù)庫技術(shù)應用典型的關(guān)系數(shù)據(jù)庫管理系統(tǒng)產(chǎn)品28選擇關(guān)系DBMS產(chǎn)品時考慮的主要因素

數(shù)據(jù)庫應用的規(guī)模、類型和用戶的數(shù)量;速度指標;軟件、硬件平臺性價比;開發(fā)者的經(jīng)驗和習慣;安全性要求;對分布式應用的支持等。29選擇關(guān)系DBMS產(chǎn)品時考慮的主要因素數(shù)據(jù)庫應用的規(guī)模、類型典型的數(shù)據(jù)庫應用系統(tǒng)實例航空售票系統(tǒng)座位預定信息座位分配、座位確認、餐飲選擇等;航班信息航班號、飛機型號、機組號、起飛地、目的地、起飛時間、到達時間、飛行狀態(tài)等;機票信息票價、折扣、是否有票等。30典型的數(shù)據(jù)庫應用系統(tǒng)實例30典型的數(shù)據(jù)庫應用系統(tǒng)實例銀行業(yè)務系統(tǒng)顧客信息姓名、身份證號碼、地址、電話等信息;賬戶信息賬號、存款金額、余額、取款金額、日期等信息;顧客與賬戶關(guān)系信息身份證號碼、賬號等信息。31典型的數(shù)據(jù)庫應用系統(tǒng)實例31典型的數(shù)據(jù)庫應用系統(tǒng)實例超市業(yè)務系統(tǒng)銷售信息連鎖點、日期、時間、顧客、商品、數(shù)量、總價等;商品信息商品名稱、單價、進貨數(shù)量、供應商、商品類型、擺放位置等;供應商信息供應商名稱、地點、商品、信譽等。32典型的數(shù)據(jù)庫應用系統(tǒng)實例32典型的數(shù)據(jù)庫應用系統(tǒng)實例工廠的管理信息系統(tǒng)銷售記錄產(chǎn)品、服務、客戶、銷售人員、時間等;雇員信息姓名、地址、工資、津貼、所得稅款等;財務信息合同、應收貨款、應付貨款等。33典型的數(shù)據(jù)庫應用系統(tǒng)實例33典型的數(shù)據(jù)庫應用系統(tǒng)實例學校教學管理系統(tǒng)學生信息姓名、學號、性別、班級、年齡、宿舍、電話、E-mail地址等;教師信息姓名、工作證號、性別、年齡、學歷、教研室、住址、電話、E-mail地址等;教室信息教室號、位置、座位、類型等;課程信息課程名稱、指定教材、學時、學分等;排課信息課程名稱、教室、班級、教師名稱等。34典型的數(shù)據(jù)庫應用系統(tǒng)實例34典型的數(shù)據(jù)庫應用系統(tǒng)實例圖書管理系統(tǒng)圖書信息書號、書名、作者姓名、出版日期、類型、頁數(shù)、價格、出版社名稱等;讀者信息姓名、借書證號、性別、出生日期、學歷、住址、電話等;借閱信息借書證號、書名、借書日期、還書日期等。35典型的數(shù)據(jù)庫應用系統(tǒng)實例35第十四章數(shù)據(jù)庫設計與應用36第十四章數(shù)據(jù)庫設計與應用1本章基本內(nèi)容與要求基本內(nèi)容關(guān)系模式規(guī)范化數(shù)據(jù)庫設計數(shù)據(jù)庫技術(shù)應用要求掌握關(guān)系模式規(guī)范化的過程與基本方法熟悉數(shù)據(jù)庫設計過程了解典型的關(guān)系數(shù)據(jù)庫產(chǎn)品和常用的數(shù)據(jù)庫應用系統(tǒng)37本章基本內(nèi)容與要求基本內(nèi)容2第一節(jié)關(guān)系模式規(guī)范化數(shù)據(jù)庫設計的關(guān)鍵是數(shù)據(jù)模式的設計,如何把現(xiàn)實世界表達成一個合適的數(shù)據(jù)模式?如何選擇一個比較好的關(guān)系模式的集合?關(guān)系模式中某些數(shù)據(jù)依賴問題的存在,可能會導致數(shù)據(jù)庫中數(shù)據(jù)冗余和操作異常等問題,關(guān)系模式規(guī)范化方法使用范式這一概念來定義關(guān)系模式所符合的不同級別的要求,較低級別范式的關(guān)系模式,經(jīng)模式分解可轉(zhuǎn)換為若干符合較高級別范式要求的關(guān)系模式。38第一節(jié)關(guān)系模式規(guī)范化數(shù)據(jù)庫設計的關(guān)鍵是數(shù)據(jù)模式的設計,如一、關(guān)系模式規(guī)范化問題的提出39一、關(guān)系模式規(guī)范化問題的提出4關(guān)系模式規(guī)范化問題的提出存在問題數(shù)據(jù)冗余更新異常插入異常刪除異常解決方法:分解為二個關(guān)系R1(教師號,教師姓名,聯(lián)系電話)R2(教師號,課程號,課程名)40關(guān)系模式規(guī)范化問題的提出存在問題5416二、函數(shù)依賴–定義定義14.1設有關(guān)系模式R(A1,A2,…,An),簡記為R(U),其中U={A1,A2,…,An}。設X,Y是U的子集,r是R的任一具體關(guān)系,t1,t2是r中的任意兩個元組,若t1[X]=t2[X](即元組t1、t2在X上的屬性值相等)則t1[Y]=t2[Y](元組t1、t2在Y上的屬性值相等),則稱X函數(shù)決定Y,或Y函數(shù)依賴于X,記為X→Y。42二、函數(shù)依賴–定義定義14.1設有關(guān)系模式R(A1,A2函數(shù)依賴-例

有一個教學管理關(guān)系模式R(SNO,SNAME,CNO,GRADE,CNAME,TNAME,TADDRESS)其中各屬性的含義為:SNO:學號;SNAME:學生姓名;CNO:課程號;GRADE:學生成績;CNAME:課程名;TNAME:教師姓名TADDRESS:教師地址;則根據(jù)教學管理的現(xiàn)實世界,在關(guān)系模式R的任何關(guān)系r中存在下列函數(shù)依賴關(guān)系:SNO→SNAME;CNO→CNAMETNAME→TADDRESS(SNO,CNO)→GRADE43函數(shù)依賴-例有一個教學管理關(guān)系模式8函數(shù)依賴-分類完全函數(shù)依賴在關(guān)系模式R(U)中,如果X→Y,并且對于X的任意一個真子集X1,X1→Y均不成立,則稱Y完全依賴于X。

例:(學號,課程號)→成績?yōu)橥耆瘮?shù)依賴。部分函數(shù)依賴在關(guān)系模式R(U)中,如果X→Y,并且至少存在X的一個真子集X1,使得X1→Y成立,則稱Y部分依賴于X。

例:(學號,課程號)→姓名為部分函數(shù)依賴。傳遞函數(shù)依賴在關(guān)系模式R(U)中,如果X→Y并且Y→Z,且Y→X則稱Z傳遞依賴于X。

例:學號→系地址為傳遞函數(shù)依賴,因為學號→系部,系部→系地址。44函數(shù)依賴-分類完全函數(shù)依賴在關(guān)系模式R(U)中,如果X→Y用函數(shù)依賴定義主碼侯選候選碼(候選鍵)設有關(guān)系模式R(U),F(xiàn)是R上的函數(shù)依賴集,K是U的一個子集。如果:①F邏輯蘊涵K→U;②不存在K的任何真子集K1使得F邏輯蘊涵K1→U;則稱K是R的候選碼或候選鍵。主碼(關(guān)鍵字)當侯選候選碼多于一個時,可以選中其中的一個作為主碼。主屬性所有侯選候選鍵中的屬性稱為主屬性。非主屬性不包含在任何侯選候選鍵中的屬性稱為非主屬性。45用函數(shù)依賴定義主碼侯選候選碼(候選鍵)設有關(guān)系模式R(U例關(guān)系模式(學號,課程號,教師號,教師姓名,聯(lián)系電話或地址),在這個關(guān)系模式中存在下列自然的函數(shù)依賴集F={(學號,課程號)→教師號,教師號→教師姓名,教師號→聯(lián)系電話或地址},確定侯選候選碼、主碼、主屬性、非主屬性。分析:由函數(shù)依賴集F,根據(jù)傳遞規(guī)則可以推出:(學號,課程號)→教師姓名,(學號,課程號)→聯(lián)系電話或地址再根據(jù)自反律可以推出:(學號,課程號)→(學號,課程號)進一步根據(jù)增廣律推出:(學號,課程號)→(學號,課程號,教師號,教師姓名,聯(lián)系電話或地址)因此(學號,課程號)是該關(guān)系模式的侯選候選碼,并且在這個關(guān)系模式中沒有其他的侯選候選碼,因此關(guān)系模式的主屬性為:學號、和課程號;非主屬性為:教師號、和教師姓名。46例關(guān)系模式(學號,課程號,教師號,教師姓名,聯(lián)系電話或地址)三、關(guān)系模式規(guī)范化規(guī)范化的基本思想是消除關(guān)系模式中的數(shù)據(jù)冗余,消除數(shù)據(jù)依賴中的不合適的部分,解決數(shù)據(jù)插入、刪除與修改時發(fā)生的異?,F(xiàn)象。,這就要求關(guān)系數(shù)據(jù)庫設計出來的關(guān)系模式要滿足一定的條件。我們把關(guān)系數(shù)據(jù)庫的規(guī)范化過程中為不同程度的規(guī)范化要求設立的不同的標準或準則稱為范式(NormalForm)。,滿足最低要求的叫第一范式,簡稱1NF。一個低一級范式的關(guān)系模式,通過模式分解可以轉(zhuǎn)換為若干個高一級范式的關(guān)系模式的集合,這種過程就叫規(guī)范化。47三、關(guān)系模式規(guī)范化規(guī)范化的基本思想是消除關(guān)系模式中的數(shù)據(jù)冗第一范式(1NF)第一范式(FirstNormalForm)是最基本的規(guī)范化形式,即關(guān)系中每個屬性都是不可再分的簡單項。定義11.2如果關(guān)系模式R所有的屬性均為簡單屬性,即每個屬性都是不可再分的,則稱R屬于第一范式,簡稱1NF,記作R∈1NF。在關(guān)系數(shù)據(jù)庫中只討論規(guī)范化的關(guān)系,因此第一范式是最低要求,即所有關(guān)系都必須符合第一范式。如果不滿足第一范式,必須轉(zhuǎn)化成符合第一范式的關(guān)系。48第一范式(1NF)第一范式(FirstNormalFor第二范式(2NF)定義11.3若關(guān)系模式R∈1NF,且每一個非主屬性完全函數(shù)依賴于關(guān)系R的某個侯選候選鍵,則關(guān)系R為第二范式,記為R∈2NF。2NF不允許關(guān)系模式的非主屬性與侯選候選碼之間存在部分函數(shù)依賴,如關(guān)系模式R(教師號,教師姓名,地址或聯(lián)系電話,課程號,課程名)的侯選候選碼是(教師號,課程號),即:(教師號,課程號)→課程名,但課程號是(教師號,課程號)的子集,實際上,課程號→課程名也就是說在關(guān)系R中存在著非主屬性對侯選候選碼的部分依賴。事實上在這個關(guān)系模式中還存在著其他的非主屬性對侯選候選鍵碼的部分函數(shù)依賴:(教師號,課程號)→教師姓名(教師號,課程號)→聯(lián)系電話或地址因此關(guān)系R不是第二范式。將關(guān)系R分解為R1(教師號,教師姓名,聯(lián)系地址)R2(教師號,課程號,課程名)由于R1的侯選候選碼鍵只有教師號,在R1中不存在非主屬性對侯選候選鍵的部分函數(shù)依賴,因此R1屬于第二范式。49第二范式(2NF)定義11.3若關(guān)系模式R∈1NF,且每一第三范式(3NF)定義11.4若關(guān)系模式R∈2NF,若每一個非主屬性都不傳遞依賴于某個侯選候選碼,則關(guān)系R屬于第三范式,記為:R∈3NF。考察關(guān)系模式:S(SNO,SNAME,AGE,DNO,DEAN),其中各屬性代表的含義如下:SNO:學號;SNAME:學生姓名;AGE:學生年齡;DNO:學生所在的系號;DEAN:學生所在系的系名;這個關(guān)系模式中存在的函數(shù)依賴集如下:F={SNO→NAME,SNO→AGE,SNO→DNO,DNO→DEAN}在這個關(guān)系模式中,顯然SNO→(SNO,SNAME,AGE,DNO,DEAN),即SNO是關(guān)系模式的侯選候選碼,且是唯一的侯選候選碼,并且,非主屬性對侯選候選碼是完全函數(shù)依賴,不存在非主屬性對侯選候選碼的部分函數(shù)依賴,因此,關(guān)系模式S∈2NF,然而SNO→DEAN是由SNO→DNO,DNO→DEAN兩個函數(shù)依賴推出的,我們稱系名(DEAN)傳遞依賴于學號(SNO),因此S不屬于第三范式。50第三范式(3NF)定義11.4若關(guān)系模式R∈2NF,若每一定義11.4若關(guān)系模式R∈2NF,若每一個非主屬性都不傳遞依賴于某個侯選候選碼,則關(guān)系R屬于第三范式,記為:R∈3NF。

如果我們將上述關(guān)系分解成:S1=(SNO,SNAME,AGE,DNO)S2=(DNO,DEAN)則S1∈3NF,S2∈3NF,它們各自的關(guān)系實例克服了存儲上的數(shù)據(jù)冗余,操作上的更新異常、刪除異常、插入異常等問題。51定義11.4若關(guān)系模式R∈2NF,若每一個非主屬性都不傳遞從1NF到3NF一個關(guān)系只要其分量都是不可分的數(shù)據(jù)項,就可稱作規(guī)范化的關(guān)系,也稱作1NF。消除1NF關(guān)系中非主屬性對候選碼的部分函數(shù)依賴,得到2NF;消除2NF關(guān)系中非主屬性對候選碼的傳遞函數(shù)依賴,得到3NF。52從1NF到3NF一個關(guān)系只要其分量都是不可分的數(shù)據(jù)項,就可稱例有一商品供應的關(guān)系模式SP(SNO,PNO,SCITY,STATUS,PRICE,QTY)其中各屬性的含義如下:SNO:供應商編號PNO:零件編號SCITY:供應商所在的城市STATUS:供應商的狀態(tài)PRICE:零件的價格QTY:零件的數(shù)量

其屬性組上的函數(shù)依賴集:F={SNO→SCITY,SCITY→STATUS,PNO→PRICE,(SNO,PNO)→QTY}

53例有一商品供應的關(guān)系模式SP(SNO,PNO,SCITY,S例模式SP屬于第一范式,根據(jù)Armstrong推理規(guī)則,由F可以推出:(SNO,PNO)→(SNO,PNO,SCITY,STATUS,PRICE,QTY)SP的侯選候選鍵是:(SNO,PNO)SP的非主屬性為:SCITY,STATUS,PRICE,QTY非主屬性SCITY,PRICE對侯選候選鍵是部分函數(shù)依賴,STATUS對侯選候選鍵是傳遞函數(shù)依賴,為除去部分函數(shù)依賴可將關(guān)系模式SP分解為:SP1(SNO,SCITY,STATUS)SP2(PNO,PRICE)SP3(SNO,PNO,QTY)在SP1的侯選候選鍵是SNO,在其中存在著非主屬性對侯選候選鍵的傳遞函數(shù)依賴性,為除去傳遞函數(shù)依賴,可將SP1分解為:SP11(SNO,SCITY)SP12(SCITY,STATUS)所以關(guān)系模式分解為3NF范式的結(jié)果為:SP11(SNO,SCITY)SP12(SCITY,STATUS)SP2(PNO,PRICE)SP3(SNO,PNO,QTY)可以證明以上每次分解均符合無損連接和保持依賴的條件。

54例模式SP屬于第一范式,根據(jù)Armstrong推理規(guī)則,由F第二節(jié)關(guān)系數(shù)據(jù)庫設計數(shù)據(jù)庫設計是指根據(jù)用戶需求研制數(shù)據(jù)庫結(jié)構(gòu)并應用的過程。數(shù)據(jù)庫設計就是指對于給定的應用環(huán)境,構(gòu)造最優(yōu)的數(shù)據(jù)庫模式,建立數(shù)據(jù)庫及其應用系統(tǒng),使之能有效地存儲數(shù)據(jù),滿足用戶的信息要求和處理要求,也就是把現(xiàn)實世界中的數(shù)據(jù),根據(jù)各種應用處理的要求,加以合理組織,使之能滿足硬件和操作系統(tǒng)的特性,利用已有的DBMS來建立能夠?qū)崿F(xiàn)系統(tǒng)目標的數(shù)據(jù)庫。55第二節(jié)關(guān)系數(shù)據(jù)庫設計數(shù)據(jù)庫設計是指根據(jù)用戶需求研制數(shù)據(jù)庫一、數(shù)據(jù)庫設計步驟56一、數(shù)據(jù)庫設計步驟21數(shù)據(jù)庫設計六個步驟需求分析階段需求分析是指準確了解和分析用戶的需求,。這是最困難、最費時、最復雜的一步,但也是最重要的一步。,它決定了以后各階段設計的速度和質(zhì)量。概念結(jié)構(gòu)設計階段概念結(jié)構(gòu)設計是指對用戶的需求進行綜合、歸納與抽象,形成一個獨立于具體DBMS產(chǎn)品的概念模型,是整個數(shù)據(jù)庫設計的關(guān)鍵。邏輯結(jié)構(gòu)設計階段邏輯結(jié)構(gòu)設計是指將概念模型轉(zhuǎn)換成某個DBMS所支持的數(shù)據(jù)模型,并對其進行優(yōu)化。物理結(jié)構(gòu)設計階段物理結(jié)構(gòu)設計是指為邏輯數(shù)據(jù)模型選取一個最適合應用環(huán)境的物理結(jié)構(gòu)(包括存儲結(jié)構(gòu)和存儲方法)。數(shù)據(jù)庫實施階段數(shù)據(jù)庫實施是指建立數(shù)據(jù)庫,編制與調(diào)試應用程序,組織數(shù)據(jù)入庫,并進行調(diào)試運行。數(shù)據(jù)庫運行與維護階段數(shù)據(jù)庫運行與維護是指對數(shù)據(jù)庫系統(tǒng)實際正常運行使用,并時時實時進行評價、調(diào)整與修改。57數(shù)據(jù)庫設計六個步驟需求分析階段需求分析是指準確了解和分析用二、數(shù)據(jù)庫設計主要階段的任務-需求分析需求分析的任務是通過詳細調(diào)查現(xiàn)實世界要處理的對象(組織、部門、企業(yè)等),充分了解原系統(tǒng)(手工系統(tǒng)或計算機系統(tǒng))的工作概況,明確用戶的各種需求,然后在此基礎上確定新系統(tǒng)的功能。信息要求指用戶需要從數(shù)據(jù)庫中獲得信息的內(nèi)容與性質(zhì)。由信息要求可以導出數(shù)據(jù)要求,即在數(shù)據(jù)庫中需要存儲哪些數(shù)據(jù)。處理要求指用戶要完成什么處理功能,對處理的響應時間有什么要求,處理方式是批處理還是聯(lián)機處理。安全性與完整性要求指對數(shù)據(jù)庫中的數(shù)據(jù)應該實施哪些約束和控制以保證數(shù)據(jù)的完整性和安全性。58二、數(shù)據(jù)庫設計主要階段的任務-需求分析需求分析的任務是通過詳二、數(shù)據(jù)庫設計主要階段的任務

-概念結(jié)構(gòu)設計

概念模式獨立于數(shù)據(jù)庫系統(tǒng)的邏輯結(jié)構(gòu),獨立于具體的DBMS產(chǎn)品,也獨立于計算機系統(tǒng)。概念模式是面向現(xiàn)實世界的數(shù)據(jù)模型59二、數(shù)據(jù)庫設計主要階段的任務

-概念結(jié)構(gòu)設計概念模式獨立于二、數(shù)據(jù)庫設計主要階段的任務

-邏輯結(jié)構(gòu)設計

將概念設計階段產(chǎn)生的概念模式變換為邏輯模式。步驟(以關(guān)系模型為例)將概念結(jié)構(gòu)轉(zhuǎn)換為一般的關(guān)系模型將以上得到的一般關(guān)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 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

提交評論