版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第二章
數(shù)據(jù)庫應(yīng)用系統(tǒng)
設(shè)計(jì)概述1第二章
數(shù)據(jù)庫應(yīng)用系統(tǒng)
設(shè)計(jì)概述1知識點(diǎn):
數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)
數(shù)據(jù)庫的設(shè)計(jì)
數(shù)據(jù)庫規(guī)范化設(shè)計(jì)理論
11/15/20222知識點(diǎn):數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)
數(shù)據(jù)庫的設(shè)計(jì)
數(shù)據(jù)庫2.1數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)
在數(shù)據(jù)庫管理系統(tǒng)上開發(fā)數(shù)據(jù)庫應(yīng)用系統(tǒng)是一個復(fù)雜的過程,必須在軟件開發(fā)理論和方法的指導(dǎo)下進(jìn)行,否則很難開發(fā)出高效適用的應(yīng)用系統(tǒng)。11/15/202232.1數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)在數(shù)據(jù)庫管理2.1數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)
數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)方法很多,得到廣泛運(yùn)用的有以下三種:結(jié)構(gòu)化生命周期法快速原型法面向?qū)ο蠓椒?1/15/202242.1數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)數(shù)據(jù)庫應(yīng)用系統(tǒng)的開2.1數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)
結(jié)構(gòu)化生命周期法的基本思想是把系統(tǒng)開發(fā)看作是工程項(xiàng)目,需要經(jīng)過以下5個階段:系統(tǒng)規(guī)劃系統(tǒng)分析(需求分析)系統(tǒng)設(shè)計(jì)系統(tǒng)實(shí)施(編程)系統(tǒng)運(yùn)行(測試)系統(tǒng)維護(hù)11/15/202252.1數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)結(jié)構(gòu)化生命周2.1數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)
結(jié)構(gòu)化生命周期法的開發(fā)步驟一、系統(tǒng)規(guī)劃階段在系統(tǒng)正式開發(fā)之前,必須進(jìn)行系統(tǒng)調(diào)查和可行性分析。本階段的主要任務(wù)是根據(jù)用戶的系統(tǒng)開發(fā)請求,初步調(diào)查,明確問題,進(jìn)行可行性分析研究。11/15/202262.1數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)結(jié)構(gòu)化生命周期法的開發(fā)步驟2.1數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)
結(jié)構(gòu)化生命周期法的開發(fā)步驟二、系統(tǒng)分析階段系統(tǒng)分析階段可以說是系統(tǒng)開發(fā)中最重要的一步,主要任務(wù)是:需求分析信息采集編寫需求說明書11/15/202272.1數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)結(jié)構(gòu)化生命周期法的開發(fā)步驟2.1數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)
結(jié)構(gòu)化生命周期法的開發(fā)步驟三、系統(tǒng)設(shè)計(jì)階段如果系統(tǒng)分析階段的任務(wù)是解決“干什么”的問題,那么系統(tǒng)設(shè)計(jì)階段的任務(wù)是確定“怎么干”。系統(tǒng)設(shè)計(jì)工作由總體設(shè)計(jì)和詳細(xì)設(shè)計(jì)兩部分組成。11/15/202282.1數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)結(jié)構(gòu)化生命周期法的開發(fā)步驟2.1數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)
結(jié)構(gòu)化生命周期法的開發(fā)步驟三、系統(tǒng)設(shè)計(jì)階段總體設(shè)計(jì)完成概念模型的設(shè)計(jì)詳細(xì)設(shè)計(jì)完成數(shù)據(jù)庫設(shè)計(jì)和應(yīng)用程序的設(shè)計(jì)11/15/202292.1數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)結(jié)構(gòu)化生命周期法的開發(fā)步驟2.1數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)
結(jié)構(gòu)化生命周期法的開發(fā)步驟四、系統(tǒng)實(shí)施階段第一步:應(yīng)選擇合適的軟件開發(fā)工具;第二步:使用所選擇的開發(fā)工具,建立數(shù)據(jù)庫,輸入原始數(shù)據(jù),編寫和調(diào)試各個模塊的應(yīng)用程序代碼;第三步:完成各個子系統(tǒng)和模塊之間的聯(lián)合調(diào)試和測試;11/15/2022102.1數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)結(jié)構(gòu)化生命周期法的開發(fā)步驟2.1數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)
結(jié)構(gòu)化生命周期法的開發(fā)步驟五、系統(tǒng)運(yùn)行階段將系統(tǒng)交給用戶正式投入之前,便進(jìn)入系統(tǒng)的運(yùn)行測試階段。在試運(yùn)行過程中,可能會發(fā)現(xiàn)很多問題,要廣泛聽取用戶的意見,并根據(jù)運(yùn)行結(jié)果進(jìn)行評估,修改系統(tǒng)的錯誤、改進(jìn)系統(tǒng)的性能。11/15/2022112.1數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)結(jié)構(gòu)化生命周期法的開發(fā)步驟2.1數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)
結(jié)構(gòu)化生命周期法的開發(fā)步驟投入運(yùn)行:系統(tǒng)維護(hù)階段將系統(tǒng)交給用戶正式投入之后,可能會發(fā)現(xiàn)很多新的問題,或用戶提出新的要求,開發(fā)者應(yīng)不斷對系統(tǒng)進(jìn)行修改、維護(hù)或調(diào)整,直至系統(tǒng)生命周期的結(jié)束。11/15/2022122.1數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)結(jié)構(gòu)化生命周期法的開發(fā)步驟2.1數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)
快速原型法的基本思想就是依據(jù)原型進(jìn)行快速開發(fā),對存在的問題反復(fù)修正,直到用戶滿意為止。分為四步:系統(tǒng)基本需求的確定對原型功能的選擇原型的構(gòu)造與試用原型的修改和完善11/15/2022132.1數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)快速原型法的基本思2.1數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)
面向?qū)ο蠓椒ㄊ前衙嫦驅(qū)ο蠓治觥⒚嫦驅(qū)ο笤O(shè)計(jì)與面向?qū)ο蟪绦蛟O(shè)計(jì)結(jié)合在一起,形成面向?qū)ο蠓椒ā7譃橐韵挛宀剑盒枨蠓治鲂枨竽P突乓O(shè)計(jì)詳細(xì)設(shè)計(jì)編程實(shí)施11/15/2022142.1數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)面向?qū)ο蠓椒ㄊ前衙嫦?.1數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)
面向?qū)ο蠓椒?1/15/2022152.1數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)面向?qū)ο蠓椒?1/12.1數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)
面向?qū)ο蠓椒?1/15/2022162.1數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)面向?qū)ο蠓椒?1/12.1數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)
三種開發(fā)方法的比較:當(dāng)應(yīng)用方面的需求可明確提出并在一段時間內(nèi)保持穩(wěn)定時,可以采用生命周期法進(jìn)行建設(shè)。當(dāng)解決一些規(guī)模不大但不確定因素較多的管理決策問題時,采用快速原型法。當(dāng)用戶需求經(jīng)常發(fā)生變化,系統(tǒng)必須有很強(qiáng)的應(yīng)變能力時,采用面向?qū)ο蠓椒ā?1/15/2022172.1數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)三種開發(fā)方法的比較:11/2.2數(shù)據(jù)庫的設(shè)計(jì)
一個設(shè)計(jì)良好的數(shù)據(jù)庫,在很大程度上決定了系統(tǒng)的成功與否。一般分為四步:概念模型設(shè)計(jì)邏輯數(shù)據(jù)庫設(shè)計(jì)規(guī)范化理論的應(yīng)用物理數(shù)據(jù)庫的設(shè)計(jì)11/15/2022182.2數(shù)據(jù)庫的設(shè)計(jì)一個設(shè)計(jì)良好的數(shù)據(jù)2.2數(shù)據(jù)庫的設(shè)計(jì)
1、概念模型設(shè)計(jì)概念模型設(shè)計(jì)的描述最常用的工具是E-R圖,具體步驟如下:(1)確定實(shí)體;(2)確定實(shí)體的屬性;(3)確定實(shí)體的主鍵;(4)確定實(shí)體間的聯(lián)系類型;(5)畫出E-R圖;11/15/2022192.2數(shù)據(jù)庫的設(shè)計(jì)1、概念模型設(shè)計(jì)12.2數(shù)據(jù)庫的設(shè)計(jì)
2、邏輯數(shù)據(jù)庫設(shè)計(jì)邏輯數(shù)據(jù)庫設(shè)計(jì)是將概念模型轉(zhuǎn)換成數(shù)據(jù)庫管理系統(tǒng)所支持的數(shù)據(jù)模型。如果是關(guān)系型數(shù)據(jù)庫管理系統(tǒng),就應(yīng)將概念模型轉(zhuǎn)換為關(guān)系模型,即將E-R圖中的實(shí)體和聯(lián)系轉(zhuǎn)換為關(guān)系模式。11/15/2022202.2數(shù)據(jù)庫的設(shè)計(jì)2、邏輯數(shù)據(jù)庫設(shè)計(jì)2.2數(shù)據(jù)庫的設(shè)計(jì)
2、邏輯數(shù)據(jù)庫設(shè)計(jì)學(xué)院(學(xué)院代碼、學(xué)院名稱、院長姓名、學(xué)院地址、學(xué)院電話、學(xué)院簡介)教師(教師編號、系部編號、姓名、性別、學(xué)歷、職稱、辦公電話、手機(jī)、E-mail、照片)班級(班級編號、班級名稱、班長、聯(lián)系電話、獎勵處罰、系部編號)學(xué)生(學(xué)號、姓名、性別、出生年月、籍貫、個人簡歷、照片、獎勵處罰、班級編號)11/15/2022212.2數(shù)據(jù)庫的設(shè)計(jì)2、邏輯數(shù)據(jù)庫2.2數(shù)據(jù)庫的設(shè)計(jì)
3、規(guī)范化理論的應(yīng)用在邏輯數(shù)據(jù)庫設(shè)計(jì)中,形成了一組關(guān)系模式。如果關(guān)系模式?jīng)]有設(shè)計(jì)好,就會出現(xiàn)數(shù)據(jù)冗余、數(shù)據(jù)更新異常、數(shù)據(jù)刪除異常、數(shù)據(jù)插入異常等問題。規(guī)范化理論的目的就是設(shè)計(jì)好的關(guān)系模式。4、物理數(shù)據(jù)庫設(shè)計(jì)物理數(shù)據(jù)庫設(shè)計(jì)是設(shè)計(jì)數(shù)據(jù)庫的存儲結(jié)構(gòu)和物理實(shí)現(xiàn)方法。11/15/2022222.2數(shù)據(jù)庫的設(shè)計(jì)3、規(guī)范化理論的2.3規(guī)范化理論的基本概念
1.函數(shù)依賴函數(shù)依賴是屬性之間的一種聯(lián)系。如果一個關(guān)系模式設(shè)計(jì)的不好,說明在它的某些屬性之間存在“不良”的函數(shù)依賴。設(shè)在關(guān)系R中,X、Y為R的兩個屬性子集,如果每個X值只有一個Y值與之對應(yīng),則稱屬性Y函數(shù)依賴于屬性X;或稱屬性X惟一確定屬性Y,記作X→Y。如果X→Y,同時Y不包含于X,則稱X→Y是非平凡的函數(shù)依賴。11/15/2022232.3規(guī)范化理論的基本概念1.函數(shù)2.3規(guī)范化理論的基本概念
2.完全函數(shù)依賴設(shè)在關(guān)系R中,X、Y為R的兩個屬性子集,若X→Y,且對于X的任何一個真子集X’,都有X’→Y,則稱Y完全函數(shù)依賴于X。若X’Y,則稱Y部分函數(shù)依賴于X。11/15/2022242.3規(guī)范化理論的基本概念2.完全函數(shù)依賴11/2.3規(guī)范化理論的基本概念
3.傳遞函數(shù)依賴設(shè)在關(guān)系R中,X、Y、Z為R的三個屬性子集,若X→Y,Y→Z,且X不依賴于Y,則稱Z傳遞函數(shù)依賴于X。
11/15/2022252.3規(guī)范化理論的基本概念3.傳遞函數(shù)依賴11/2.4規(guī)范化設(shè)計(jì)
規(guī)范化的基本思想是消除關(guān)系模式中的數(shù)據(jù)冗余,消除數(shù)據(jù)依賴中不合適的部分,解決數(shù)據(jù)插入、更新、刪除時發(fā)生異常現(xiàn)象。這就要求關(guān)系數(shù)據(jù)庫設(shè)計(jì)出來的關(guān)系模式要滿足規(guī)范的模式,即“范式”(NormalForm)。11/15/2022262.4規(guī)范化設(shè)計(jì)規(guī)范化的基本思想是消除關(guān)系模式2.4規(guī)范化設(shè)計(jì)
數(shù)據(jù)庫的邏輯設(shè)計(jì)為什么要遵循一定的規(guī)范化理論?例如,要求設(shè)計(jì)教學(xué)管理數(shù)據(jù)庫,其對象“學(xué)生”的關(guān)系模式如下:學(xué)生(學(xué)號,姓名,年齡,系別,課程號,成績)11/15/2022272.4規(guī)范化設(shè)計(jì)數(shù)據(jù)庫的邏輯設(shè)計(jì)為什么要遵循一定的2.4規(guī)范化設(shè)計(jì)
數(shù)據(jù)庫的邏輯設(shè)計(jì)為什么要遵循一定的規(guī)范化理論?根據(jù)實(shí)際情況,這些數(shù)據(jù)有如下語義規(guī)定:1.一個系有若干個學(xué)生,但一個學(xué)生只屬于一個系;2.一個系只有一名系主任,但一個系主任可以同時兼幾個系的系主任;3.一個學(xué)生可以選修多門功課,每門課程可有若干學(xué)生選修;4.每個學(xué)生學(xué)習(xí)課程有一個成績。11/15/2022282.4規(guī)范化設(shè)計(jì)數(shù)據(jù)庫的邏輯設(shè)計(jì)為什么要遵循一定的2.4規(guī)范化設(shè)計(jì)
SNOSNAGEDEPTMNCNOSCORES1趙亦17計(jì)算機(jī)劉偉C190S1趙亦17計(jì)算機(jī)劉偉C285S2錢爾18信息王平C557S2錢爾18信息王平C680S2錢爾18信息王平C7
70S2錢爾18信息王平C470S3孫珊20信息王平C10S3孫珊20信息王平C270S3孫珊20信息王平C485S4李思21自動化劉偉C19311/15/2022292.4規(guī)范化設(shè)計(jì)SNOSNAGEDEPTMNCNO2.4規(guī)范化設(shè)計(jì)
數(shù)據(jù)庫的邏輯設(shè)計(jì)為什么要遵循一定的規(guī)范化理論?分析以上關(guān)系中的數(shù)據(jù),可以看出:(SNO,CNO)屬性的組合能唯一標(biāo)識一個元組,所以(SNO,CNO)是該關(guān)系模式的主鍵。但在進(jìn)行數(shù)據(jù)庫的操作時,會出現(xiàn)以下幾方面的問題。11/15/2022302.4規(guī)范化設(shè)計(jì)數(shù)據(jù)庫的邏輯設(shè)計(jì)為什么要遵循一定的2.4規(guī)范化設(shè)計(jì)
數(shù)據(jù)庫的邏輯設(shè)計(jì)為什么要遵循一定的規(guī)范化理論?可能出現(xiàn)的問題:1.數(shù)據(jù)冗余。每個系名和系主任的名字存儲的次數(shù)等于該系的學(xué)生人數(shù)乘以每個學(xué)生選修的課程門數(shù),同時學(xué)生的姓名、年齡也都要重復(fù)存儲多次,數(shù)據(jù)的冗余度很大,浪費(fèi)了存儲空間。
11/15/2022312.4規(guī)范化設(shè)計(jì)數(shù)據(jù)庫的邏輯設(shè)計(jì)為什么要遵循一定的2.4規(guī)范化設(shè)計(jì)
數(shù)據(jù)庫的邏輯設(shè)計(jì)為什么要遵循一定的規(guī)范化理論?
可能出現(xiàn)的問題:2.插入異常。如果某個新系沒有招生,尚無學(xué)生時,則系名和系主任的信息無法插入到數(shù)據(jù)庫中。因?yàn)樵谶@個關(guān)系模式中,(SNO,CNO)是主關(guān)系鍵。根據(jù)關(guān)系的實(shí)體完整性約束,主關(guān)系鍵的值不能為空,而這時沒有學(xué)生,SNO和CNO均無值,因此不能進(jìn)行插入操作。另外,當(dāng)某個學(xué)生尚未選課,即CNO未知,實(shí)體完整性約束還規(guī)定,主關(guān)系鍵的值不能部分為空,同樣不能進(jìn)行插入操作。
11/15/2022322.4規(guī)范化設(shè)計(jì)數(shù)據(jù)庫的邏輯設(shè)計(jì)為什么要遵循一定的2.4規(guī)范化設(shè)計(jì)
數(shù)據(jù)庫的邏輯設(shè)計(jì)為什么要遵循一定的規(guī)范化理論?
可能出現(xiàn)的問題:3.刪除異常。某系學(xué)生全部畢業(yè)而沒有招生時,刪除全部學(xué)生的記錄則系名、系主任也隨之刪除,而這個系依然存在,在數(shù)據(jù)庫中卻無法找到該系的信息。另外,如果某個學(xué)生不再選修C1課程,本應(yīng)該只刪去C1,但C1是主關(guān)系鍵的一部分,為保證實(shí)體完整性,必須將整個元組一起刪掉,這樣,有關(guān)該學(xué)生的其它信息也隨之丟失。
11/15/2022332.4規(guī)范化設(shè)計(jì)數(shù)據(jù)庫的邏輯設(shè)計(jì)為什么要遵循一定的2.4規(guī)范化設(shè)計(jì)
數(shù)據(jù)庫的邏輯設(shè)計(jì)為什么要遵循一定的規(guī)范化理論?
可能出現(xiàn)的問題:
4.更新異常。如果學(xué)生改名,則該學(xué)生的所有記錄都要逐一修改SN;又如某系更換系主任,則屬于該系的學(xué)生記錄都要修改MN的內(nèi)容,稍有不慎,就有可能漏改某些記錄,這就會造成數(shù)據(jù)的不一致性,破壞了數(shù)據(jù)的完整性。。
11/15/2022342.4規(guī)范化設(shè)計(jì)數(shù)據(jù)庫的邏輯設(shè)計(jì)為什么要遵循一定的2.4規(guī)范化設(shè)計(jì)
數(shù)據(jù)庫的邏輯設(shè)計(jì)為什么要遵循一定的規(guī)范化理論?
由于存在以上問題,SCD是一個不好的關(guān)系模式。產(chǎn)生上述問題的原因,直觀地說,是因?yàn)殛P(guān)系中“包羅萬象”,內(nèi)容太雜了。那么,怎樣才能得到一個好的關(guān)系模式呢?把關(guān)系模式SCD分解為下面三個結(jié)構(gòu)簡單的關(guān)系模式,如圖所示。學(xué)生S(SNO,SN,AGE,DEPT)選課SC(SNO,CNO,SCORE)系D(DEPT,MN)11/15/2022352.4規(guī)范化設(shè)計(jì)數(shù)據(jù)庫的邏輯設(shè)計(jì)為什么要遵循一定的2.4規(guī)范化設(shè)計(jì)
SNOSNAGEDEPT
SNOCNOSCORES1趙亦17計(jì)算機(jī)
S1C190S2錢爾18信息
S1C285S3孫珊20信息
S2C557S4李思21自動化
S2C680
S2C7
78D
S2C570DEPTMN
S3C10計(jì)算機(jī)劉偉
S3C270信息王平
S3C485自動化劉偉
S4C193分解后的關(guān)系模式
11/15/2022362.4規(guī)范化設(shè)計(jì)SNOSNAGEDEPT
SNOC2.4規(guī)范化設(shè)計(jì)
一個好的關(guān)系模式應(yīng)該具備以下四個條件:1.盡可能少的數(shù)據(jù)冗余。2.沒有插入異常。3.沒有刪除異常。4.沒有更新異常。
11/15/2022372.4規(guī)范化設(shè)計(jì)11/11/2022372.4規(guī)范化設(shè)計(jì)
如何按照一定的規(guī)范設(shè)計(jì)關(guān)系模式,將結(jié)構(gòu)復(fù)雜的關(guān)系分解成結(jié)構(gòu)簡單的關(guān)系,從而把不好的關(guān)系數(shù)據(jù)庫模式轉(zhuǎn)變?yōu)楹玫年P(guān)系數(shù)據(jù)庫模式,這就是關(guān)系的規(guī)范化。規(guī)范化又可以根據(jù)不同的要求而分成若干級別。11/15/2022382.4規(guī)范化設(shè)計(jì)如何按照一定的規(guī)范設(shè)計(jì)關(guān)系模式2.4規(guī)范化設(shè)計(jì)
把關(guān)系數(shù)據(jù)庫的規(guī)范化過程中為不同程度的規(guī)范化要求設(shè)立的不同標(biāo)準(zhǔn)稱為范式(NormalForm)。由于規(guī)范化的程度不同,就產(chǎn)生了不同的范式。滿足最基本規(guī)范化要求的關(guān)系模式叫第一范式,在第一范式中進(jìn)一步滿足一些要求為第二范式,以此類推就產(chǎn)生了第三范式等概念。每種范式都規(guī)定了一些限制約束條件。2.4.1第一范式11/15/2022392.4規(guī)范化設(shè)計(jì)把關(guān)系數(shù)據(jù)庫的規(guī)范化過程中為不2.4規(guī)范化設(shè)計(jì)第一范式(FirstNormalForm)是最基本的規(guī)范形式,即關(guān)系中每個屬性都是不可再分的簡單項(xiàng)。每個規(guī)范化的關(guān)系都屬于1NF,這也是它之所以稱為“第一”的原因。
定義如果關(guān)系模式R,其所有的屬性均為簡單屬性,即每個屬性都是不可再分的,則稱R屬于第一范式,簡稱1NF,記作R1NF。2.4規(guī)范化設(shè)計(jì)2.4.1第一范式11/15/2022402.4規(guī)范化設(shè)計(jì)第一范式(FirstNormalForm2.4規(guī)范化設(shè)計(jì)2.4規(guī)范化設(shè)計(jì)編號姓名電話家庭電話辦公電話01004張輝春667788998733421102001陳玉茜672123458656633302002張一燕6789123482334212編號姓名家庭電話辦公電話01004張輝春667788998733421102001陳玉茜672123458656633302002張一燕6789123482334212只要將所有的屬性表示為不可分的數(shù)據(jù)項(xiàng),轉(zhuǎn)化后的關(guān)系即符合第一范式。
2.4.1第一范式11/15/2022412.4規(guī)范化設(shè)計(jì)2.4規(guī)范化設(shè)計(jì)編號姓名電話家庭電話辦公電話2.4規(guī)范化設(shè)計(jì)然而,一個關(guān)系模式僅僅屬于第一范式是不適用的。關(guān)系模式SCD屬于第一范式,但其具有大量的數(shù)據(jù)冗余,具有插入異常、刪除異常、更新異常等弊端。2.4規(guī)范化設(shè)計(jì)2.4.1第一范式11/15/2022422.4規(guī)范化設(shè)計(jì)然而,一個關(guān)系模式僅僅屬于第一范式是不適用的2.4規(guī)范化設(shè)計(jì)定義如果關(guān)系模式R1NF,且每個非主屬性都完全函數(shù)依賴于任意一個侯選關(guān)鍵字,則稱R屬于第二范式,簡稱2NF,記作R2NF。2.4規(guī)范化設(shè)計(jì)2.4.2第二范式11/15/2022432.4規(guī)范化設(shè)計(jì)2.4規(guī)范化設(shè)計(jì)2.4.2第二范式112.4規(guī)范化設(shè)計(jì)2.4.2第二范式帶來問題的原因是:非主屬性“學(xué)分”僅僅依賴于“課程號”,也就是說只是部分依賴于主關(guān)鍵字(學(xué)號,課程號),而不是完全依賴。學(xué)號課程號成績課程號課程名學(xué)分01002C176C1高等數(shù)學(xué)401002C288C2計(jì)算機(jī)文化基礎(chǔ)502002C190C3英語402002C286C4大學(xué)物理402002C393C5大學(xué)美育305007C396C6計(jì)算機(jī)繪圖3學(xué)號課程號成績學(xué)分01002C176401002C288502002C190402002C286502002C393405007C396411/15/2022442.4規(guī)范化設(shè)計(jì)2.4.2第二范式帶來問題的原因是:非2.4規(guī)范化設(shè)計(jì)2NF的關(guān)系模式解決了1NF中存在的一些問題,2NF規(guī)范化的程度比1NF前進(jìn)了一步,但2NF的關(guān)系模式在進(jìn)行數(shù)據(jù)操作時,仍然存在著一些問題。2.4規(guī)范化設(shè)計(jì)2.4.2第二范式11/15/2022452.4規(guī)范化設(shè)計(jì)2NF的關(guān)系模式解決了1NF中存在的一些2.4規(guī)范化設(shè)計(jì)定義如果關(guān)系模式R2NF,且每個非主屬性都不傳遞依賴于R的任何候選關(guān)鍵字,則稱R屬于第三范式,簡稱3NF,記作R3NF。如果R3NF,則R也是2NF。如果R2NF,則R不一定是3NF。2.4規(guī)范化設(shè)計(jì)2.4.3第三范式11/15/2022462.4規(guī)范化設(shè)計(jì)定義如果關(guān)系模式R2NF,且每個非主屬2.4規(guī)范化設(shè)計(jì)2.4.3第三范式學(xué)號姓名院系編號院系名稱院系地址01004張輝春01計(jì)算機(jī)學(xué)院科教樓三層02001陳玉茜01計(jì)算機(jī)學(xué)院科教樓三層02002張一燕03會計(jì)學(xué)院科教樓十一層在該表中,關(guān)鍵字是學(xué)號,由于是單個關(guān)鍵字,沒有部分依賴的問題,這個關(guān)系肯定屬于第二范式。帶來問題的原因是:關(guān)系中存在傳遞依賴?!霸合得Q”、“院系地址”兩個屬性依賴于“院系編號”,而“院系編號”又依賴于“學(xué)號”,因此,“院系名稱”、“院系地址”兩個屬性通過“院系編號”依賴于“學(xué)號”,這種現(xiàn)象稱為傳遞依賴。11/15/2022472.4規(guī)范化設(shè)計(jì)2.4.3第三范式學(xué)號姓名院系編號院系2.4規(guī)范化設(shè)計(jì)2.4.4BC范式定義如果關(guān)系模式的所有屬性(包括主屬性和非主屬性)都不傳遞依賴于R的任何侯選關(guān)鍵字,則稱R屬于BCNF,記作RBCNF。如果R3NF,則R也是2NF。如果R2NF,則R不一定是3NF。11/15/2022482.4規(guī)范化設(shè)計(jì)2.4.4BC范式定義如果關(guān)系模式2.4規(guī)范化設(shè)計(jì)2.4.5數(shù)據(jù)庫規(guī)范化設(shè)計(jì)小結(jié)一個關(guān)系只要其分量都是不可分的數(shù)據(jù)項(xiàng),就可稱作規(guī)范化的關(guān)系,但這只是最基本的規(guī)范化。這樣的關(guān)系模式是合法的。但人們發(fā)現(xiàn)有些關(guān)系模式存在插入、刪除、修改異常、數(shù)據(jù)冗余等弊病。規(guī)范化的目的就是使結(jié)構(gòu)合理,消除存儲異常,使數(shù)據(jù)冗余盡量小,便于插入、刪除和更新。
11/15/2022492.4規(guī)范化設(shè)計(jì)2.4.5數(shù)據(jù)庫規(guī)范化設(shè)計(jì)小結(jié)一個2.4規(guī)范化設(shè)計(jì)2.4.5數(shù)據(jù)庫規(guī)范化設(shè)計(jì)小結(jié)規(guī)范化的基本原則就是遵從概念單一化“一事一地”的原則,即一個關(guān)系只描述一個實(shí)體或者實(shí)體間的聯(lián)系。若多于一個實(shí)體,就把它“分離”出來。因此,所謂規(guī)范化,實(shí)質(zhì)上是概念的單一化,即一個關(guān)系表示一個實(shí)體。11/15/2022502.4規(guī)范化設(shè)計(jì)2.4.5數(shù)據(jù)庫規(guī)范化設(shè)計(jì)小結(jié)規(guī)范化2.4規(guī)范化設(shè)計(jì)2.4.5數(shù)據(jù)庫規(guī)范化設(shè)計(jì)小結(jié)注意在數(shù)據(jù)庫設(shè)計(jì)過程中,一般說來,1NF很容易遵守,完全遵守3NF的人很少。從關(guān)系模型的角度來看,滿足3NF最符合標(biāo)準(zhǔn),這樣的設(shè)計(jì)容易維護(hù)。而BCNF的范式出現(xiàn)機(jī)會較少,而且會破壞完整性,可以在設(shè)計(jì)時不考慮它。規(guī)范化的優(yōu)點(diǎn)是減少了數(shù)據(jù)冗余,節(jié)約了存儲空間,同時加快了增、刪、改的速度,但在數(shù)據(jù)查詢方面,需要進(jìn)行關(guān)系模式之間的連接操作,因而影響查詢的速度。因此,并不一定要求全部模式都達(dá)到BCNF,有時故意保留部分冗余可能更方便數(shù)據(jù)查詢。11/15/2022512.4規(guī)范化設(shè)計(jì)2.4.5數(shù)據(jù)庫規(guī)范化設(shè)計(jì)小結(jié)注意112.5“教學(xué)管理系統(tǒng)”的開發(fā)2.5.1系統(tǒng)規(guī)劃階段1.提出開發(fā)請求某大學(xué)是一所多科性大學(xué),學(xué)校設(shè)有經(jīng)濟(jì)學(xué)院、化學(xué)與環(huán)境工程學(xué)院、機(jī)械自動化學(xué)院、信息工程學(xué)院、計(jì)算機(jī)學(xué)院、商學(xué)院、會計(jì)學(xué)院等11個學(xué)院。學(xué)?,F(xiàn)有教職工近1400人,學(xué)生18000多人。隨著信息量的增加,教學(xué)管理工作越來越繁雜,手工管理的弊端日益顯露。為了提高教學(xué)管理的質(zhì)量和工作效率,為了及時提供信息,實(shí)現(xiàn)教學(xué)管理的信息化,學(xué)校委托某軟件開發(fā)公司開發(fā)“教學(xué)管理系統(tǒng)”。11/15/2022522.5“教學(xué)管理系統(tǒng)”的開發(fā)2.5.1系統(tǒng)規(guī)劃階段1.提2.5“教學(xué)管理系統(tǒng)”的開發(fā)2.5.1系統(tǒng)規(guī)劃階段2.可行性分析研究可行性分析包括兩部分內(nèi)容:分析建立新的管理信息系統(tǒng)的必要性和可能性??赡苄灾饕ń?jīng)濟(jì)可行性、技術(shù)可行性和社會可行性。11/15/2022532.5“教學(xué)管理系統(tǒng)”的開發(fā)2.5.1系統(tǒng)規(guī)劃階段2.可2.5“教學(xué)管理系統(tǒng)”的開發(fā)2.5.2系統(tǒng)分析階段1.學(xué)校機(jī)構(gòu)組織2.教學(xué)管理工作流程3.教學(xué)管理數(shù)據(jù)流程圖院系教師登錄班級檔案登錄課程檔案登錄學(xué)生成績登錄學(xué)生檔案登錄教師檔案接受教學(xué)任務(wù)教師授課情況表登錄工作量學(xué)生選課表教師基本情況表學(xué)生基本情況表班級基本情況表全校課程表學(xué)生學(xué)生選課各類查詢相關(guān)人員11/15/2022542.5“教學(xué)管理系統(tǒng)”的開發(fā)2.5.2系統(tǒng)分析階段1.學(xué)2.5“教學(xué)管理系統(tǒng)”的開發(fā)2.5.3系統(tǒng)設(shè)計(jì)階段功能模塊設(shè)計(jì)教師模塊學(xué)生模塊班級模塊院系模塊課程模塊教學(xué)管理系統(tǒng)學(xué)生基本信息管理學(xué)生選課信息管理成績登記統(tǒng)計(jì)查詢教師基本信息管理教師授課信息管理工作量統(tǒng)計(jì)查詢班級基本信息管理班級信息查詢課程信息管理課程信息查詢教學(xué)計(jì)劃管理教學(xué)任務(wù)管理各類查詢統(tǒng)計(jì)報(bào)表打印11/15/2022552.5“教學(xué)管理系統(tǒng)”的開發(fā)2.5.3系統(tǒng)設(shè)計(jì)階段教師模2.5“教學(xué)管理系統(tǒng)”的開發(fā)2.5.3系統(tǒng)設(shè)計(jì)階段2.?dāng)?shù)據(jù)庫設(shè)計(jì)⑴確定實(shí)體⑵確定實(shí)體的屬性學(xué)院代碼學(xué)院簡介學(xué)院地址學(xué)院名稱院長姓名學(xué)院電話學(xué)院教師手機(jī)照片E-mail辦公電話性別姓名學(xué)歷職稱系部編號教師編號11/15/2022562.5“教學(xué)管理系統(tǒng)”的開發(fā)2.5.3系統(tǒng)設(shè)計(jì)階段2.?dāng)?shù)2.5“教學(xué)管理系統(tǒng)”的開發(fā)2.5.3系統(tǒng)設(shè)計(jì)階段2.?dāng)?shù)據(jù)庫設(shè)計(jì)
⑶確定實(shí)體間的聯(lián)系類型
1n系部聘任教師1n學(xué)院設(shè)置系部mn教師講授課程1n系部有班級1n班級有學(xué)生mn學(xué)生選修課程局部E-R圖11/15/2022572.5“教學(xué)管理系統(tǒng)”的開發(fā)2.5.3系統(tǒng)設(shè)計(jì)階段2.?dāng)?shù)2.5“教學(xué)管理系統(tǒng)”的開發(fā)2.5.3系統(tǒng)設(shè)計(jì)階段2.?dāng)?shù)據(jù)庫設(shè)計(jì)⑶確定實(shí)體間的聯(lián)系類型
mnn11n系部學(xué)院設(shè)置nm1n1課程聘任教師講授選修n班級有有學(xué)生整體E-R圖11/15/2022582.5“教學(xué)管理系統(tǒng)”的開發(fā)2.5.3系統(tǒng)設(shè)計(jì)階段2.?dāng)?shù)本章小結(jié)數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)方法有:結(jié)構(gòu)化生命周期法、快速原型法、面向?qū)ο蠓椒?。結(jié)構(gòu)化生命周期法的開發(fā)過程分為:系統(tǒng)規(guī)劃、系統(tǒng)分析、系統(tǒng)設(shè)計(jì)、系統(tǒng)實(shí)施、系統(tǒng)運(yùn)行和系統(tǒng)維護(hù)。11/15/202259本章小結(jié)數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)方法有:結(jié)構(gòu)化生命周期法、快本章小結(jié)數(shù)據(jù)庫的設(shè)計(jì)一般分為概念模型設(shè)計(jì)、邏輯數(shù)據(jù)庫設(shè)計(jì)、規(guī)范化理論的應(yīng)用、物理數(shù)據(jù)庫設(shè)計(jì)。數(shù)據(jù)庫設(shè)計(jì)是整個數(shù)據(jù)庫應(yīng)用系統(tǒng)設(shè)計(jì)的關(guān)鍵。規(guī)范化理論的應(yīng)用,對設(shè)計(jì)一個良好的數(shù)據(jù)庫是十分必要的。并不是規(guī)范化程度越高,關(guān)系模式就越好。11/15/202260本章小結(jié)11/11/202260第二章
數(shù)據(jù)庫應(yīng)用系統(tǒng)
設(shè)計(jì)概述61第二章
數(shù)據(jù)庫應(yīng)用系統(tǒng)
設(shè)計(jì)概述1知識點(diǎn):
數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)
數(shù)據(jù)庫的設(shè)計(jì)
數(shù)據(jù)庫規(guī)范化設(shè)計(jì)理論
11/15/202262知識點(diǎn):數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)
數(shù)據(jù)庫的設(shè)計(jì)
數(shù)據(jù)庫2.1數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)
在數(shù)據(jù)庫管理系統(tǒng)上開發(fā)數(shù)據(jù)庫應(yīng)用系統(tǒng)是一個復(fù)雜的過程,必須在軟件開發(fā)理論和方法的指導(dǎo)下進(jìn)行,否則很難開發(fā)出高效適用的應(yīng)用系統(tǒng)。11/15/2022632.1數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)在數(shù)據(jù)庫管理2.1數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)
數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)方法很多,得到廣泛運(yùn)用的有以下三種:結(jié)構(gòu)化生命周期法快速原型法面向?qū)ο蠓椒?1/15/2022642.1數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)數(shù)據(jù)庫應(yīng)用系統(tǒng)的開2.1數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)
結(jié)構(gòu)化生命周期法的基本思想是把系統(tǒng)開發(fā)看作是工程項(xiàng)目,需要經(jīng)過以下5個階段:系統(tǒng)規(guī)劃系統(tǒng)分析(需求分析)系統(tǒng)設(shè)計(jì)系統(tǒng)實(shí)施(編程)系統(tǒng)運(yùn)行(測試)系統(tǒng)維護(hù)11/15/2022652.1數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)結(jié)構(gòu)化生命周2.1數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)
結(jié)構(gòu)化生命周期法的開發(fā)步驟一、系統(tǒng)規(guī)劃階段在系統(tǒng)正式開發(fā)之前,必須進(jìn)行系統(tǒng)調(diào)查和可行性分析。本階段的主要任務(wù)是根據(jù)用戶的系統(tǒng)開發(fā)請求,初步調(diào)查,明確問題,進(jìn)行可行性分析研究。11/15/2022662.1數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)結(jié)構(gòu)化生命周期法的開發(fā)步驟2.1數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)
結(jié)構(gòu)化生命周期法的開發(fā)步驟二、系統(tǒng)分析階段系統(tǒng)分析階段可以說是系統(tǒng)開發(fā)中最重要的一步,主要任務(wù)是:需求分析信息采集編寫需求說明書11/15/2022672.1數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)結(jié)構(gòu)化生命周期法的開發(fā)步驟2.1數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)
結(jié)構(gòu)化生命周期法的開發(fā)步驟三、系統(tǒng)設(shè)計(jì)階段如果系統(tǒng)分析階段的任務(wù)是解決“干什么”的問題,那么系統(tǒng)設(shè)計(jì)階段的任務(wù)是確定“怎么干”。系統(tǒng)設(shè)計(jì)工作由總體設(shè)計(jì)和詳細(xì)設(shè)計(jì)兩部分組成。11/15/2022682.1數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)結(jié)構(gòu)化生命周期法的開發(fā)步驟2.1數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)
結(jié)構(gòu)化生命周期法的開發(fā)步驟三、系統(tǒng)設(shè)計(jì)階段總體設(shè)計(jì)完成概念模型的設(shè)計(jì)詳細(xì)設(shè)計(jì)完成數(shù)據(jù)庫設(shè)計(jì)和應(yīng)用程序的設(shè)計(jì)11/15/2022692.1數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)結(jié)構(gòu)化生命周期法的開發(fā)步驟2.1數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)
結(jié)構(gòu)化生命周期法的開發(fā)步驟四、系統(tǒng)實(shí)施階段第一步:應(yīng)選擇合適的軟件開發(fā)工具;第二步:使用所選擇的開發(fā)工具,建立數(shù)據(jù)庫,輸入原始數(shù)據(jù),編寫和調(diào)試各個模塊的應(yīng)用程序代碼;第三步:完成各個子系統(tǒng)和模塊之間的聯(lián)合調(diào)試和測試;11/15/2022702.1數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)結(jié)構(gòu)化生命周期法的開發(fā)步驟2.1數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)
結(jié)構(gòu)化生命周期法的開發(fā)步驟五、系統(tǒng)運(yùn)行階段將系統(tǒng)交給用戶正式投入之前,便進(jìn)入系統(tǒng)的運(yùn)行測試階段。在試運(yùn)行過程中,可能會發(fā)現(xiàn)很多問題,要廣泛聽取用戶的意見,并根據(jù)運(yùn)行結(jié)果進(jìn)行評估,修改系統(tǒng)的錯誤、改進(jìn)系統(tǒng)的性能。11/15/2022712.1數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)結(jié)構(gòu)化生命周期法的開發(fā)步驟2.1數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)
結(jié)構(gòu)化生命周期法的開發(fā)步驟投入運(yùn)行:系統(tǒng)維護(hù)階段將系統(tǒng)交給用戶正式投入之后,可能會發(fā)現(xiàn)很多新的問題,或用戶提出新的要求,開發(fā)者應(yīng)不斷對系統(tǒng)進(jìn)行修改、維護(hù)或調(diào)整,直至系統(tǒng)生命周期的結(jié)束。11/15/2022722.1數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)結(jié)構(gòu)化生命周期法的開發(fā)步驟2.1數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)
快速原型法的基本思想就是依據(jù)原型進(jìn)行快速開發(fā),對存在的問題反復(fù)修正,直到用戶滿意為止。分為四步:系統(tǒng)基本需求的確定對原型功能的選擇原型的構(gòu)造與試用原型的修改和完善11/15/2022732.1數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)快速原型法的基本思2.1數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)
面向?qū)ο蠓椒ㄊ前衙嫦驅(qū)ο蠓治觥⒚嫦驅(qū)ο笤O(shè)計(jì)與面向?qū)ο蟪绦蛟O(shè)計(jì)結(jié)合在一起,形成面向?qū)ο蠓椒ā7譃橐韵挛宀剑盒枨蠓治鲂枨竽P突乓O(shè)計(jì)詳細(xì)設(shè)計(jì)編程實(shí)施11/15/2022742.1數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)面向?qū)ο蠓椒ㄊ前衙嫦?.1數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)
面向?qū)ο蠓椒?1/15/2022752.1數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)面向?qū)ο蠓椒?1/12.1數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)
面向?qū)ο蠓椒?1/15/2022762.1數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)面向?qū)ο蠓椒?1/12.1數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)
三種開發(fā)方法的比較:當(dāng)應(yīng)用方面的需求可明確提出并在一段時間內(nèi)保持穩(wěn)定時,可以采用生命周期法進(jìn)行建設(shè)。當(dāng)解決一些規(guī)模不大但不確定因素較多的管理決策問題時,采用快速原型法。當(dāng)用戶需求經(jīng)常發(fā)生變化,系統(tǒng)必須有很強(qiáng)的應(yīng)變能力時,采用面向?qū)ο蠓椒ā?1/15/2022772.1數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)三種開發(fā)方法的比較:11/2.2數(shù)據(jù)庫的設(shè)計(jì)
一個設(shè)計(jì)良好的數(shù)據(jù)庫,在很大程度上決定了系統(tǒng)的成功與否。一般分為四步:概念模型設(shè)計(jì)邏輯數(shù)據(jù)庫設(shè)計(jì)規(guī)范化理論的應(yīng)用物理數(shù)據(jù)庫的設(shè)計(jì)11/15/2022782.2數(shù)據(jù)庫的設(shè)計(jì)一個設(shè)計(jì)良好的數(shù)據(jù)2.2數(shù)據(jù)庫的設(shè)計(jì)
1、概念模型設(shè)計(jì)概念模型設(shè)計(jì)的描述最常用的工具是E-R圖,具體步驟如下:(1)確定實(shí)體;(2)確定實(shí)體的屬性;(3)確定實(shí)體的主鍵;(4)確定實(shí)體間的聯(lián)系類型;(5)畫出E-R圖;11/15/2022792.2數(shù)據(jù)庫的設(shè)計(jì)1、概念模型設(shè)計(jì)12.2數(shù)據(jù)庫的設(shè)計(jì)
2、邏輯數(shù)據(jù)庫設(shè)計(jì)邏輯數(shù)據(jù)庫設(shè)計(jì)是將概念模型轉(zhuǎn)換成數(shù)據(jù)庫管理系統(tǒng)所支持的數(shù)據(jù)模型。如果是關(guān)系型數(shù)據(jù)庫管理系統(tǒng),就應(yīng)將概念模型轉(zhuǎn)換為關(guān)系模型,即將E-R圖中的實(shí)體和聯(lián)系轉(zhuǎn)換為關(guān)系模式。11/15/2022802.2數(shù)據(jù)庫的設(shè)計(jì)2、邏輯數(shù)據(jù)庫設(shè)計(jì)2.2數(shù)據(jù)庫的設(shè)計(jì)
2、邏輯數(shù)據(jù)庫設(shè)計(jì)學(xué)院(學(xué)院代碼、學(xué)院名稱、院長姓名、學(xué)院地址、學(xué)院電話、學(xué)院簡介)教師(教師編號、系部編號、姓名、性別、學(xué)歷、職稱、辦公電話、手機(jī)、E-mail、照片)班級(班級編號、班級名稱、班長、聯(lián)系電話、獎勵處罰、系部編號)學(xué)生(學(xué)號、姓名、性別、出生年月、籍貫、個人簡歷、照片、獎勵處罰、班級編號)11/15/2022812.2數(shù)據(jù)庫的設(shè)計(jì)2、邏輯數(shù)據(jù)庫2.2數(shù)據(jù)庫的設(shè)計(jì)
3、規(guī)范化理論的應(yīng)用在邏輯數(shù)據(jù)庫設(shè)計(jì)中,形成了一組關(guān)系模式。如果關(guān)系模式?jīng)]有設(shè)計(jì)好,就會出現(xiàn)數(shù)據(jù)冗余、數(shù)據(jù)更新異常、數(shù)據(jù)刪除異常、數(shù)據(jù)插入異常等問題。規(guī)范化理論的目的就是設(shè)計(jì)好的關(guān)系模式。4、物理數(shù)據(jù)庫設(shè)計(jì)物理數(shù)據(jù)庫設(shè)計(jì)是設(shè)計(jì)數(shù)據(jù)庫的存儲結(jié)構(gòu)和物理實(shí)現(xiàn)方法。11/15/2022822.2數(shù)據(jù)庫的設(shè)計(jì)3、規(guī)范化理論的2.3規(guī)范化理論的基本概念
1.函數(shù)依賴函數(shù)依賴是屬性之間的一種聯(lián)系。如果一個關(guān)系模式設(shè)計(jì)的不好,說明在它的某些屬性之間存在“不良”的函數(shù)依賴。設(shè)在關(guān)系R中,X、Y為R的兩個屬性子集,如果每個X值只有一個Y值與之對應(yīng),則稱屬性Y函數(shù)依賴于屬性X;或稱屬性X惟一確定屬性Y,記作X→Y。如果X→Y,同時Y不包含于X,則稱X→Y是非平凡的函數(shù)依賴。11/15/2022832.3規(guī)范化理論的基本概念1.函數(shù)2.3規(guī)范化理論的基本概念
2.完全函數(shù)依賴設(shè)在關(guān)系R中,X、Y為R的兩個屬性子集,若X→Y,且對于X的任何一個真子集X’,都有X’→Y,則稱Y完全函數(shù)依賴于X。若X’Y,則稱Y部分函數(shù)依賴于X。11/15/2022842.3規(guī)范化理論的基本概念2.完全函數(shù)依賴11/2.3規(guī)范化理論的基本概念
3.傳遞函數(shù)依賴設(shè)在關(guān)系R中,X、Y、Z為R的三個屬性子集,若X→Y,Y→Z,且X不依賴于Y,則稱Z傳遞函數(shù)依賴于X。
11/15/2022852.3規(guī)范化理論的基本概念3.傳遞函數(shù)依賴11/2.4規(guī)范化設(shè)計(jì)
規(guī)范化的基本思想是消除關(guān)系模式中的數(shù)據(jù)冗余,消除數(shù)據(jù)依賴中不合適的部分,解決數(shù)據(jù)插入、更新、刪除時發(fā)生異?,F(xiàn)象。這就要求關(guān)系數(shù)據(jù)庫設(shè)計(jì)出來的關(guān)系模式要滿足規(guī)范的模式,即“范式”(NormalForm)。11/15/2022862.4規(guī)范化設(shè)計(jì)規(guī)范化的基本思想是消除關(guān)系模式2.4規(guī)范化設(shè)計(jì)
數(shù)據(jù)庫的邏輯設(shè)計(jì)為什么要遵循一定的規(guī)范化理論?例如,要求設(shè)計(jì)教學(xué)管理數(shù)據(jù)庫,其對象“學(xué)生”的關(guān)系模式如下:學(xué)生(學(xué)號,姓名,年齡,系別,課程號,成績)11/15/2022872.4規(guī)范化設(shè)計(jì)數(shù)據(jù)庫的邏輯設(shè)計(jì)為什么要遵循一定的2.4規(guī)范化設(shè)計(jì)
數(shù)據(jù)庫的邏輯設(shè)計(jì)為什么要遵循一定的規(guī)范化理論?根據(jù)實(shí)際情況,這些數(shù)據(jù)有如下語義規(guī)定:1.一個系有若干個學(xué)生,但一個學(xué)生只屬于一個系;2.一個系只有一名系主任,但一個系主任可以同時兼幾個系的系主任;3.一個學(xué)生可以選修多門功課,每門課程可有若干學(xué)生選修;4.每個學(xué)生學(xué)習(xí)課程有一個成績。11/15/2022882.4規(guī)范化設(shè)計(jì)數(shù)據(jù)庫的邏輯設(shè)計(jì)為什么要遵循一定的2.4規(guī)范化設(shè)計(jì)
SNOSNAGEDEPTMNCNOSCORES1趙亦17計(jì)算機(jī)劉偉C190S1趙亦17計(jì)算機(jī)劉偉C285S2錢爾18信息王平C557S2錢爾18信息王平C680S2錢爾18信息王平C7
70S2錢爾18信息王平C470S3孫珊20信息王平C10S3孫珊20信息王平C270S3孫珊20信息王平C485S4李思21自動化劉偉C19311/15/2022892.4規(guī)范化設(shè)計(jì)SNOSNAGEDEPTMNCNO2.4規(guī)范化設(shè)計(jì)
數(shù)據(jù)庫的邏輯設(shè)計(jì)為什么要遵循一定的規(guī)范化理論?分析以上關(guān)系中的數(shù)據(jù),可以看出:(SNO,CNO)屬性的組合能唯一標(biāo)識一個元組,所以(SNO,CNO)是該關(guān)系模式的主鍵。但在進(jìn)行數(shù)據(jù)庫的操作時,會出現(xiàn)以下幾方面的問題。11/15/2022902.4規(guī)范化設(shè)計(jì)數(shù)據(jù)庫的邏輯設(shè)計(jì)為什么要遵循一定的2.4規(guī)范化設(shè)計(jì)
數(shù)據(jù)庫的邏輯設(shè)計(jì)為什么要遵循一定的規(guī)范化理論?可能出現(xiàn)的問題:1.數(shù)據(jù)冗余。每個系名和系主任的名字存儲的次數(shù)等于該系的學(xué)生人數(shù)乘以每個學(xué)生選修的課程門數(shù),同時學(xué)生的姓名、年齡也都要重復(fù)存儲多次,數(shù)據(jù)的冗余度很大,浪費(fèi)了存儲空間。
11/15/2022912.4規(guī)范化設(shè)計(jì)數(shù)據(jù)庫的邏輯設(shè)計(jì)為什么要遵循一定的2.4規(guī)范化設(shè)計(jì)
數(shù)據(jù)庫的邏輯設(shè)計(jì)為什么要遵循一定的規(guī)范化理論?
可能出現(xiàn)的問題:2.插入異常。如果某個新系沒有招生,尚無學(xué)生時,則系名和系主任的信息無法插入到數(shù)據(jù)庫中。因?yàn)樵谶@個關(guān)系模式中,(SNO,CNO)是主關(guān)系鍵。根據(jù)關(guān)系的實(shí)體完整性約束,主關(guān)系鍵的值不能為空,而這時沒有學(xué)生,SNO和CNO均無值,因此不能進(jìn)行插入操作。另外,當(dāng)某個學(xué)生尚未選課,即CNO未知,實(shí)體完整性約束還規(guī)定,主關(guān)系鍵的值不能部分為空,同樣不能進(jìn)行插入操作。
11/15/2022922.4規(guī)范化設(shè)計(jì)數(shù)據(jù)庫的邏輯設(shè)計(jì)為什么要遵循一定的2.4規(guī)范化設(shè)計(jì)
數(shù)據(jù)庫的邏輯設(shè)計(jì)為什么要遵循一定的規(guī)范化理論?
可能出現(xiàn)的問題:3.刪除異常。某系學(xué)生全部畢業(yè)而沒有招生時,刪除全部學(xué)生的記錄則系名、系主任也隨之刪除,而這個系依然存在,在數(shù)據(jù)庫中卻無法找到該系的信息。另外,如果某個學(xué)生不再選修C1課程,本應(yīng)該只刪去C1,但C1是主關(guān)系鍵的一部分,為保證實(shí)體完整性,必須將整個元組一起刪掉,這樣,有關(guān)該學(xué)生的其它信息也隨之丟失。
11/15/2022932.4規(guī)范化設(shè)計(jì)數(shù)據(jù)庫的邏輯設(shè)計(jì)為什么要遵循一定的2.4規(guī)范化設(shè)計(jì)
數(shù)據(jù)庫的邏輯設(shè)計(jì)為什么要遵循一定的規(guī)范化理論?
可能出現(xiàn)的問題:
4.更新異常。如果學(xué)生改名,則該學(xué)生的所有記錄都要逐一修改SN;又如某系更換系主任,則屬于該系的學(xué)生記錄都要修改MN的內(nèi)容,稍有不慎,就有可能漏改某些記錄,這就會造成數(shù)據(jù)的不一致性,破壞了數(shù)據(jù)的完整性。。
11/15/2022942.4規(guī)范化設(shè)計(jì)數(shù)據(jù)庫的邏輯設(shè)計(jì)為什么要遵循一定的2.4規(guī)范化設(shè)計(jì)
數(shù)據(jù)庫的邏輯設(shè)計(jì)為什么要遵循一定的規(guī)范化理論?
由于存在以上問題,SCD是一個不好的關(guān)系模式。產(chǎn)生上述問題的原因,直觀地說,是因?yàn)殛P(guān)系中“包羅萬象”,內(nèi)容太雜了。那么,怎樣才能得到一個好的關(guān)系模式呢?把關(guān)系模式SCD分解為下面三個結(jié)構(gòu)簡單的關(guān)系模式,如圖所示。學(xué)生S(SNO,SN,AGE,DEPT)選課SC(SNO,CNO,SCORE)系D(DEPT,MN)11/15/2022952.4規(guī)范化設(shè)計(jì)數(shù)據(jù)庫的邏輯設(shè)計(jì)為什么要遵循一定的2.4規(guī)范化設(shè)計(jì)
SNOSNAGEDEPT
SNOCNOSCORES1趙亦17計(jì)算機(jī)
S1C190S2錢爾18信息
S1C285S3孫珊20信息
S2C557S4李思21自動化
S2C680
S2C7
78D
S2C570DEPTMN
S3C10計(jì)算機(jī)劉偉
S3C270信息王平
S3C485自動化劉偉
S4C193分解后的關(guān)系模式
11/15/2022962.4規(guī)范化設(shè)計(jì)SNOSNAGEDEPT
SNOC2.4規(guī)范化設(shè)計(jì)
一個好的關(guān)系模式應(yīng)該具備以下四個條件:1.盡可能少的數(shù)據(jù)冗余。2.沒有插入異常。3.沒有刪除異常。4.沒有更新異常。
11/15/2022972.4規(guī)范化設(shè)計(jì)11/11/2022372.4規(guī)范化設(shè)計(jì)
如何按照一定的規(guī)范設(shè)計(jì)關(guān)系模式,將結(jié)構(gòu)復(fù)雜的關(guān)系分解成結(jié)構(gòu)簡單的關(guān)系,從而把不好的關(guān)系數(shù)據(jù)庫模式轉(zhuǎn)變?yōu)楹玫年P(guān)系數(shù)據(jù)庫模式,這就是關(guān)系的規(guī)范化。規(guī)范化又可以根據(jù)不同的要求而分成若干級別。11/15/2022982.4規(guī)范化設(shè)計(jì)如何按照一定的規(guī)范設(shè)計(jì)關(guān)系模式2.4規(guī)范化設(shè)計(jì)
把關(guān)系數(shù)據(jù)庫的規(guī)范化過程中為不同程度的規(guī)范化要求設(shè)立的不同標(biāo)準(zhǔn)稱為范式(NormalForm)。由于規(guī)范化的程度不同,就產(chǎn)生了不同的范式。滿足最基本規(guī)范化要求的關(guān)系模式叫第一范式,在第一范式中進(jìn)一步滿足一些要求為第二范式,以此類推就產(chǎn)生了第三范式等概念。每種范式都規(guī)定了一些限制約束條件。2.4.1第一范式11/15/2022992.4規(guī)范化設(shè)計(jì)把關(guān)系數(shù)據(jù)庫的規(guī)范化過程中為不2.4規(guī)范化設(shè)計(jì)第一范式(FirstNormalForm)是最基本的規(guī)范形式,即關(guān)系中每個屬性都是不可再分的簡單項(xiàng)。每個規(guī)范化的關(guān)系都屬于1NF,這也是它之所以稱為“第一”的原因。
定義如果關(guān)系模式R,其所有的屬性均為簡單屬性,即每個屬性都是不可再分的,則稱R屬于第一范式,簡稱1NF,記作R1NF。2.4規(guī)范化設(shè)計(jì)2.4.1第一范式11/15/20221002.4規(guī)范化設(shè)計(jì)第一范式(FirstNormalForm2.4規(guī)范化設(shè)計(jì)2.4規(guī)范化設(shè)計(jì)編號姓名電話家庭電話辦公電話01004張輝春667788998733421102001陳玉茜672123458656633302002張一燕6789123482334212編號姓名家庭電話辦公電話01004張輝春667788998733421102001陳玉茜672123458656633302002張一燕6789123482334212只要將所有的屬性表示為不可分的數(shù)據(jù)項(xiàng),轉(zhuǎn)化后的關(guān)系即符合第一范式。
2.4.1第一范式11/15/20221012.4規(guī)范化設(shè)計(jì)2.4規(guī)范化設(shè)計(jì)編號姓名電話家庭電話辦公電話2.4規(guī)范化設(shè)計(jì)然而,一個關(guān)系模式僅僅屬于第一范式是不適用的。關(guān)系模式SCD屬于第一范式,但其具有大量的數(shù)據(jù)冗余,具有插入異常、刪除異常、更新異常等弊端。2.4規(guī)范化設(shè)計(jì)2.4.1第一范式11/15/20221022.4規(guī)范化設(shè)計(jì)然而,一個關(guān)系模式僅僅屬于第一范式是不適用的2.4規(guī)范化設(shè)計(jì)定義如果關(guān)系模式R1NF,且每個非主屬性都完全函數(shù)依賴于任意一個侯選關(guān)鍵字,則稱R屬于第二范式,簡稱2NF,記作R2NF。2.4規(guī)范化設(shè)計(jì)2.4.2第二范式11/15/20221032.4規(guī)范化設(shè)計(jì)2.4規(guī)范化設(shè)計(jì)2.4.2第二范式112.4規(guī)范化設(shè)計(jì)2.4.2第二范式帶來問題的原因是:非主屬性“學(xué)分”僅僅依賴于“課程號”,也就是說只是部分依賴于主關(guān)鍵字(學(xué)號,課程號),而不是完全依賴。學(xué)號課程號成績課程號課程名學(xué)分01002C176C1高等數(shù)學(xué)401002C288C2計(jì)算機(jī)文化基礎(chǔ)502002C190C3英語402002C286C4大學(xué)物理402002C393C5大學(xué)美育305007C396C6計(jì)算機(jī)繪圖3學(xué)號課程號成績學(xué)分01002C176401002C288502002C190402002C286502002C393405007C396411/15/20221042.4規(guī)范化設(shè)計(jì)2.4.2第二范式帶來問題的原因是:非2.4規(guī)范化設(shè)計(jì)2NF的關(guān)系模式解決了1NF中存在的一些問題,2NF規(guī)范化的程度比1NF前進(jìn)了一步,但2NF的關(guān)系模式在進(jìn)行數(shù)據(jù)操作時,仍然存在著一些問題。2.4規(guī)范化設(shè)計(jì)2.4.2第二范式11/15/20221052.4規(guī)范化設(shè)計(jì)2NF的關(guān)系模式解決了1NF中存在的一些2.4規(guī)范化設(shè)計(jì)定義如果關(guān)系模式R2NF,且每個非主屬性都不傳遞依賴于R的任何候選關(guān)鍵字,則稱R屬于第三范式,簡稱3NF,記作R3NF。如果R3NF,則R也是2NF。如果R2NF,則R不一定是3NF。2.4規(guī)范化設(shè)計(jì)2.4.3第三范式11/15/20221062.4規(guī)范化設(shè)計(jì)定義如果關(guān)系模式R2NF,且每個非主屬2.4規(guī)范化設(shè)計(jì)2.4.3第三范式學(xué)號姓名院系編號院系名稱院系地址01004張輝春01計(jì)算機(jī)學(xué)院科教樓三層02001陳玉茜01計(jì)算機(jī)學(xué)院科教樓三層02002張一燕03會計(jì)學(xué)院科教樓十一層在該表中,關(guān)鍵字是學(xué)號,由于是單個關(guān)鍵字,沒有部分依賴的問題,這個關(guān)系肯定屬于第二范式。帶來問題的原因是:關(guān)系中存在傳遞依賴?!霸合得Q”、“院系地址”兩個屬性依賴于“院系編號”,而“院系編號”又依賴于“學(xué)號”,因此,“院系名稱”、“院系地址”兩個屬性通過“院系編號”依賴于“學(xué)號”,這種現(xiàn)象稱為傳遞依賴。11/15/20221072.4規(guī)范化設(shè)計(jì)2.4.3第三范式學(xué)號姓名院系編號院系2.4規(guī)范化設(shè)計(jì)2.4.4BC范式定義如果關(guān)系模式的所有屬性(包括主屬性和非主屬性)都不傳遞依賴于R的任何侯選關(guān)鍵字,則稱R屬于BCNF,記作RBCNF。如果R3NF,則R也是2NF。如果R2NF,則R不一定是3NF。11/15/20221082.4規(guī)范化設(shè)計(jì)2.4.4BC范式定義如果關(guān)系模式2.4規(guī)范化設(shè)計(jì)2.4.5數(shù)據(jù)庫規(guī)范化設(shè)計(jì)小結(jié)一個關(guān)系只要其分量都是不可分的數(shù)據(jù)項(xiàng),就可稱作規(guī)范化的關(guān)系,但這只是最基本的規(guī)范化。這樣的關(guān)系模式是合法的。但人們發(fā)現(xiàn)有些關(guān)系模式存在插入、刪除、修改異常、數(shù)據(jù)冗余等
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度中醫(yī)養(yǎng)生產(chǎn)品海外市場推廣合同4篇
- 2025年度商業(yè)綜合體承包轉(zhuǎn)讓合同范本4篇
- 2025年度養(yǎng)老機(jī)構(gòu)場地租賃與養(yǎng)老服務(wù)分成管理合同3篇
- 2025年cfg樁基施工項(xiàng)目環(huán)境保護(hù)與生態(tài)修復(fù)合同3篇
- 2025年度智能家電維修個人勞務(wù)協(xié)議書4篇
- 2025年中國酚氨咖敏顆粒行業(yè)發(fā)展?jié)摿Ψ治黾巴顿Y戰(zhàn)略咨詢報(bào)告
- 2025年度汽車租賃與二手車交易服務(wù)合同3篇
- 2025年溫州家和物業(yè)管理有限公司招聘筆試參考題庫含答案解析
- 2025年溫州個人房屋買賣合同(含交易資金監(jiān)管)3篇
- 二零二五版離婚協(xié)議書模板:離婚后子女撫養(yǎng)及財(cái)產(chǎn)分割專案協(xié)議2篇
- 氧氣霧化吸入法
- 6月大學(xué)英語四級真題(CET4)及答案解析
- 氣排球競賽規(guī)則
- 電梯維修保養(yǎng)報(bào)價書模板
- 危險化學(xué)品目錄2023
- FZ/T 81024-2022機(jī)織披風(fēng)
- GB/T 33141-2016鎂鋰合金鑄錠
- 2023譯林版新教材高中英語必修二全冊重點(diǎn)短語歸納小結(jié)
- JJF 1069-2012 法定計(jì)量檢定機(jī)構(gòu)考核規(guī)范(培訓(xùn)講稿)
- 綜合管廊工程施工技術(shù)概述課件
- 公積金提取單身聲明
評論
0/150
提交評論