




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第4章數(shù)據(jù)庫(kù)設(shè)計(jì)和規(guī)范化理論主要內(nèi)容4.1關(guān)系數(shù)據(jù)庫(kù)規(guī)范化理論4.2數(shù)據(jù)庫(kù)設(shè)計(jì)概述4.3系統(tǒng)規(guī)劃階段4.4需求分析階段4.5概念結(jié)構(gòu)設(shè)計(jì)4.6邏輯結(jié)構(gòu)設(shè)計(jì)4.7物理結(jié)構(gòu)設(shè)計(jì)4.8數(shù)據(jù)庫(kù)的實(shí)施4.9數(shù)據(jù)庫(kù)的運(yùn)行和維護(hù)4.10本章小結(jié)第4章數(shù)據(jù)庫(kù)設(shè)計(jì)和規(guī)范化理論4.1關(guān)系數(shù)據(jù)庫(kù)規(guī)范化理論4.1關(guān)系數(shù)據(jù)庫(kù)規(guī)范化理論4.1.1問(wèn)題引入對(duì)于任何管理信息系統(tǒng)的應(yīng)用軟件開(kāi)發(fā)而言,其核心技術(shù)都要涉及數(shù)據(jù)庫(kù)設(shè)計(jì)方面的知識(shí),而要設(shè)計(jì)出一個(gè)性能良好的數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)并非一件簡(jiǎn)單的工作。關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)是對(duì)數(shù)據(jù)進(jìn)行組織化和結(jié)構(gòu)化的過(guò)程,核心問(wèn)題是關(guān)系模型的設(shè)計(jì)。關(guān)系模式設(shè)計(jì)的好壞將直接影響到數(shù)據(jù)庫(kù)設(shè)計(jì)的成敗,而關(guān)系規(guī)范化理論則是指導(dǎo)關(guān)系模式設(shè)計(jì)的標(biāo)準(zhǔn)。44.1關(guān)系數(shù)據(jù)庫(kù)規(guī)范化理論例如,某學(xué)校要建立一個(gè)數(shù)據(jù)庫(kù)以描述學(xué)生選修課程的情況。由現(xiàn)實(shí)世界的已知事實(shí)可以得到如下對(duì)應(yīng)關(guān)系:每一名學(xué)生可以選修多門課程,每一門課程可以被多名學(xué)生所選修;每一名學(xué)生選修一門課程都會(huì)有一個(gè)成績(jī)。針對(duì)上述情況可能設(shè)計(jì)出以下兩種關(guān)系模式。1.只產(chǎn)生一個(gè)關(guān)系模式學(xué)生選課關(guān)系模式(學(xué)號(hào),姓名,性別,年齡,系別,課程號(hào),課程名,教師名,學(xué)分,成績(jī))。2.產(chǎn)生三個(gè)關(guān)系模式學(xué)生關(guān)系模式(學(xué)號(hào),姓名,性別,年齡,系別);課程關(guān)系模式(課程號(hào),課程名,教師名,學(xué)分);選課關(guān)系模式(學(xué)號(hào),課程號(hào),成績(jī))。54.1關(guān)系數(shù)據(jù)庫(kù)規(guī)范化理論比較分析這兩種關(guān)系模式,發(fā)現(xiàn)第一種設(shè)計(jì)方法可能帶來(lái)如下問(wèn)題:1.?dāng)?shù)據(jù)冗余
2.修改異常3.插入異常4.刪除異常64.1關(guān)系數(shù)據(jù)庫(kù)規(guī)范化理論4.1.2函數(shù)依賴數(shù)據(jù)依賴是一個(gè)關(guān)系內(nèi)部屬性與屬性之間的一種約束關(guān)系,這種約束關(guān)系是通過(guò)屬性間值的相等與否體現(xiàn)出來(lái)的數(shù)據(jù)間的相互關(guān)系。數(shù)據(jù)依賴有多種類型,常用的數(shù)據(jù)依賴有函數(shù)依賴和多值依賴,其中函數(shù)依賴是最重要也是最基本的一種數(shù)據(jù)依賴。74.1關(guān)系數(shù)據(jù)庫(kù)規(guī)范化理論1.函數(shù)依賴的定義
函數(shù)依賴普遍地存在于現(xiàn)實(shí)生活中,它反映屬性或?qū)傩越M合之間相互依存、相互制約的關(guān)系。函數(shù)依賴的定義為:設(shè)R(U)是屬性集U上的關(guān)系模式,X與Y是U的子集,r是R(U)的任意一個(gè)可能的關(guān)系(即一個(gè)二維表)。如果對(duì)于r中的任意兩個(gè)元組(即兩個(gè)記錄,或兩行數(shù)據(jù))t和s,由t[X]=s[X]導(dǎo)致t[Y]=s[Y],則稱X函數(shù)決定Y,或稱Y函數(shù)依賴于X,記作X→Y。函數(shù)依賴的相關(guān)術(shù)語(yǔ)和記號(hào)如下:若X→Y,則稱X為決定因素。若X→Y,Y→X,則記作X←→Y。84.1關(guān)系數(shù)據(jù)庫(kù)規(guī)范化理論2.函數(shù)依賴的分類關(guān)系數(shù)據(jù)庫(kù)中函數(shù)依賴主要有以下幾類:(1)平凡函數(shù)依賴和非平凡函數(shù)依賴設(shè)R(U)是屬性集U上的關(guān)系模式,若對(duì)于任何X、Y∈U,有X→Y且Y不包含于X,則稱X→Y是非平凡的函數(shù)依賴。反之,如果Y包含于X,則稱X→Y是平凡的函數(shù)依賴。例如,在學(xué)生關(guān)系模式(學(xué)號(hào),姓名,年齡,性別,所在系別)中,
學(xué)號(hào)→性別,(學(xué)號(hào),姓名)→年齡,均為非平凡函數(shù)依賴。
(學(xué)號(hào),姓名)→姓名,為平凡函數(shù)依賴。94.1關(guān)系數(shù)據(jù)庫(kù)規(guī)范化理論
104.1關(guān)系數(shù)據(jù)庫(kù)規(guī)范化理論(3)傳遞函數(shù)依賴設(shè)R(U)是屬性集U上的關(guān)系模式,如果X→Y,Y→Z,并且不存在Y→X,則稱X→Z是一個(gè)傳遞函數(shù)依賴,即Z傳遞函數(shù)依賴于X。例如,在職工關(guān)系模式(職工編號(hào),姓名,所在車間,車間主任)中,職工編號(hào)→所在車間,所在車間→車間主任,并且不存在所在車間→職工編號(hào),則車間主任傳遞函數(shù)依賴于職工編號(hào)。注意上述定義中的條件不存在Y→X。如果不加上這一限制,當(dāng)X→Y時(shí)允許Y→X,則X←→Y。而在X←→Y的條件下,Y→Z就等于X→Z。這樣X(jué)就直接函數(shù)決定Z,而不是通過(guò)Y傳遞決定Z了,即非傳遞函數(shù)依賴。114.1關(guān)系數(shù)據(jù)庫(kù)規(guī)范化理論4.1.3范式在關(guān)系數(shù)據(jù)庫(kù)中,關(guān)系模式設(shè)計(jì)的好壞取決于它的函數(shù)依賴是否滿足特定的要求。滿足特定要求的模式稱為范式,滿足不同程度要求的為不同范式。一般地,關(guān)系模式R為第幾范式就可以寫成R∈xNF。對(duì)于各種范式之間的聯(lián)系有5NF4NFBCNF3NF2NF1NF成立。通過(guò)關(guān)系模式分解,可以將一個(gè)低一級(jí)范式的關(guān)系模式轉(zhuǎn)換為若干個(gè)高一級(jí)范式的關(guān)系模式的集合,這種過(guò)程就叫規(guī)范化。124.1關(guān)系數(shù)據(jù)庫(kù)規(guī)范化理論1.第一范式
如果關(guān)系模式R中的每一個(gè)屬性都是不可分解的,則稱R屬于第一范式,記作R∈1NF。例如,設(shè)關(guān)系模式R(系別名稱,高級(jí)職稱人數(shù))表示某學(xué)校系別的基本信息,假設(shè)系別信息狀況如表4.1所示。134.1關(guān)系數(shù)據(jù)庫(kù)規(guī)范化理論從表4.1中可以看出,“高級(jí)職稱人數(shù)”屬性是可以分解的,所以R不滿足1NF。解決問(wèn)題的辦法是:將“高級(jí)職稱人數(shù)”屬性拆開(kāi),形成關(guān)系模式R1(系別名稱、教授人數(shù)、副教授人數(shù))。形式如表4.2所示。顯然,此時(shí)關(guān)系模式R1中的每一個(gè)屬性列都是不可再分的,所以R1∈1NF。144.1關(guān)系數(shù)據(jù)庫(kù)規(guī)范化理論2.第二范式
如果關(guān)系模式R∈1NF,且每一個(gè)非主屬性都完全函數(shù)依賴于候選碼,則稱R屬于第二范式,記作R∈2NF。例如,設(shè)關(guān)系模式R(倉(cāng)庫(kù)號(hào),設(shè)備號(hào),數(shù)量,地點(diǎn))表示倉(cāng)庫(kù)設(shè)備的存儲(chǔ)情況。候選碼是(倉(cāng)庫(kù)號(hào),設(shè)備號(hào))屬性組合,由于關(guān)系模式R中的每一個(gè)屬性都不可再分,所以R∈1NF。因?yàn)榉侵鲗傩浴皵?shù)量”完全函數(shù)依賴于候選碼。非主屬性“地點(diǎn)”部分函數(shù)依賴于候選碼。即有(倉(cāng)庫(kù)號(hào),設(shè)備號(hào))→地點(diǎn),倉(cāng)庫(kù)號(hào)→地點(diǎn),所以R不滿足2NF。154.1關(guān)系數(shù)據(jù)庫(kù)規(guī)范化理論關(guān)系模式R中存在異常,比如某一個(gè)倉(cāng)庫(kù)只有一種設(shè)備,當(dāng)這種設(shè)備被移走后,在刪除此設(shè)備信息的同時(shí)將這個(gè)倉(cāng)庫(kù)的信息也刪除了。解決問(wèn)題的辦法是:用投影分解把關(guān)系模式R分解為兩個(gè)關(guān)系模式。將部分函數(shù)依賴關(guān)系的決定方屬性和非主屬性從關(guān)系模式中提出,單獨(dú)構(gòu)成一個(gè)關(guān)系模式;將余下屬性加上碼(仍要保留部分函數(shù)依賴的決定方屬性)構(gòu)成另一關(guān)系模式。按照上述方法分解,將關(guān)系模式R分解為R1(倉(cāng)庫(kù)號(hào),設(shè)備號(hào),數(shù)量)和R2(倉(cāng)庫(kù)號(hào),地點(diǎn))兩個(gè)關(guān)系模式。此時(shí),R1和R2均屬于第二范式。164.1關(guān)系數(shù)據(jù)庫(kù)規(guī)范化理論3.第三范式如果關(guān)系模式R∈2NF,且每一個(gè)非主屬性都不傳遞函數(shù)依賴于候選碼,則稱R屬于第三范式,記作R∈3NF。例如,設(shè)關(guān)系模式R(倉(cāng)庫(kù)號(hào),倉(cāng)庫(kù)面積,所在城市,所在?。┍硎静煌瑐}(cāng)庫(kù)在各省市分布情況。候選碼是倉(cāng)庫(kù)號(hào),由于關(guān)系模式R中的每一個(gè)屬性都不可再分,所以R∈1NF。又因?yàn)镽中每一個(gè)非主屬性都完全函數(shù)依賴于候選碼,所以R∈2NF。又因?yàn)楹瘮?shù)依賴有倉(cāng)庫(kù)號(hào)→所在城市,所在城市→所在省,所以倉(cāng)庫(kù)號(hào)→所在省,R中存在傳遞函數(shù)依賴,所以R不滿足3NF。174.1關(guān)系數(shù)據(jù)庫(kù)規(guī)范化理論關(guān)系模式R中存在異常,比如要在遼寧省大連市設(shè)立一個(gè)倉(cāng)庫(kù),此時(shí)想先存入有關(guān)所在城市的信息,但由于沒(méi)有倉(cāng)庫(kù)號(hào),主碼為空,則插入是失敗的。解決問(wèn)題的辦法是:用投影分解把關(guān)系模式R分解為兩個(gè)關(guān)系模式,將傳遞函數(shù)依賴的屬性分解出來(lái),消除傳遞函數(shù)依賴。按照上述方法分解,將關(guān)系模式R分解為R1(倉(cāng)庫(kù)號(hào),倉(cāng)庫(kù)面積,所在城市)和R2(所在城市,所在?。﹥蓚€(gè)關(guān)系模式。此時(shí),R1和R2均屬于第三范式。184.1關(guān)系數(shù)據(jù)庫(kù)規(guī)范化理論4.BCNF(修正的第三范式)如果關(guān)系模式R∈3NF,且沒(méi)有一個(gè)屬性部分函數(shù)依賴或傳遞函數(shù)依賴于候選碼,則稱R屬于修正的第三范式,記作R∈BCNF。規(guī)范化的基本思想是,逐步消除數(shù)據(jù)依賴中不合理的部分,使每一個(gè)關(guān)系模式更趨于完美。但并不是范式越高越好,范式越高,模式分解的越多,我們?cè)谶M(jìn)行數(shù)據(jù)查詢的時(shí)候往往要進(jìn)行許多張表的連接,系統(tǒng)開(kāi)銷較大,查詢效率較低。所以,在進(jìn)行關(guān)系模式規(guī)范化的過(guò)程中,關(guān)系模式一般分解到3NF就認(rèn)為是比較好的了。194.1關(guān)系數(shù)據(jù)庫(kù)規(guī)范化理論例題4.1在銀行管理系統(tǒng)的數(shù)據(jù)庫(kù)中,有一關(guān)系模式為R(BNO,SSNO,BNAME,ADDRESS,CITY,SNAME,SEX,AGE,ACCOUNT),其中屬性分別表示銀行編號(hào),身份證號(hào),銀行名稱,銀行所在地點(diǎn),銀行所在城市,顧客姓名,性別,年齡,賬戶號(hào)。寫出該關(guān)系模式的主碼,并判斷此關(guān)系模式是否滿足3NF,若不滿足請(qǐng)對(duì)其進(jìn)行規(guī)范化,以達(dá)到3NF。204.1關(guān)系數(shù)據(jù)庫(kù)規(guī)范化理論例題解析:該關(guān)系模式R的主碼為(BNO,SSNO)。由于關(guān)系模式R中的每個(gè)分量都是不可再分的數(shù)據(jù)項(xiàng),所以R滿足1NF。關(guān)系模式R中存在以下函數(shù)依賴:(BNO,SSNO)→BNAME,BNO→BNAME,(BNO,SSNO)→ADDRESS,BNO→ADDRESS,(BNO,SSNO)→CITY,ADDRESS→CITY,(BNO,SSNO)→ACCOUNT,BNO→CITY,(BNO,SSNO)→SNAME,SSNO→SNAME,(BNO,SSNO)→SEX,SSNO→SEX,(BNO,SSNO)→AGE,SSNO→AGE,214.1關(guān)系數(shù)據(jù)庫(kù)規(guī)范化理論首先,關(guān)系模式R滿足1NF,但存在部分函數(shù)依賴,所以,R不滿足2NF,將其分解為:R1(BNO,SSNO,ACCOUNT)∈2NF;R2(BNO,BNAME,ADDRESS,CITY)∈2NF;R3(SSNO,SNAME,SEX,AGE)∈2NF;其次,關(guān)系模式R1、R3均已滿足第三范式,但關(guān)系模式R2存在傳遞函數(shù)依賴,R2不滿足第三范式,將R2分解為:R4(BNO,BNAME,ADDRESS)∈3NF;R5(ADDRESS,CITY)∈3NF;最后,R1、R3、R4、R5滿足第三范式,總結(jié)為:R1(BNO,SSNO,ACCOUNT);R3(SSNO,SNAME,SEX,AGE);R4(BNO,BNAME,ADDRESS);R5(ADDRESS,CITY)。22第4章數(shù)據(jù)庫(kù)設(shè)計(jì)和規(guī)范化理論4.2數(shù)據(jù)庫(kù)設(shè)計(jì)概述4.2數(shù)據(jù)庫(kù)設(shè)計(jì)概述4.2.1數(shù)據(jù)庫(kù)設(shè)計(jì)的方法早期數(shù)據(jù)庫(kù)設(shè)計(jì)主要采用手工與經(jīng)驗(yàn)相結(jié)合的方法。設(shè)計(jì)的質(zhì)量往往與設(shè)計(jì)人員的經(jīng)驗(yàn)與水平有直接的關(guān)系,設(shè)計(jì)質(zhì)量難以保證。人們通過(guò)運(yùn)用軟件工程的思想和方法,提出了各種數(shù)據(jù)庫(kù)設(shè)計(jì)方法,以及各種設(shè)計(jì)準(zhǔn)則和規(guī)程,這些都屬于規(guī)范設(shè)計(jì)方法。例如:(1)關(guān)系模式的設(shè)計(jì)方法(2)新奧爾良(NewOrleans)方法(3)基于E-R模型的數(shù)據(jù)庫(kù)設(shè)計(jì)方法(4)3NF(第三范式)的設(shè)計(jì)方法(5)基于抽象語(yǔ)法規(guī)范的設(shè)計(jì)方法(6)計(jì)算機(jī)輔助數(shù)據(jù)庫(kù)設(shè)計(jì)方法244.2數(shù)據(jù)庫(kù)設(shè)計(jì)概述4.2.2數(shù)據(jù)庫(kù)設(shè)計(jì)的步驟從數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)設(shè)計(jì)和開(kāi)發(fā)的全過(guò)程來(lái)考慮,一般將數(shù)據(jù)庫(kù)設(shè)計(jì)的步驟分為七個(gè)階段:1.系統(tǒng)規(guī)劃階段2.需求分析階段3.概念結(jié)構(gòu)設(shè)計(jì)階段4.邏輯結(jié)構(gòu)設(shè)計(jì)階段5.物理結(jié)構(gòu)設(shè)計(jì)階段6.實(shí)施階段7.運(yùn)行和維護(hù)階段25第4章數(shù)據(jù)庫(kù)設(shè)計(jì)和規(guī)范化理論4.3系統(tǒng)規(guī)劃階段4.3系統(tǒng)規(guī)劃階段4.3.1系統(tǒng)規(guī)劃的任務(wù)系統(tǒng)規(guī)劃階段的主要任務(wù)就是進(jìn)行系統(tǒng)的必要性和可行性分析。包括明確應(yīng)用系統(tǒng)的基本功能,劃分?jǐn)?shù)據(jù)庫(kù)支持的范圍;規(guī)劃人力資源調(diào)配;擬定設(shè)備配置方案;選擇合適的操作系統(tǒng)、DBMS和其他軟件;設(shè)備配置方案要在使用要求、系統(tǒng)性能、購(gòu)置成本和維護(hù)代價(jià)各方面綜合權(quán)衡;對(duì)系統(tǒng)的開(kāi)發(fā)、運(yùn)行、維護(hù)的成本作出估算;預(yù)測(cè)系統(tǒng)效益的期望值;擬定開(kāi)發(fā)進(jìn)度計(jì)劃,還要對(duì)現(xiàn)行工作模式如何向新系統(tǒng)過(guò)渡作出具體安排。274.3系統(tǒng)規(guī)劃階段4.3.2系統(tǒng)規(guī)劃的成果規(guī)劃階段的工作成果是寫出詳盡的可行性分析報(bào)告和數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)規(guī)劃書。內(nèi)容應(yīng)包括:系統(tǒng)的定位及其功能、數(shù)據(jù)資源及數(shù)據(jù)處理能力、人力資源調(diào)配、設(shè)備配置方案、開(kāi)發(fā)成本估算、開(kāi)發(fā)進(jìn)度計(jì)劃等。
可行性分析報(bào)告和數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)規(guī)劃書經(jīng)審定立項(xiàng)后,成為后續(xù)開(kāi)發(fā)工作的總綱。28第4章數(shù)據(jù)庫(kù)設(shè)計(jì)和規(guī)范化理論4.4需求分析階段4.4需求分析階段4.4.1需求分析的任務(wù)需求分析是整個(gè)數(shù)據(jù)庫(kù)設(shè)計(jì)過(guò)程中最重要的步驟之一,是后續(xù)各階段的基礎(chǔ)。需求分析的主要任務(wù)是通過(guò)詳細(xì)調(diào)查所要處理的對(duì)象,包括某個(gè)組織、某個(gè)部門、某個(gè)企業(yè)的業(yè)務(wù)管理等,充分了解原手工或原計(jì)算機(jī)系統(tǒng)的工作狀況以及工作流程,明確用戶的各種需求,生成業(yè)務(wù)流程圖和數(shù)據(jù)流圖,然后在此基礎(chǔ)上確定新系統(tǒng)的功能,并撰寫系統(tǒng)說(shuō)明書。新系統(tǒng)不能只按當(dāng)前應(yīng)用需求來(lái)設(shè)計(jì)數(shù)據(jù)庫(kù),必須充分考慮今后可能的擴(kuò)充和改變。304.4需求分析階段4.4.2需求分析的步驟調(diào)查、收集和分析用戶要求的具體步驟如下:1.調(diào)查組織機(jī)構(gòu)情況調(diào)查這個(gè)組織由哪些部門組成,各部門擔(dān)當(dāng)?shù)穆氊?zé)是什么。2.調(diào)查各部門的業(yè)務(wù)活動(dòng)情況調(diào)查各部門所需輸入和使用的數(shù)據(jù),如何加工處理這些數(shù)據(jù),輸出什么信息,輸出到哪個(gè)部門,輸出結(jié)果的格式等。314.4需求分析階段3.協(xié)助用戶明確對(duì)新系統(tǒng)的各種要求進(jìn)一步明確用戶對(duì)數(shù)據(jù)管理中的信息要求、處理要求、安全性與完整性要求。4.確定新系統(tǒng)的邊界確定哪些功能由計(jì)算機(jī)完成或?qū)?lái)準(zhǔn)備讓計(jì)算機(jī)完成,哪些功能由人工完成。由計(jì)算機(jī)完成的功能就是新系統(tǒng)應(yīng)該實(shí)現(xiàn)的功能。324.4需求分析階段4.4.3需求分析的調(diào)查方法根據(jù)不同的問(wèn)題和條件,調(diào)查方法也可以不同。常用的調(diào)查方法有以下幾種。1.跟班作業(yè)通過(guò)親身參加業(yè)務(wù)工作來(lái)了解業(yè)務(wù)活動(dòng)的情況,這種方法可以比較準(zhǔn)確地了解用戶的需求,但比較耗費(fèi)時(shí)間。2.開(kāi)調(diào)查會(huì)通過(guò)與用戶座談的方式來(lái)了解業(yè)務(wù)活動(dòng)情況及用戶需求。3.請(qǐng)專人介紹通過(guò)邀請(qǐng)熟悉業(yè)務(wù)的專業(yè)人士來(lái)了解業(yè)務(wù)活動(dòng)情況。334.4需求分析階段4.詢問(wèn)對(duì)調(diào)查中的某些問(wèn)題,可以找專人詢問(wèn)。5.設(shè)計(jì)調(diào)查表請(qǐng)用戶填寫如果調(diào)查表設(shè)計(jì)合理,這種方法易于用戶接受并且會(huì)很有效。6.查閱記錄查閱與原系統(tǒng)有關(guān)的數(shù)據(jù)記錄,包括原始的單據(jù)、報(bào)表等。當(dāng)需求分析完成后,最終產(chǎn)生階段性的成果:系統(tǒng)需求說(shuō)明書,包括數(shù)據(jù)流圖、數(shù)據(jù)字典、數(shù)據(jù)表格、系統(tǒng)功能結(jié)構(gòu)圖和必要的說(shuō)明。344.4需求分析階段4.4.4數(shù)據(jù)流圖數(shù)據(jù)流圖(DataFlowDiagram,簡(jiǎn)記為DFD)是用圖形方式來(lái)表達(dá)系統(tǒng)的邏輯功能,以及數(shù)據(jù)在系統(tǒng)內(nèi)部的邏輯流向和邏輯變換過(guò)程。任何一個(gè)系統(tǒng)都可以抽象為圖4.1所示的數(shù)據(jù)流圖形式。354.4需求分析階段1.?dāng)?shù)據(jù)流圖的基本符號(hào)→:箭頭,表示數(shù)據(jù)流;□:方框,表示數(shù)據(jù)的源點(diǎn)或終點(diǎn);○:圓或橢圓,表示加工或處理;=:雙杠,表示數(shù)據(jù)存儲(chǔ)。364.4需求分析階段(1)數(shù)據(jù)流:是數(shù)據(jù)在系統(tǒng)內(nèi)傳播的路徑,因此由一組成分固定的數(shù)據(jù)組成。例如訂票單由旅客姓名、年齡、單位、身份證號(hào)、日期、目的地等數(shù)據(jù)項(xiàng)組成。由于數(shù)據(jù)流是流動(dòng)中的數(shù)據(jù),所以必須有流向,除了與數(shù)據(jù)存儲(chǔ)之間的數(shù)據(jù)流不用命名外,數(shù)據(jù)流應(yīng)該用名詞或名詞短語(yǔ)命名。(2)數(shù)據(jù)源點(diǎn)或終點(diǎn):代表系統(tǒng)之外的實(shí)體,可以是人、物或其他軟件系統(tǒng)。(3)對(duì)數(shù)據(jù)的加工(處理):是對(duì)數(shù)據(jù)進(jìn)行處理的單元,它接收一定的數(shù)據(jù)輸入,對(duì)其進(jìn)行處理,并產(chǎn)生輸出。(4)數(shù)據(jù)存儲(chǔ):表示信息的靜態(tài)存儲(chǔ),可以代表文件、文件的一部分、數(shù)據(jù)庫(kù)的元素等。374.4需求分析階段2.在畫數(shù)據(jù)流圖時(shí)須注意的原則(1)一個(gè)加工的輸出數(shù)據(jù)流不應(yīng)與輸入數(shù)據(jù)流同名,即使它們的組成成分相同。(2)保持?jǐn)?shù)據(jù)守恒,即一個(gè)加工的所有輸出數(shù)據(jù)流中的數(shù)據(jù)必須能從該加工的輸入數(shù)據(jù)流中直接獲得。(3)每個(gè)加工必須既有輸入數(shù)據(jù)流,又有輸出數(shù)據(jù)流。(4)所有的數(shù)據(jù)流必須以一個(gè)加工開(kāi)始,或以一個(gè)加工結(jié)束。384.4需求分析階段3.?dāng)?shù)據(jù)流圖的實(shí)例如圖4.2是一個(gè)飛機(jī)機(jī)票預(yù)訂系統(tǒng)的數(shù)據(jù)流圖,它反映的功能是:旅行社把預(yù)訂機(jī)票的旅客信息
(姓名、年齡、性別、身份證號(hào)碼、旅行時(shí)間、目的地等)輸入機(jī)票預(yù)訂系統(tǒng)。系統(tǒng)為旅客安排航班,打印出取票通知單(附有應(yīng)交的賬款)。旅客在飛機(jī)起飛的前一天憑取票通知單交款取票,系統(tǒng)檢驗(yàn)無(wú)誤,輸出機(jī)票給旅客。394.4需求分析階段404.4需求分析階段4.4.5數(shù)據(jù)字典數(shù)據(jù)字典是系統(tǒng)中各類數(shù)據(jù)描述的集合,是對(duì)數(shù)據(jù)流圖中包含的所有元素的定義的集合。數(shù)據(jù)存放于物理數(shù)據(jù)庫(kù)中,由數(shù)據(jù)庫(kù)管理系統(tǒng)進(jìn)行管理。數(shù)據(jù)字典有助于對(duì)這些數(shù)據(jù)進(jìn)一步管理和控制,為設(shè)計(jì)人員和數(shù)據(jù)庫(kù)管理員在數(shù)據(jù)庫(kù)設(shè)計(jì)、實(shí)現(xiàn)和運(yùn)行階段控制有關(guān)數(shù)據(jù)提供一定的依據(jù)。數(shù)據(jù)字典通常包括數(shù)據(jù)項(xiàng)、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)和處理過(guò)程五個(gè)部分。(1)數(shù)據(jù)項(xiàng)是數(shù)據(jù)的最小組成單位,是不可再分的數(shù)據(jù)單位。包括項(xiàng)名、含義說(shuō)明、別名、數(shù)據(jù)類型、長(zhǎng)度、取值范圍、與其他數(shù)據(jù)項(xiàng)的邏輯關(guān)系等。414.4需求分析階段(2)數(shù)據(jù)結(jié)構(gòu)反映了數(shù)據(jù)之間的組合關(guān)系。一個(gè)數(shù)據(jù)結(jié)構(gòu)可以由若干個(gè)數(shù)據(jù)項(xiàng)組成,也可以由若干個(gè)數(shù)據(jù)結(jié)構(gòu)組成,或由若干個(gè)數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu)混合組成。包括數(shù)據(jù)結(jié)構(gòu)名、說(shuō)明、組成等。(3)數(shù)據(jù)流是數(shù)據(jù)結(jié)構(gòu)在系統(tǒng)內(nèi)傳輸?shù)穆窂?。包括?shù)據(jù)流名、說(shuō)明、數(shù)據(jù)流來(lái)源、數(shù)據(jù)流去向、組成、平均流量、高峰期流量等。(4)數(shù)據(jù)存儲(chǔ)說(shuō)明數(shù)據(jù)流中需要存儲(chǔ)的數(shù)據(jù),包括數(shù)據(jù)存儲(chǔ)名、說(shuō)明、流入數(shù)據(jù)流、流出數(shù)據(jù)流、組成、數(shù)據(jù)量、存取頻度、存取方式等。(5)處理過(guò)程的具體處理邏輯通常用判定表或判定樹(shù)來(lái)描述。包括處理過(guò)程名、說(shuō)明、輸入數(shù)據(jù)流、輸出數(shù)據(jù)流、處理簡(jiǎn)要說(shuō)明等。42第4章數(shù)據(jù)庫(kù)設(shè)計(jì)和規(guī)范化理論4.5概念結(jié)構(gòu)設(shè)計(jì)4.5概念結(jié)構(gòu)設(shè)計(jì)4.5.1概念結(jié)構(gòu)設(shè)計(jì)方法概念結(jié)構(gòu)的設(shè)計(jì)方法通常有以下四種。自頂向下:先定義全局概念結(jié)構(gòu)E-R模型的框架,再逐步細(xì)化。自底向上:先定義各局部應(yīng)用的概念結(jié)構(gòu)E-R模型,然后將它們集成,得到全局概念結(jié)構(gòu)E-R模型。逐步擴(kuò)張:先定義最重要的核心概念E-R模型,然后向外擴(kuò)充,以滾雪球的方式逐步生成其他概念結(jié)構(gòu)E-R模型,直至總體概念結(jié)構(gòu)?;旌喜呗裕涸摲椒ú捎米皂斚蛳潞妥缘紫蛏舷嘟Y(jié)合的方法,先自頂向下定義全局框架,再以它為骨架集成自底向上方法中設(shè)計(jì)的各個(gè)局部概念結(jié)構(gòu)。444.5概念結(jié)構(gòu)設(shè)計(jì)4.5.2E-R設(shè)計(jì)方法的介紹描述概念模型的有力工具是E-R模型。有關(guān)E-R模型的基本概念已經(jīng)在第一章介紹過(guò)了,下面將用E-R模型來(lái)描述概念結(jié)構(gòu)。1.E-R方法的基本術(shù)語(yǔ)E-R方法是“實(shí)體—聯(lián)系方法”(Entity-RelationshipApproach)的簡(jiǎn)稱。它是描述現(xiàn)實(shí)世界概念結(jié)構(gòu)模型的有效方法。用E-R方法建立的概念結(jié)構(gòu)模型稱為E-R模型,或稱為E-R圖。
454.5概念結(jié)構(gòu)設(shè)計(jì)E-R圖的三要素是實(shí)體、屬性和聯(lián)系。
(1)實(shí)體:用矩形框表示,框內(nèi)標(biāo)注實(shí)體名稱。如圖4.3所示。(2)屬性:用橢圓形框表示,框內(nèi)標(biāo)注屬性名稱。如圖4.4所示。
464.5概念結(jié)構(gòu)設(shè)計(jì)(3)聯(lián)系:用菱形框表示,框內(nèi)標(biāo)注實(shí)體之間的關(guān)系。有1:1,1:n和m:n三種聯(lián)系類型。例如系主任領(lǐng)導(dǎo)系,學(xué)生選修課程,教師講授課程,工人生產(chǎn)產(chǎn)品,這里“領(lǐng)導(dǎo)”、“選修”、“講授”、“生產(chǎn)”表示實(shí)體之間的聯(lián)系,可以作為聯(lián)系名稱。聯(lián)系用菱形框表示,框內(nèi)標(biāo)注聯(lián)系名稱。如圖4.5所示。474.5概念結(jié)構(gòu)設(shè)計(jì)2.E-R圖的表示在E-R圖的描述中,用矩形表示實(shí)體,用橢圓表示屬性,用菱形表示聯(lián)系。在各框圖內(nèi)標(biāo)注它們的名稱,它們之間用無(wú)向線連接,表示聯(lián)系時(shí)需在線上標(biāo)明屬于哪種類型的聯(lián)系。如圖4.6所示。484.5概念結(jié)構(gòu)設(shè)計(jì)4.5.3局部概念結(jié)構(gòu)設(shè)計(jì)概念結(jié)構(gòu)設(shè)計(jì)首先要根據(jù)需求分析得到的結(jié)果(數(shù)據(jù)流圖、數(shù)據(jù)字典等)對(duì)現(xiàn)實(shí)世界進(jìn)行抽象,設(shè)計(jì)各個(gè)局部E-R模型。在系統(tǒng)需求分析階段,最后得到了多層數(shù)據(jù)流圖、數(shù)據(jù)字典和系統(tǒng)分析報(bào)告。建立局部E-R模型,就是根據(jù)系統(tǒng)的具體情況,在多層的數(shù)據(jù)流圖中選擇一個(gè)適當(dāng)層次的數(shù)據(jù)流圖,作為設(shè)計(jì)局部E-R圖的出發(fā)點(diǎn),讓這組圖中每一部分對(duì)應(yīng)一個(gè)局部應(yīng)用。在前面選好的某一層次的數(shù)據(jù)流圖中,每個(gè)局部應(yīng)用都對(duì)應(yīng)了一組數(shù)據(jù)流圖,局部應(yīng)用所涉及的數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)字典中?,F(xiàn)在就是要將這些數(shù)據(jù)從數(shù)據(jù)字典中抽取出來(lái),參照數(shù)據(jù)流圖,確定每個(gè)局部應(yīng)用包含哪些實(shí)體,這些實(shí)體又包含哪些屬性,以及實(shí)體之間的聯(lián)系及其聯(lián)系類型。局部E-R模型設(shè)計(jì)的步驟如圖4.7所示。494.5概念結(jié)構(gòu)設(shè)計(jì)504.5概念結(jié)構(gòu)設(shè)計(jì)例題4.2以工廠管理為例,描述局部E-R圖的設(shè)計(jì)。從技術(shù)科獲知,每種產(chǎn)品由多種零件組成,每種零件可用在不同的產(chǎn)品上,每種產(chǎn)品由一定數(shù)量的零件組成。從供應(yīng)科獲知,每種零件使用多種材料制成,每種材料也可應(yīng)用在不同的零件上,每種零件在使用材料上有一個(gè)使用量;每個(gè)倉(cāng)庫(kù)可以存放多種材料,每種材料只能放在一個(gè)倉(cāng)庫(kù)里,每個(gè)倉(cāng)庫(kù)存放材料有一個(gè)庫(kù)存量。根據(jù)E-R圖的建立過(guò)程:第一步,確定實(shí)體類型。產(chǎn)品、零件、材料和倉(cāng)庫(kù)四個(gè)實(shí)體類型。第二步,確定聯(lián)系類型。產(chǎn)品和零件之間是m:n組成的聯(lián)系,零件和材料之間是m:n使用的聯(lián)系,倉(cāng)庫(kù)和材料之間是1:m存放的聯(lián)系。514.5概念結(jié)構(gòu)設(shè)計(jì)第三步,確定實(shí)體類型和聯(lián)系類型的屬性。在技術(shù)科中,產(chǎn)品實(shí)體的屬性有:產(chǎn)品號(hào)、產(chǎn)品名、性能參數(shù)等。在技術(shù)科中,零件實(shí)體的屬性有:零件號(hào)、零件名、價(jià)格等。在供應(yīng)科中,零件實(shí)體的屬性有:零件號(hào)、規(guī)格等。在供應(yīng)科中,材料實(shí)體的屬性有:材料號(hào)、價(jià)格等。在供應(yīng)科中,倉(cāng)庫(kù)實(shí)體的屬性有:倉(cāng)庫(kù)號(hào)、倉(cāng)庫(kù)名、地址等。產(chǎn)品和零件之間m:n組成的聯(lián)系屬性是零件數(shù),零件和材料之間m:n使用的聯(lián)系屬性是使用量,倉(cāng)庫(kù)和材料之間1:m存放的聯(lián)系屬性是庫(kù)存量。第四步,根據(jù)實(shí)體類型和聯(lián)系類型畫出局部E-R圖,如圖4.8、圖4.9所示。第五步,用下劃線標(biāo)注出實(shí)體的碼。524.5概念結(jié)構(gòu)設(shè)計(jì)534.5概念結(jié)構(gòu)設(shè)計(jì)544.5概念結(jié)構(gòu)設(shè)計(jì)4.5.4全局概念結(jié)構(gòu)設(shè)計(jì)全局概念結(jié)構(gòu)設(shè)計(jì)的實(shí)質(zhì)是把局部概念結(jié)構(gòu)設(shè)計(jì)中所有的局部概念模型統(tǒng)一起來(lái),形成一個(gè)完整的系統(tǒng)模型。全局E-R模型的設(shè)計(jì)過(guò)程如圖4.10所示。554.5概念結(jié)構(gòu)設(shè)計(jì)564.5概念結(jié)構(gòu)設(shè)計(jì)全局E-R模型的建立過(guò)程如下:1.合并將局部概念模型整理合并成全局概念模型。(1)先找出具有相同實(shí)體的兩個(gè)E-R圖。(2)以該相同實(shí)體為基準(zhǔn)進(jìn)行合并。(3)如果還有相同實(shí)體的E-R圖,再次合并。(4)這樣一直下去,直到所有的具有相同實(shí)體的局部E-R圖都被合并,從而得到全局的E-R圖。574.5概念結(jié)構(gòu)設(shè)計(jì)2.消除沖突解決各種局部E-R圖之間的沖突問(wèn)題,生成初步E-R圖。(1)屬性沖突屬性值的類型、取值范圍及取值單位不一致造成的沖突。如:生日和年齡,厘米和米,學(xué)生編號(hào)的方式等。(2)結(jié)構(gòu)沖突如在某局部E-R圖中系主任是屬性,而在另一個(gè)局部E-R圖中系主任是實(shí)體等。(3)命名(實(shí)體、屬性、聯(lián)系)沖突同名異義:教室和宿舍均稱為房間;異名同義:如教材和課本。584.5概念結(jié)構(gòu)設(shè)計(jì)將例題4.2中技術(shù)科和供應(yīng)科的兩個(gè)局部E-R圖合并成全局E-R圖。圖4.11是工廠管理中的兩個(gè)局部E-R圖按照相同的實(shí)體“零件”合并后得到的全局E-R圖。594.5概念結(jié)構(gòu)設(shè)計(jì)一個(gè)好的全局E-R模型除了能準(zhǔn)確、全面地反映用戶功能外,還應(yīng)滿足下列條件:實(shí)體類型的個(gè)數(shù)盡可能少、實(shí)體類型所含屬性的個(gè)數(shù)盡可能少、實(shí)體間聯(lián)系的冗余最小。模型優(yōu)化的目的是消除不必要的冗余,使其保持最小冗余度。優(yōu)化全局E-R模型的幾個(gè)原則:(1)實(shí)體類型的合并(2)冗余屬性的消除,如生日和年齡。(3)冗余聯(lián)系的消除604.5概念結(jié)構(gòu)設(shè)計(jì)將圖4.13、圖4.14所示的兩個(gè)局部E-R圖合并成一個(gè)全局E-R圖,并進(jìn)行優(yōu)化。614.5概念結(jié)構(gòu)設(shè)計(jì)624.5概念結(jié)構(gòu)設(shè)計(jì)63局部E-R模型設(shè)計(jì)完成之后,根據(jù)全局E-R模型的建立步驟,將上述兩個(gè)局部E-R模型合并成全局E-R模型如圖4.15所示。4.5概念結(jié)構(gòu)設(shè)計(jì)上例中對(duì)全局E-R模型進(jìn)行優(yōu)化,消除冗余,得到優(yōu)化后的概念模型如圖4.16所示。644.5概念結(jié)構(gòu)設(shè)計(jì)例題4.3一個(gè)圖書借閱信息管理系統(tǒng)有如下信息:每一個(gè)借書人可以借閱多本圖書,每一本圖書可以被多個(gè)借書人借閱;借書人每借閱一本圖書都有一個(gè)借書日期和還書日期;每一個(gè)出版社可以出版多本圖書,每一本圖書只能在一個(gè)出版社出版。其中,借書人的屬性有:借書證號(hào)、姓名、單位、電話;圖書的屬性有:圖書編號(hào)、書名、位置;出版社的屬性有:出版社名、地址、郵編、電話。根據(jù)需求畫出E-R圖,并在E-R圖中注明實(shí)體的屬性、聯(lián)系的類型以及實(shí)體的碼。圖書借閱信息管理系統(tǒng)E-R圖,如圖4.17所示。654.5概念結(jié)構(gòu)設(shè)計(jì)66第4章數(shù)據(jù)庫(kù)設(shè)計(jì)和規(guī)范化理論4.6邏輯結(jié)構(gòu)設(shè)計(jì)4.6邏輯結(jié)構(gòu)設(shè)計(jì)4.6.1邏輯結(jié)構(gòu)設(shè)計(jì)的步驟數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)的設(shè)計(jì)過(guò)程如圖4.18所示。684.6邏輯結(jié)構(gòu)設(shè)計(jì)4.6.2E-R圖向關(guān)系模型的轉(zhuǎn)換原則關(guān)系模型的邏輯結(jié)構(gòu)是一組關(guān)系模式的集合,而E-R圖則是由實(shí)體、實(shí)體的屬性和實(shí)體之間的聯(lián)系三個(gè)要素組成的。所以將E-R圖轉(zhuǎn)換為關(guān)系模型實(shí)際上就是要將實(shí)體、實(shí)體的屬性和實(shí)體之間的聯(lián)系轉(zhuǎn)化為相應(yīng)的關(guān)系模式,下面具體介紹轉(zhuǎn)換的規(guī)則。(1)一個(gè)實(shí)體類型轉(zhuǎn)換為一個(gè)關(guān)系模式。實(shí)體的屬性就是關(guān)系的屬
性,實(shí)體的碼就是關(guān)系的碼。694.6邏輯結(jié)構(gòu)設(shè)計(jì)例題4.4將圖4.19中學(xué)生實(shí)體和課程實(shí)體分別轉(zhuǎn)換成兩個(gè)關(guān)系模式。學(xué)生實(shí)體和課程實(shí)體分別轉(zhuǎn)換成如下兩個(gè)關(guān)系模式:學(xué)生關(guān)系模式(學(xué)號(hào),姓名,年齡,性別),學(xué)號(hào)為關(guān)系模式的主碼。課程關(guān)系模式(課程號(hào),課程名,學(xué)分),課程號(hào)為關(guān)系模式的主碼。704.6邏輯結(jié)構(gòu)設(shè)計(jì)(2)一個(gè)m:n聯(lián)系轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式。與該聯(lián)系相連的各實(shí)體的碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性。而關(guān)系的碼為各實(shí)體碼的組合。例題4.5將圖4.20中學(xué)生選課E-R模型轉(zhuǎn)換為相應(yīng)的關(guān)系模式。714.6邏輯結(jié)構(gòu)設(shè)計(jì)將上述E-R模型轉(zhuǎn)換為相應(yīng)的關(guān)系模式,先將學(xué)生和課程兩個(gè)實(shí)體轉(zhuǎn)換為關(guān)系模式,再將這兩個(gè)實(shí)體間的聯(lián)系轉(zhuǎn)換為關(guān)系模式,如下:學(xué)生關(guān)系模式(學(xué)號(hào),姓名,年齡,性別),學(xué)號(hào)為關(guān)系模式的主碼。課程關(guān)系模式(課程號(hào),課程名,學(xué)分),課程號(hào)為關(guān)系模式的主碼。選課關(guān)系模式(學(xué)號(hào),課程號(hào),成績(jī)),學(xué)號(hào)和課程號(hào)的組合碼為關(guān)系模式的主碼。724.6邏輯結(jié)構(gòu)設(shè)計(jì)(3)一個(gè)1:n聯(lián)系可以轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,也可以與n端對(duì)應(yīng)的關(guān)系模式合并。如果轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,則與該聯(lián)系相連的各實(shí)體的碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性,而該關(guān)系的碼為n端實(shí)體的碼。如果與n端對(duì)應(yīng)的關(guān)系模式合并,則只需要將聯(lián)系本身的屬性和1端實(shí)體的碼加入到n端對(duì)應(yīng)的關(guān)系模式中即可。例題4.6將圖4.21中班導(dǎo)師指導(dǎo)學(xué)生的E-R模型轉(zhuǎn)換為相應(yīng)的關(guān)系模式。734.6邏輯結(jié)構(gòu)設(shè)計(jì)將上述E-R模型轉(zhuǎn)換為相應(yīng)的關(guān)系模式,先將班導(dǎo)師和學(xué)生兩個(gè)實(shí)體轉(zhuǎn)換為關(guān)系模式,再將這兩個(gè)實(shí)體間的聯(lián)系轉(zhuǎn)換為關(guān)系模式,如下:方法一:產(chǎn)生獨(dú)立的關(guān)系模式學(xué)生關(guān)系模式(學(xué)號(hào),姓名,年齡,性別),學(xué)號(hào)為關(guān)系模式的主碼。班導(dǎo)師關(guān)系模式(職工號(hào),姓名,性別,電話),職工號(hào)為關(guān)系模式的主碼。指導(dǎo)關(guān)系模式(學(xué)號(hào),職工號(hào)),學(xué)號(hào)為關(guān)系模式的主碼。方法二:與n端對(duì)應(yīng)的關(guān)系模式合并學(xué)生關(guān)系模式(學(xué)號(hào),姓名,年齡,性別,職工號(hào)),學(xué)號(hào)為關(guān)系模式的主碼。班導(dǎo)師關(guān)系模式(職工號(hào),姓名,性別,電話),職工號(hào)為關(guān)系模式的主碼。744.6邏輯結(jié)構(gòu)設(shè)計(jì)(4)一個(gè)1:1聯(lián)系可以轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,也可以與任意一端對(duì)應(yīng)的關(guān)系模式合并。如果轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,則與該聯(lián)系相連的各實(shí)體的碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性,每個(gè)實(shí)體的碼均是該關(guān)系的候選碼。如果與某一端對(duì)應(yīng)的關(guān)系模式合并,則需要在該關(guān)系模式的屬性中加入另一個(gè)關(guān)系模式的碼和聯(lián)系本身的屬性。754.6邏輯結(jié)構(gòu)設(shè)計(jì)例題4.7將圖4.22中的E-R模型轉(zhuǎn)換為相應(yīng)的關(guān)系模式。將上述E-R模型轉(zhuǎn)換為相應(yīng)的關(guān)系模式,先將班級(jí)和班長(zhǎng)兩個(gè)實(shí)體轉(zhuǎn)換為關(guān)系模式,再將這兩個(gè)實(shí)體間的聯(lián)系轉(zhuǎn)換為關(guān)系模式,如下:764.6邏輯結(jié)構(gòu)設(shè)計(jì)方法一:產(chǎn)生獨(dú)立的關(guān)系模式班級(jí)關(guān)系模式(班級(jí)號(hào),人數(shù)),班級(jí)號(hào)為關(guān)系模式的主碼。班長(zhǎng)關(guān)系模式(學(xué)號(hào),姓名,性別,年齡),學(xué)號(hào)為關(guān)系模式的主碼。任職關(guān)系模式(班級(jí)號(hào),學(xué)號(hào)),班級(jí)號(hào)為關(guān)系模式的主碼,也可以選學(xué)號(hào)作為關(guān)系模式的主碼。方法二:與任意一端對(duì)應(yīng)的關(guān)系模式合并班級(jí)關(guān)系模式(班級(jí)號(hào),人數(shù)),班級(jí)號(hào)為關(guān)系模式的主碼。班長(zhǎng)關(guān)系模式(學(xué)號(hào),姓名,性別,年齡,班級(jí)號(hào)),學(xué)號(hào)為關(guān)系模式的主碼。或者班級(jí)關(guān)系模式(班級(jí)號(hào),人數(shù),學(xué)號(hào)),班級(jí)號(hào)為關(guān)系模式的主碼。班長(zhǎng)關(guān)系模式(學(xué)號(hào),姓名,性別,年齡),學(xué)號(hào)為關(guān)系模式的主碼。774.6邏輯結(jié)構(gòu)設(shè)計(jì)(5)三個(gè)或三個(gè)以上實(shí)體間的一個(gè)多元聯(lián)系轉(zhuǎn)換為一個(gè)關(guān)系模式。與該多元聯(lián)系相連的各實(shí)體的碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性。而關(guān)系的碼為各實(shí)體碼的組合。(6)同一實(shí)體集的實(shí)體間的聯(lián)系,即自聯(lián)系,也可按上述1:1、1:n和m:n三種情況分別處理。(7)具有相同碼的關(guān)系模式可合并。784.6邏輯結(jié)構(gòu)設(shè)計(jì)例題4.8每個(gè)工廠生產(chǎn)多種產(chǎn)品,且每種產(chǎn)品可以在多個(gè)工廠中生產(chǎn),每個(gè)工廠按照固定的計(jì)劃數(shù)量生產(chǎn)產(chǎn)品;每個(gè)工廠聘用多名職工,且每個(gè)職工只能在一個(gè)工廠工作,工廠聘用職工有聘用期和工資。工廠的屬性有工廠編號(hào)、廠名、地址,產(chǎn)品的屬性有產(chǎn)品編號(hào)、產(chǎn)品名、規(guī)格,職工的屬性有職工號(hào)、姓名。(1)根據(jù)需求畫出E-R圖,并在E-R圖中注明實(shí)體的屬性、聯(lián)系的類型以及實(shí)體的碼。(2)將E-R圖轉(zhuǎn)換成關(guān)系模式,并用下畫線標(biāo)出每個(gè)關(guān)系模式的主碼。794.6邏輯結(jié)構(gòu)設(shè)計(jì)例題解析:(1)根據(jù)題意,建立全局E-R圖如圖4.23所示:804.6邏輯結(jié)構(gòu)設(shè)計(jì)(2)將上述E-R圖轉(zhuǎn)換成相應(yīng)的關(guān)系模式為:工廠(工廠編號(hào),廠名,地址)產(chǎn)品(產(chǎn)品編號(hào),產(chǎn)品名,規(guī)格)職工(職工號(hào),姓名,工廠編號(hào),工資,聘用期)生產(chǎn)(工廠編號(hào),產(chǎn)品編號(hào),計(jì)劃數(shù)量)814.6邏輯結(jié)構(gòu)設(shè)計(jì)例題4.9某影院管理中心有如下信息:影院內(nèi)有多個(gè)放映廳,每個(gè)放映廳只屬于一個(gè)影院;每個(gè)放映廳可以放映多部影片,每部影片可以在不同的放映廳放映,每部電影在放映廳放映時(shí)有放映時(shí)間;每個(gè)觀眾可以觀看多部影片,每部影片也可以被多名觀眾觀賞,每個(gè)觀眾觀賞影片時(shí)都有觀看時(shí)間。其中,影院的屬性有:影院名、地址、電話;放映廳的屬性有:廳名、規(guī)模;電影的屬性有:許可證號(hào)、電影名、類型、時(shí)長(zhǎng);觀眾的屬性有:身份證號(hào)、姓名、年齡。(1)根據(jù)需求畫出E-R圖,并在E-R圖中注明實(shí)體的屬性、聯(lián)系的類型以及實(shí)體的碼。(2)將E-R圖轉(zhuǎn)換成關(guān)系模式,并用下畫線標(biāo)出每個(gè)關(guān)系模式的主碼。824.6邏輯結(jié)構(gòu)設(shè)計(jì)例題解析:(1)根據(jù)題意,建立全局E-R圖如圖4.24所示:834.6邏輯結(jié)構(gòu)設(shè)計(jì)(2)將上述E-R圖轉(zhuǎn)換成相應(yīng)的關(guān)系模式為:影院(影院名,地址,電話)放映廳(廳名,規(guī)模,影院名)電影(許可證號(hào),電影名,類型,時(shí)長(zhǎng))觀眾(身份證號(hào),姓名,年齡)放映(廳名,許可證號(hào),放映時(shí)間)觀看(身份證號(hào),許可證號(hào),觀看時(shí)間)844.6邏輯結(jié)構(gòu)設(shè)計(jì)4.6.3數(shù)據(jù)模型的優(yōu)化數(shù)據(jù)模型的優(yōu)化方法為:(1)確定數(shù)據(jù)依賴。(2)對(duì)于各個(gè)關(guān)系模式之間的數(shù)據(jù)依賴進(jìn)行極小化處理,消除冗余的聯(lián)系。
(3)按照數(shù)據(jù)依賴的理論對(duì)關(guān)系模式逐一進(jìn)行分析,考查是否存在部分函數(shù)依賴、傳遞函數(shù)依賴、多值依賴等,確定各關(guān)系模式分別屬于第幾范式。
(4)按照需求分析階段得到的各種應(yīng)用對(duì)數(shù)據(jù)處理的要求,分析對(duì)于這樣的應(yīng)用環(huán)境這些模式是否合適,確定是否要對(duì)它們進(jìn)行合并或分解。
(5)對(duì)關(guān)系模式進(jìn)行必
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- CsPbX3納米晶體的多色調(diào)諧與穩(wěn)定性研究
- “內(nèi)調(diào)脾胃、外通經(jīng)絡(luò)”治療胃腸濕熱型慢性蕁麻疹的臨床研究
- 海東市基本公共服務(wù)均等化研究
- 2025年牛仔繡花短裙項(xiàng)目市場(chǎng)調(diào)查研究報(bào)告
- 浙江省縣參議會(huì)研究(1945-1949)
- 人教版三年級(jí)數(shù)學(xué)綜合復(fù)習(xí)計(jì)劃
- 功能性心肌補(bǔ)片構(gòu)建仿生微環(huán)境及促心梗修復(fù)研究
- 城市幼兒園教師培訓(xùn)幫扶計(jì)劃
- P(Ag)-g-C3N4-FeVO4復(fù)合材料的制備及其光輔助類芬頓降解四環(huán)素
- 段木韓芝子實(shí)體質(zhì)量分析及多糖對(duì)APAP致急性肝損傷的保護(hù)作用
- 《倉(cāng)儲(chǔ)物流管理》課件:優(yōu)化倉(cāng)儲(chǔ)與物流效率
- 商場(chǎng)超市公司章程
- 1與食品經(jīng)營(yíng)相適應(yīng)的操作流程
- 農(nóng)險(xiǎn)理賠培訓(xùn)
- 制藥車間5S標(biāo)準(zhǔn)化管理
- 寫字樓租賃技巧培訓(xùn)
- T-CEEAS 003-2024 養(yǎng)老合規(guī)師職業(yè)技能評(píng)價(jià)標(biāo)準(zhǔn)
- 鋼筋混凝土蓄水池設(shè)計(jì)方案
- 2025年保密知識(shí)試題庫(kù)帶答案(考試直接用)
- 伊斯蘭教完整版本
- 【MOOC】大學(xué)物理-力學(xué)、電磁學(xué)-重慶大學(xué) 中國(guó)大學(xué)慕課MOOC答案
評(píng)論
0/150
提交評(píng)論