




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、第第2章章 數(shù)據(jù)庫設(shè)計實踐及方法數(shù)據(jù)庫設(shè)計實踐及方法 2.1 數(shù)據(jù)庫設(shè)計的實踐根據(jù)數(shù)據(jù)庫設(shè)計的實踐根據(jù)n如何評價一個數(shù)據(jù)庫設(shè)計得能否合理?如何評價一個數(shù)據(jù)庫設(shè)計得能否合理?n人們總結(jié)出衡量數(shù)據(jù)庫的實踐規(guī)范人們總結(jié)出衡量數(shù)據(jù)庫的實踐規(guī)范就是關(guān)系數(shù)就是關(guān)系數(shù)據(jù)庫的規(guī)范化實踐,它也是指點數(shù)據(jù)庫設(shè)計的實踐據(jù)庫的規(guī)范化實踐,它也是指點數(shù)據(jù)庫設(shè)計的實踐根據(jù)。根據(jù)。 n數(shù)據(jù)庫設(shè)計完后,就得到關(guān)系方式的集合,為了評數(shù)據(jù)庫設(shè)計完后,就得到關(guān)系方式的集合,為了評價一個關(guān)系方式集合的優(yōu)劣,經(jīng)常運用范式價一個關(guān)系方式集合的優(yōu)劣,經(jīng)常運用范式Normal Form來進展描畫。來進展描畫。n可以把范式了解為符合某一種級別
2、規(guī)范的關(guān)系方式可以把范式了解為符合某一種級別規(guī)范的關(guān)系方式的集合。目前專家們提出了第一范式到第五范式的的集合。目前專家們提出了第一范式到第五范式的概念,本章只討論前三個范式及第三范式的改良方概念,本章只討論前三個范式及第三范式的改良方式式BCNFBoyce Codd Normal Form范式。范式。n用用R(U,F)來描畫一個關(guān)系,其中:來描畫一個關(guān)系,其中:nR:關(guān)系名;:關(guān)系名;nU:關(guān)系中一切屬性的集合;:關(guān)系中一切屬性的集合;nF:關(guān)系中一切函數(shù)依賴的集合。:關(guān)系中一切函數(shù)依賴的集合。n函數(shù)依賴:如由學(xué)號能獨一確定一個學(xué)生的姓函數(shù)依賴:如由學(xué)號能獨一確定一個學(xué)生的姓名,那么稱名,那么
3、稱“學(xué)號決議學(xué)號決議“姓名姓名 ,也稱:,也稱: “姓姓名函數(shù)依賴于名函數(shù)依賴于“學(xué)號學(xué)號 。記作:學(xué)號。記作:學(xué)號姓名,姓名,即學(xué)號是決議要素。即學(xué)號是決議要素。第一范式第一范式n所謂第一范式所謂第一范式(1NF):是指關(guān)系數(shù)據(jù)表的:是指關(guān)系數(shù)據(jù)表的每一屬性列都是不可分割的根本數(shù)據(jù)項每一屬性列都是不可分割的根本數(shù)據(jù)項,同一列不能有多個含義。同一列不能有多個含義。n1NF是關(guān)系數(shù)據(jù)庫的根本規(guī)那么,不滿足是關(guān)系數(shù)據(jù)庫的根本規(guī)那么,不滿足1NF的要求,就不能稱其為關(guān)系數(shù)據(jù)庫。的要求,就不能稱其為關(guān)系數(shù)據(jù)庫。n第一范式表達了以下三個意思:第一范式表達了以下三個意思:n(1) 一個表中不能存在兩個含義
4、反復(fù)的屬性。一個表中不能存在兩個含義反復(fù)的屬性。n如:員工信息表中有員工編號、義務(wù)證編號及如:員工信息表中有員工編號、義務(wù)證編號及其它屬性,而員工編號、義務(wù)證編號都是獨一其它屬性,而員工編號、義務(wù)證編號都是獨一區(qū)分員工記錄的屬性,且取值一樣,保管一個區(qū)分員工記錄的屬性,且取值一樣,保管一個即可。即可。n(2)一個表中的一列不能是其他列計算的結(jié)果。n例:商品信息表中的n最高售價=建議售價 +浮動價錢n因此保管每條記錄的最高售價,顯然會呵斥數(shù)據(jù)冗余,應(yīng)去掉。商品商品編號編號商品商品名稱名稱產(chǎn)地產(chǎn)地建議建議售價售價浮動浮動價格價格最高最高售價售價n(3)一個表中某一列的取值不能有多個含義。一個表中某
5、一列的取值不能有多個含義。n例商品信息表中,例商品信息表中,“建議售價只能代表一個建議售價只能代表一個幣種的價錢,不可以既表示人民幣價錢又表示幣種的價錢,不可以既表示人民幣價錢又表示美圓價錢。美圓價錢。n假設(shè)一定要標(biāo)出兩個幣種的價錢,可以將假設(shè)一定要標(biāo)出兩個幣種的價錢,可以將“建建議售價分解為兩列:議售價分解為兩列:“人民幣售價和人民幣售價和“美圓美圓售價。售價。第二范式第二范式(2NF):n第二范式第二范式:是指非主屬性完全函數(shù)依賴于主碼是指非主屬性完全函數(shù)依賴于主碼主鍵的屬性組。主鍵的屬性組。 n2NF是在是在1NF的根底上制定的,即設(shè)計數(shù)據(jù)庫的根底上制定的,即設(shè)計數(shù)據(jù)庫時,在思索第二范式
6、的規(guī)定時首先要滿足第一時,在思索第二范式的規(guī)定時首先要滿足第一范式的要求。范式的要求。例如例如n關(guān)系方式關(guān)系方式 S-L-C(學(xué)號學(xué)號,課程號課程號,系系,住處住處,成果成果),并且每個,并且每個系的學(xué)生住在同一個地方,即系決議住處。系的學(xué)生住在同一個地方,即系決議住處。n這里主碼為這里主碼為(學(xué)號學(xué)號,課程號課程號)。關(guān)系方式的函數(shù)依賴如下:。關(guān)系方式的函數(shù)依賴如下:n(學(xué)號學(xué)號,課程號課程號) 成果成果,表示成果完全函數(shù)依賴于表示成果完全函數(shù)依賴于(學(xué)號學(xué)號,課課程號程號) ,即,即(學(xué)號學(xué)號,課程號課程號)完全決議成果。完全決議成果。n學(xué)號學(xué)號系,系, 表示學(xué)號決議系,即系函數(shù)依賴于學(xué)號
7、;表示學(xué)號決議系,即系函數(shù)依賴于學(xué)號; n(學(xué)號學(xué)號,課程號課程號)系,表示系部分函數(shù)依賴于主碼系,表示系部分函數(shù)依賴于主碼(學(xué)號學(xué)號,課程號課程號);n學(xué)號學(xué)號住處,表示學(xué)號決議住處住處,表示學(xué)號決議住處n(學(xué)號學(xué)號,課程號課程號) 住處,住處, 表示住處部分函數(shù)依賴于主碼表示住處部分函數(shù)依賴于主碼(學(xué)號學(xué)號,課程號課程號)n可見非主屬性系、住處并不完全函數(shù)依賴于碼。因此可見非主屬性系、住處并不完全函數(shù)依賴于碼。因此S-L-C(學(xué)號學(xué)號,系系,課程號課程號,住處住處,成果成果) 不符合不符合2NF定義,即定義,即S-L-C不屬于不屬于2NF 。 fpp一個關(guān)系方式不屬于一個關(guān)系方式不屬于2N
8、F,就會產(chǎn)生以下幾個問題:,就會產(chǎn)生以下幾個問題:n插入異常。假假設(shè)要插入一個學(xué)生記錄:學(xué)號插入異常。假假設(shè)要插入一個學(xué)生記錄:學(xué)號=0403030430,系,系=IS,住處,住處=L2,但該生還未選課,即這個學(xué)生無課程號值,但該生還未選課,即這個學(xué)生無課程號值,這樣的元組就插不進這樣的元組就插不進S-L-C中。由于插入元組記錄時必需給中。由于插入元組記錄時必需給定主碼值,而這時主碼值的部分為空主屬性為空,因此學(xué)生定主碼值,而這時主碼值的部分為空主屬性為空,因此學(xué)生的根本信息無法插入。的根本信息無法插入。n刪除異常。假定某個學(xué)生只選一門課,如刪除異常。假定某個學(xué)生只選一門課,如04030304
9、30就選了一門就選了一門課課c01。如今就連。如今就連c01這門課他也不選了,那么這門課他也不選了,那么c01這個數(shù)據(jù)項就這個數(shù)據(jù)項就要刪除。而要刪除。而c01是主屬性,刪除了是主屬性,刪除了c01,整個元組就必需跟著刪除,整個元組就必需跟著刪除,使得使得0403030430的其他信息也被刪除了,從而呵斥刪除異常,即的其他信息也被刪除了,從而呵斥刪除異常,即不應(yīng)刪除的信息也刪除了。不應(yīng)刪除的信息也刪除了。n數(shù)據(jù)冗余度大。如某學(xué)生選數(shù)據(jù)冗余度大。如某學(xué)生選10門課,那么其系和住處信息要反復(fù)門課,那么其系和住處信息要反復(fù)存儲存儲10次。次。n修正復(fù)雜。某個學(xué)生從數(shù)學(xué)系轉(zhuǎn)到計算機科學(xué)系,這本來只需修
10、修正復(fù)雜。某個學(xué)生從數(shù)學(xué)系轉(zhuǎn)到計算機科學(xué)系,這本來只需修正此學(xué)生元組中的系分量。但由于關(guān)系方式正此學(xué)生元組中的系分量。但由于關(guān)系方式S-L-C中還含有學(xué)生中還含有學(xué)生的住處屬性,學(xué)生轉(zhuǎn)系同時還將改動住處,因此還必需修正元組的住處屬性,學(xué)生轉(zhuǎn)系同時還將改動住處,因此還必需修正元組中的住處分量。另外,假設(shè)這個學(xué)生選修了中的住處分量。另外,假設(shè)這個學(xué)生選修了k門課,系和住處反門課,系和住處反復(fù)存儲了復(fù)存儲了k次,不僅存儲冗余度大,而且必需修正次,不僅存儲冗余度大,而且必需修正k個元組中全部個元組中全部系和住處信息,呵斥修正的復(fù)雜化。系和住處信息,呵斥修正的復(fù)雜化。n可見由于系,住處,對主碼不是完全函
11、數(shù)依賴可見由于系,住處,對主碼不是完全函數(shù)依賴,會出現(xiàn)以上問題。處置的方法是將關(guān)系方式會出現(xiàn)以上問題。處置的方法是將關(guān)系方式S-L-C分解為以下兩個關(guān)系方式:分解為以下兩個關(guān)系方式:nSC(學(xué)號,課程號,成果學(xué)號,課程號,成果)nS-L(學(xué)號,系,住處學(xué)號,系,住處)n這樣就使得非主屬性對主碼都是完全函數(shù)依賴這樣就使得非主屬性對主碼都是完全函數(shù)依賴了。符合了。符合2NF。成果成果學(xué)號學(xué)號課程號課程號圖2.2 SC中的函數(shù)依賴學(xué)號學(xué)號系系住處住處圖2.3 S-L中的函數(shù)依賴第三范式第三范式(3NF):n第三范式:指非主屬性不傳送函數(shù)依賴于碼第三范式:指非主屬性不傳送函數(shù)依賴于碼, 即非即非主屬性
12、都直接函數(shù)依賴于碼。主屬性都直接函數(shù)依賴于碼。n3NF是在是在2NF的根底上制定的,假設(shè)要滿足第三范的根底上制定的,假設(shè)要滿足第三范式,必需先滿足第二范式。式,必需先滿足第二范式。n例,圖例,圖2.3中關(guān)系方式中關(guān)系方式S-L存在非主屬性對主碼傳送存在非主屬性對主碼傳送函數(shù)依賴:函數(shù)依賴:n學(xué)號學(xué)號系系n系系住處住處n學(xué)號學(xué)號住處住處n不符合不符合3NF。不符合不符合3NF也會產(chǎn)生以下幾個問題:也會產(chǎn)生以下幾個問題:插入異常:如某系剛成立,當(dāng)前還沒有學(xué)生插入異常:如某系剛成立,當(dāng)前還沒有學(xué)生(無學(xué)無學(xué)號值號值),也就無法插入該系的信息。,也就無法插入該系的信息。刪除異常:假設(shè)某系的學(xué)生全部畢業(yè)
13、了,在刪除刪除異常:假設(shè)某系的學(xué)生全部畢業(yè)了,在刪除學(xué)生信息時,也刪除了系的信息。學(xué)生信息時,也刪除了系的信息。數(shù)據(jù)冗余大:每個學(xué)生都住在同一樓。住處信息數(shù)據(jù)冗余大:每個學(xué)生都住在同一樓。住處信息反復(fù)出現(xiàn)。反復(fù)出現(xiàn)。 修正復(fù)雜:當(dāng)學(xué)校調(diào)整學(xué)生宿舍時,一個系的學(xué)修正復(fù)雜:當(dāng)學(xué)校調(diào)整學(xué)生宿舍時,一個系的學(xué)生都遷到另一個樓,由于每個系的學(xué)生住處信生都遷到另一個樓,由于每個系的學(xué)生住處信息反復(fù)存儲,修正時要反復(fù)修正。息反復(fù)存儲,修正時要反復(fù)修正。SC(學(xué)號,課程號,成果學(xué)號,課程號,成果)S-L(學(xué)號,系,住處學(xué)號,系,住處)處置方法:處置方法:n將關(guān)系將關(guān)系 S-L(學(xué)號,系,住處學(xué)號,系,住處)分
14、解為以下兩個分解為以下兩個關(guān)系:關(guān)系:nS-D(學(xué)號,系學(xué)號,系)nD-L(系,住處系,住處)n分解后的關(guān)系方式分解后的關(guān)系方式S-D與與D-L都屬于都屬于3NF。n同時每個決議要素都是候選碼,所以同時每個決議要素都是候選碼,所以S-D與與D-L也屬于也屬于BCNF。BCNF比比3NF更進了一步。更進了一步。n在在3NF的根底上的根底上,消去一切部分函數(shù)依賴,包括消去一切部分函數(shù)依賴,包括主屬性對不包含它的候選碼的部分函數(shù)依賴主屬性對不包含它的候選碼的部分函數(shù)依賴, 就屬于就屬于BCNF.n關(guān)系規(guī)范化的過程就是將一個非規(guī)范化關(guān)系或低級關(guān)系規(guī)范化的過程就是將一個非規(guī)范化關(guān)系或低級范式關(guān)系分解為多
15、個高級范式關(guān)系的過程。范式關(guān)系分解為多個高級范式關(guān)系的過程。n任何一個非規(guī)范的關(guān)系都可以經(jīng)過分解到達任何一個非規(guī)范的關(guān)系都可以經(jīng)過分解到達3NF,但不一定能到達但不一定能到達BCNF。關(guān)系分解通??梢宰裾請D。關(guān)系分解通??梢宰裾請D2.4所示過程。所示過程。非規(guī)范化關(guān)系非規(guī)范化關(guān)系1NF2NF3NFBCNF把組合屬性分解為不可再分的屬性把組合屬性分解為不可再分的屬性消去非主屬性對主碼的部分函數(shù)依賴消去非主屬性對主碼的部分函數(shù)依賴消去非主屬性對主碼的傳送函數(shù)依賴消去非主屬性對主碼的傳送函數(shù)依賴消去一切部分函數(shù)依賴,包括主屬性消去一切部分函數(shù)依賴,包括主屬性對不包含它的候選碼的部分函數(shù)依賴對不包含它
16、的候選碼的部分函數(shù)依賴圖2.4 關(guān)系分解過程2.2 數(shù)據(jù)庫設(shè)計方法數(shù)據(jù)庫設(shè)計方法n數(shù)據(jù)庫的設(shè)計大約分如下幾步進展:數(shù)據(jù)庫的設(shè)計大約分如下幾步進展:n規(guī)劃階段:系統(tǒng)調(diào)查、可行性分析、制定工程規(guī)劃階段:系統(tǒng)調(diào)查、可行性分析、制定工程開發(fā)方案開發(fā)方案n需求分析:計算機人員系統(tǒng)分析員和用戶需求分析:計算機人員系統(tǒng)分析員和用戶雙方共同搜集數(shù)據(jù)庫所需求的信息內(nèi)容和用戶雙方共同搜集數(shù)據(jù)庫所需求的信息內(nèi)容和用戶對處置的需求。并以需求闡明書的方式確定下對處置的需求。并以需求闡明書的方式確定下來,作為以后系統(tǒng)開發(fā)和系統(tǒng)驗證的根據(jù)。來,作為以后系統(tǒng)開發(fā)和系統(tǒng)驗證的根據(jù)。n概念構(gòu)造設(shè)計概念構(gòu)造設(shè)計n邏輯構(gòu)造設(shè)計邏輯構(gòu)
17、造設(shè)計n物理構(gòu)造設(shè)計物理構(gòu)造設(shè)計n數(shù)據(jù)庫的實現(xiàn)數(shù)據(jù)庫的實現(xiàn)n數(shù)據(jù)庫的運轉(zhuǎn)和維護數(shù)據(jù)庫的運轉(zhuǎn)和維護 2.2.1 規(guī)劃階段規(guī)劃階段n對于數(shù)據(jù)庫系統(tǒng),特別是大型數(shù)據(jù)庫系統(tǒng)或大型信息對于數(shù)據(jù)庫系統(tǒng),特別是大型數(shù)據(jù)庫系統(tǒng)或大型信息系統(tǒng)中的數(shù)據(jù)庫群,規(guī)劃階段是非常必要的。規(guī)劃的系統(tǒng)中的數(shù)據(jù)庫群,規(guī)劃階段是非常必要的。規(guī)劃的好壞將直接影響到整個系統(tǒng)的勝利與否。好壞將直接影響到整個系統(tǒng)的勝利與否。n普通分以下三步:普通分以下三步:n1系統(tǒng)調(diào)查。對企業(yè)組織進展全面的調(diào)查,畫出系統(tǒng)調(diào)查。對企業(yè)組織進展全面的調(diào)查,畫出組織層次圖,以了解企業(yè)的組織機構(gòu)。組織層次圖,以了解企業(yè)的組織機構(gòu)。n2可行性分析。從經(jīng)濟、效益和
18、法律等方面對建可行性分析。從經(jīng)濟、效益和法律等方面對建立數(shù)據(jù)庫的可行性進展分析;然后寫出可行性分析報立數(shù)據(jù)庫的可行性進展分析;然后寫出可行性分析報告;組織專家進展討論其可行性。告;組織專家進展討論其可行性。n3確定數(shù)據(jù)庫系統(tǒng)的總目的和制定工程開發(fā)方案。確定數(shù)據(jù)庫系統(tǒng)的總目的和制定工程開發(fā)方案。在得到?jīng)Q策部門贊同后,就正式進入數(shù)據(jù)庫系統(tǒng)的開在得到?jīng)Q策部門贊同后,就正式進入數(shù)據(jù)庫系統(tǒng)的開發(fā)義務(wù)。發(fā)義務(wù)。2.2.2 需求分析需求分析n數(shù)據(jù)庫的性能是由用戶決議的,所以充分了解用戶需數(shù)據(jù)庫的性能是由用戶決議的,所以充分了解用戶需求是完成數(shù)據(jù)庫設(shè)計的關(guān)鍵。求是完成數(shù)據(jù)庫設(shè)計的關(guān)鍵。n計算機人員系統(tǒng)分析員和
19、用戶雙方共同搜集數(shù)據(jù)計算機人員系統(tǒng)分析員和用戶雙方共同搜集數(shù)據(jù)庫所需求的信息內(nèi)容和用戶對處置的需求。并以需求庫所需求的信息內(nèi)容和用戶對處置的需求。并以需求闡明書的方式確定下來,作為以后系統(tǒng)開發(fā)和系統(tǒng)驗闡明書的方式確定下來,作為以后系統(tǒng)開發(fā)和系統(tǒng)驗證的根據(jù)。證的根據(jù)。n需求義務(wù)可分以下四步完成:需求義務(wù)可分以下四步完成:n分析用戶活動,產(chǎn)生分析用戶活動,產(chǎn)生 用戶活動圖用戶活動圖n確定系統(tǒng)范圍,產(chǎn)生確定系統(tǒng)范圍,產(chǎn)生 系統(tǒng)關(guān)聯(lián)圖系統(tǒng)關(guān)聯(lián)圖 n分析用戶活動所涉及的數(shù)據(jù),產(chǎn)生分析用戶活動所涉及的數(shù)據(jù),產(chǎn)生 數(shù)據(jù)流圖數(shù)據(jù)流圖n分析系統(tǒng)數(shù)據(jù)產(chǎn)生分析系統(tǒng)數(shù)據(jù)產(chǎn)生 數(shù)據(jù)字典數(shù)據(jù)字典n下面經(jīng)過一個簡單的教學(xué)管
20、理系統(tǒng)來闡明這四個步驟下面經(jīng)過一個簡單的教學(xué)管理系統(tǒng)來闡明這四個步驟應(yīng)完成的功能。應(yīng)完成的功能。例例2-1 學(xué)校教學(xué)管理信息系統(tǒng)要完成如下功能學(xué)校教學(xué)管理信息系統(tǒng)要完成如下功能n1教師聘課、教師聘課、 2學(xué)生選課學(xué)生選課n1 分析用戶活動,產(chǎn)生業(yè)務(wù)流程圖分析用戶活動,產(chǎn)生業(yè)務(wù)流程圖n假設(shè)系統(tǒng)比較復(fù)雜,可以從了解用戶日常義務(wù)假設(shè)系統(tǒng)比較復(fù)雜,可以從了解用戶日常義務(wù)流程入手,經(jīng)過座談會、與職員共同義務(wù)、設(shè)流程入手,經(jīng)過座談會、與職員共同義務(wù)、設(shè)計調(diào)查詢卷、查閱歷史業(yè)務(wù)記錄等途徑來搞清計調(diào)查詢卷、查閱歷史業(yè)務(wù)記錄等途徑來搞清業(yè)務(wù)的處置過程。在分析之后畫出業(yè)務(wù)的處置過程。在分析之后畫出“用戶活動用戶活
21、動圖。以以下圖是該學(xué)校的教學(xué)業(yè)務(wù)活動圖。圖。以以下圖是該學(xué)校的教學(xué)業(yè)務(wù)活動圖。任課任課選課選課聘課聘課選課選課打印課程表打印課程表打印聘書打印聘書交給教師交給教師交給學(xué)生交給學(xué)生任課懇求任課懇求選課懇求選課懇求2 確定系統(tǒng)范圍,產(chǎn)生系統(tǒng)關(guān)聯(lián)圖確定系統(tǒng)范圍,產(chǎn)生系統(tǒng)關(guān)聯(lián)圖n這一步是確定系統(tǒng)的邊境,即確定用計算機處這一步是確定系統(tǒng)的邊境,即確定用計算機處置的范圍。置的范圍。n在和用戶經(jīng)過充分協(xié)商的根底上確定計算機所在和用戶經(jīng)過充分協(xié)商的根底上確定計算機所能進展的數(shù)據(jù)處置的范圍,確定哪些義務(wù)由人能進展的數(shù)據(jù)處置的范圍,確定哪些義務(wù)由人工完成,哪些義務(wù)由計算機系統(tǒng)完成,即確定工完成,哪些義務(wù)由計算機系
22、統(tǒng)完成,即確定人機界面。人機界面。n圖中虛線框內(nèi)的部分屬于系統(tǒng)范圍,而框外部圖中虛線框內(nèi)的部分屬于系統(tǒng)范圍,而框外部分由人工處置。分由人工處置。任課任課選課選課聘課聘課選課選課打印課程表打印課程表打印聘書打印聘書交給教師交給教師交給學(xué)生交給學(xué)生任課懇求任課懇求選課懇求選課懇求3 分析用戶活動涉及的數(shù)據(jù),產(chǎn)生數(shù)據(jù)流圖分析用戶活動涉及的數(shù)據(jù),產(chǎn)生數(shù)據(jù)流圖n深化分析用戶的業(yè)務(wù)處置,以數(shù)據(jù)流圖方式表深化分析用戶的業(yè)務(wù)處置,以數(shù)據(jù)流圖方式表示出數(shù)據(jù)的流向和對數(shù)據(jù)所進展的加工。示出數(shù)據(jù)的流向和對數(shù)據(jù)所進展的加工。n數(shù)據(jù)流圖數(shù)據(jù)流圖Data Flow Diagram,簡記為簡記為DFDn是從是從“數(shù)據(jù)和數(shù)據(jù)
23、和“對數(shù)據(jù)的加工兩方面表達數(shù)對數(shù)據(jù)的加工兩方面表達數(shù)據(jù)處置系統(tǒng)義務(wù)過程的一種圖形表示法,具有據(jù)處置系統(tǒng)義務(wù)過程的一種圖形表示法,具有直觀、易于被用戶和軟件人員雙方都能了解的直觀、易于被用戶和軟件人員雙方都能了解的一種表達系統(tǒng)功能的描畫方式。一種表達系統(tǒng)功能的描畫方式。n數(shù)據(jù)流圖由四部分組成:數(shù)據(jù)流、加工、文件、數(shù)據(jù)流圖由四部分組成:數(shù)據(jù)流、加工、文件、源點和終點。源點和終點。數(shù)據(jù)流圖的組成:數(shù)據(jù)流圖的組成:n(1)數(shù)據(jù)流:表示流動著的數(shù)據(jù),它可以是一項數(shù)據(jù),也數(shù)據(jù)流:表示流動著的數(shù)據(jù),它可以是一項數(shù)據(jù),也可以是一組數(shù)據(jù),也可以是表示數(shù)據(jù)文件的存儲操作。數(shù)可以是一組數(shù)據(jù),也可以是表示數(shù)據(jù)文件的存
24、儲操作。數(shù)據(jù)流圖通常用箭頭表示,在它上方標(biāo)明數(shù)據(jù)流的稱號。據(jù)流圖通常用箭頭表示,在它上方標(biāo)明數(shù)據(jù)流的稱號。n(2)加工又稱功能處置:用圓形來表示處置邏輯,圓形內(nèi)加工又稱功能處置:用圓形來表示處置邏輯,圓形內(nèi)部填寫處置的稱號部填寫處置的稱號(如任課、選課等如任課、選課等 )。n(3)文件:用一條橫線表示,旁邊注明文件名或內(nèi)容。文件:用一條橫線表示,旁邊注明文件名或內(nèi)容。n(4)源頭和終點源頭和終點: 用矩形表示,表示數(shù)據(jù)流的開場和終了用矩形表示,表示數(shù)據(jù)流的開場和終了可以省略??梢允÷?。n以下是一個簡單的數(shù)據(jù)流圖以下是一個簡單的數(shù)據(jù)流圖SP1P2EF1F2D1D2D3n數(shù)據(jù)流圖的每個部分都要命名
25、以便區(qū)分。上圖是一數(shù)據(jù)流圖的每個部分都要命名以便區(qū)分。上圖是一個簡單的數(shù)據(jù)流圖個簡單的數(shù)據(jù)流圖,其含義是數(shù)據(jù)流其含義是數(shù)據(jù)流D1從始點從始點S流出,流出,經(jīng)過經(jīng)過P1加工處置變成數(shù)據(jù)流加工處置變成數(shù)據(jù)流D2,P1加工時要調(diào)用加工時要調(diào)用文件文件F1中的內(nèi)容,數(shù)據(jù)流中的內(nèi)容,數(shù)據(jù)流D2再經(jīng)過再經(jīng)過P2加工處置,加工處置,加工處置時要把部分結(jié)果存放到文件加工處置時要把部分結(jié)果存放到文件F2中,同時產(chǎn)中,同時產(chǎn)生數(shù)據(jù)流生數(shù)據(jù)流D3,數(shù)據(jù)流,數(shù)據(jù)流D3流往終點流往終點E。 n如前面討論的學(xué)校教學(xué)管理,最初的數(shù)據(jù)流圖可表示成圖如前面討論的學(xué)校教學(xué)管理,最初的數(shù)據(jù)流圖可表示成圖2-7的樣子。教學(xué)信息管理系
26、統(tǒng)教師學(xué)生教師學(xué)生任課懇求選的樣子。教學(xué)信息管理系統(tǒng)教師學(xué)生教師學(xué)生任課懇求選課懇求聘書課程表圖課懇求聘書課程表圖2-7學(xué)校教學(xué)管理系統(tǒng)的最初數(shù)據(jù)流圖學(xué)校教學(xué)管理系統(tǒng)的最初數(shù)據(jù)流圖教 學(xué) 信教 學(xué) 信息 管 理息 管 理系統(tǒng)系統(tǒng)教師教師學(xué)生學(xué)生教師教師學(xué)生學(xué)生任課懇求任課懇求選課懇求選課懇求聘書聘書課程表課程表圖圖2-7 學(xué)校教學(xué)管理系統(tǒng)的最初數(shù)據(jù)流圖學(xué)校教學(xué)管理系統(tǒng)的最初數(shù)據(jù)流圖教師提出任課懇求,經(jīng)教學(xué)信息管理系統(tǒng)處置后,構(gòu)成聘教師提出任課懇求,經(jīng)教學(xué)信息管理系統(tǒng)處置后,構(gòu)成聘書交給教師。書交給教師。學(xué)生提出選課懇求后,經(jīng)教學(xué)信息管理系統(tǒng)處置后,構(gòu)成學(xué)生提出選課懇求后,經(jīng)教學(xué)信息管理系統(tǒng)處置
27、后,構(gòu)成課程表交給學(xué)生。課程表交給學(xué)生。逐漸細(xì)化:在圖逐漸細(xì)化:在圖2-7根底上,詳細(xì)畫出的系統(tǒng)內(nèi)部各數(shù)據(jù)根底上,詳細(xì)畫出的系統(tǒng)內(nèi)部各數(shù)據(jù)流圖分別如圖流圖分別如圖2-8、圖、圖2-9所示。所示。任課任課打印打印任課懇求任課懇求任課數(shù)據(jù)任課數(shù)據(jù)聘書聘書教 師 根教 師 根本信息本信息圖圖2-8 任課懇求數(shù)據(jù)流圖任課懇求數(shù)據(jù)流圖選課選課打印打印選課懇求選課懇求選課數(shù)據(jù)選課數(shù)據(jù)課程表課程表學(xué) 生 根學(xué) 生 根本信息本信息圖圖2-9 選課懇求數(shù)據(jù)流圖選課懇求數(shù)據(jù)流圖當(dāng)教師提出任課懇求當(dāng)教師提出任課懇求后,系統(tǒng)作任課處置后,系統(tǒng)作任課處置時要用到教師文件的時要用到教師文件的信息,然后產(chǎn)生任課信息,然后產(chǎn)
28、生任課數(shù)據(jù),經(jīng)打印處置后數(shù)據(jù),經(jīng)打印處置后構(gòu)成聘書。構(gòu)成聘書。當(dāng)學(xué)生提出選課懇求后當(dāng)學(xué)生提出選課懇求后,系統(tǒng)作選課處置時要,系統(tǒng)作選課處置時要用到學(xué)生的信息,然后用到學(xué)生的信息,然后產(chǎn)生選課數(shù)據(jù),經(jīng)打印產(chǎn)生選課數(shù)據(jù),經(jīng)打印處置后構(gòu)成課程表。處置后構(gòu)成課程表。4 分析系統(tǒng)數(shù)據(jù),產(chǎn)生數(shù)據(jù)字典分析系統(tǒng)數(shù)據(jù),產(chǎn)生數(shù)據(jù)字典n設(shè)計者必需對數(shù)據(jù)流圖中的每個數(shù)據(jù)流名、文設(shè)計者必需對數(shù)據(jù)流圖中的每個數(shù)據(jù)流名、文件名、加工名都要給出詳細(xì)定義,并用一個條件名、加工名都要給出詳細(xì)定義,并用一個條目來描畫,描畫后的產(chǎn)物就是目來描畫,描畫后的產(chǎn)物就是“數(shù)據(jù)字典。數(shù)據(jù)字典。n數(shù)據(jù)字典和數(shù)據(jù)流圖共同構(gòu)成系統(tǒng)闡明書。數(shù)據(jù)字典和
29、數(shù)據(jù)流圖共同構(gòu)成系統(tǒng)闡明書。n數(shù)據(jù)流的描畫:也就是定義數(shù)據(jù)流的組成,每數(shù)據(jù)流的描畫:也就是定義數(shù)據(jù)流的組成,每個數(shù)據(jù)流通常包括假設(shè)干個數(shù)據(jù)項。下面是對個數(shù)據(jù)流通常包括假設(shè)干個數(shù)據(jù)項。下面是對圖圖2-8中的幾個數(shù)據(jù)流的描畫:中的幾個數(shù)據(jù)流的描畫:n任課懇求任課懇求=教師號教師號+教師姓名教師姓名+課程號課程號+課程稱號課程稱號+總學(xué)時總學(xué)時+班級數(shù)班級數(shù)n聘書聘書=教師姓名教師姓名+課程稱號課程稱號+上課時間上課時間+上課地點上課地點n文件的描畫n教師=教師編號+姓名+性別+年齡+系名n數(shù)據(jù)項的描畫n是指對數(shù)據(jù)項進展定義,普通包括對數(shù)據(jù)項的稱號、類型、長度、取值范圍進展定義。如對“學(xué)生文件中的數(shù)
30、據(jù)項,可按表2-8進展描畫。n 表2-8 對學(xué)生數(shù)據(jù)項的描畫數(shù)據(jù)項名數(shù)據(jù)項名類型類型長度(字節(jié))長度(字節(jié))取值范圍取值范圍學(xué)號學(xué)號字符字符1010姓名姓名字符字符1010性別性別字符字符2 2“男男”或或“女女”年齡年齡正整數(shù)正整數(shù)4 415153535系名系名字符字符2020n加工的描畫:加工的描畫:n用來對實現(xiàn)加工的處置過程進展描畫和定義,包括過程名、用來對實現(xiàn)加工的處置過程進展描畫和定義,包括過程名、過程闡明、輸入輸出和過程功能闡明等。如對學(xué)生選課處過程闡明、輸入輸出和過程功能闡明等。如對學(xué)生選課處置過程描畫如下:置過程描畫如下:n過程稱號:選課。過程稱號:選課。n過程闡明:主要闡明該
31、處置過程的功能及處置要求。過程闡明:主要闡明該處置過程的功能及處置要求。n 例如:學(xué)生根據(jù)本人的需求選課。例如:學(xué)生根據(jù)本人的需求選課。n輸入:執(zhí)行該處置過程需求輸入的數(shù)據(jù)。輸入:執(zhí)行該處置過程需求輸入的數(shù)據(jù)。n 例如:選課懇求例如:選課懇求 和和 學(xué)生根本信息。學(xué)生根本信息。n輸出:執(zhí)行該處置過程后輸出的數(shù)據(jù)。輸出:執(zhí)行該處置過程后輸出的數(shù)據(jù)。n 例如:課程表。例如:課程表。n至此,需求分析階段曾經(jīng)完成,曾經(jīng)得到了由至此,需求分析階段曾經(jīng)完成,曾經(jīng)得到了由“數(shù)據(jù)流圖數(shù)據(jù)流圖和和“數(shù)據(jù)字典組成的數(shù)據(jù)字典組成的“系統(tǒng)闡明書,根本上處置了做系統(tǒng)闡明書,根本上處置了做什么的問題,在下一階段將處置什么
32、的問題,在下一階段將處置“怎樣做的問題。怎樣做的問題。2.2.3 概念構(gòu)造設(shè)計概念構(gòu)造設(shè)計E-R模型模型n1. E-R圖的組成要素及其畫法圖的組成要素及其畫法nE-R圖有三個根本要素:實體、聯(lián)絡(luò)、屬性圖有三個根本要素:實體、聯(lián)絡(luò)、屬性n其表示方法如下:其表示方法如下:實體名實體名屬性名屬性名聯(lián)絡(luò)名聯(lián)絡(luò)名E-R圖的畫法:圖的畫法:把相互有聯(lián)絡(luò)的實體把相互有聯(lián)絡(luò)的實體(矩形矩形)經(jīng)過聯(lián)絡(luò)經(jīng)過聯(lián)絡(luò)(菱形菱形)銜接起銜接起來,再把實體的屬性來,再把實體的屬性(橢圓框橢圓框)連到實體上。連到實體上。2. 實體間不同聯(lián)絡(luò)情況的實體間不同聯(lián)絡(luò)情況的E-R圖圖n根據(jù)數(shù)據(jù)的復(fù)雜程度不同,實體間的聯(lián)絡(luò)根本有以根據(jù)
33、數(shù)據(jù)的復(fù)雜程度不同,實體間的聯(lián)絡(luò)根本有以下三種:下三種:n一對一一對一(1 : 1)、一對多、一對多(1 : n)、多對多、多對多(n : m)n例例1 兩個實體集之間的一對一兩個實體集之間的一對一(1 : 1)聯(lián)絡(luò)的繪制聯(lián)絡(luò)的繪制n 設(shè)某學(xué)院有假設(shè)干個教研室,每個教研室只需一設(shè)某學(xué)院有假設(shè)干個教研室,每個教研室只需一個主任,那么主任和教研室之間就是一對一的關(guān)系。個主任,那么主任和教研室之間就是一對一的關(guān)系。主任和教研室的屬性分別如下:主任和教研室的屬性分別如下:n主任:編號、姓名、年齡、學(xué)歷主任:編號、姓名、年齡、學(xué)歷n教研室:教研室編號、教研室名教研室:教研室編號、教研室名n主任和教研室之
34、間的聯(lián)絡(luò)是主任和教研室之間的聯(lián)絡(luò)是“管理關(guān)系,這個管理關(guān)系,這個“管管理用一個屬性理用一個屬性“任職時間來描畫任職時間來描畫描畫主任和教研室之間的信息關(guān)系的描畫主任和教研室之間的信息關(guān)系的E-R圖:圖:主任主任教研室教研室管理管理編號編號姓名姓名年齡年齡學(xué)歷學(xué)歷教研室編號教研室編號教研室名教研室名任職時間任職時間11例例2 兩個實體集之間的一對多的聯(lián)絡(luò)的繪制兩個實體集之間的一對多的聯(lián)絡(luò)的繪制n假設(shè)某倉庫管理系統(tǒng)中,有兩個實體集:倉庫、假設(shè)某倉庫管理系統(tǒng)中,有兩個實體集:倉庫、商品,且規(guī)定一類商品只能存放在一個倉庫中,商品,且規(guī)定一類商品只能存放在一個倉庫中,每個倉庫可以存放多種商品。每個倉庫可
35、以存放多種商品。n倉庫和商品之間是一對多的聯(lián)絡(luò)。倉庫和商品之間是一對多的聯(lián)絡(luò)。n屬性如下屬性如下n倉庫:倉庫號、地點、面積倉庫:倉庫號、地點、面積n商品:商品號、商品名、價錢商品:商品號、商品名、價錢n兩實體間是兩實體間是“存放的聯(lián)絡(luò)存放的聯(lián)絡(luò),并反映存放商品的并反映存放商品的數(shù)量。數(shù)量。描畫倉庫和商品之間的信息關(guān)系的描畫倉庫和商品之間的信息關(guān)系的E-R圖:圖:倉庫倉庫商品商品存放存放倉庫號倉庫號地點地點面積面積商品號商品號商品名商品名數(shù)量數(shù)量1n價錢價錢例例3. 兩個實體集之間的多對多的聯(lián)絡(luò)的繪制兩個實體集之間的多對多的聯(lián)絡(luò)的繪制n設(shè)某教務(wù)管理系統(tǒng)中,一個教師可以講述多門設(shè)某教務(wù)管理系統(tǒng)中,
36、一個教師可以講述多門課,一門課可以有多個教師講授,那么教師和課,一門課可以有多個教師講授,那么教師和課程之間是多對多的聯(lián)絡(luò)。課程之間是多對多的聯(lián)絡(luò)。n教師和課程兩實體屬性如下:教師和課程兩實體屬性如下:n教師:教師編號、教師姓名、職稱教師:教師編號、教師姓名、職稱n課程:課程編號、課程名、學(xué)分課程:課程編號、課程名、學(xué)分n兩實體間是兩實體間是“講授的聯(lián)絡(luò)講授的聯(lián)絡(luò),另外在另外在“講授聯(lián)講授聯(lián)絡(luò)中,要反映授課質(zhì)量。絡(luò)中,要反映授課質(zhì)量。描畫教師和課程之間的信息關(guān)系的描畫教師和課程之間的信息關(guān)系的E-R圖:圖:教師教師課程課程講授講授教師編號教師編號教師姓名教師姓名職稱職稱課程號課程號課程名課程名
37、質(zhì)量質(zhì)量mn學(xué)分學(xué)分n假照實體的屬性太多,那么可以將實體及其屬性單假照實體的屬性太多,那么可以將實體及其屬性單獨畫圖,在獨畫圖,在E-R圖中只畫實體及其聯(lián)絡(luò)。圖中只畫實體及其聯(lián)絡(luò)。n如例如例3可以這樣畫:可以這樣畫:教師教師教師編號教師編號教師姓名教師姓名職稱職稱課程課程課程編號課程編號課程名課程名學(xué)時學(xué)時教師教師課程課程講授講授質(zhì)量質(zhì)量mn(a)實體屬性圖實體屬性圖(b) E-R 圖圖E-R圖的設(shè)計方法圖的設(shè)計方法n設(shè)計設(shè)計E-R圖普通經(jīng)過以下兩個階段:圖普通經(jīng)過以下兩個階段:n1畫出每一用戶的部分畫出每一用戶的部分E-R圖,確定該圖,確定該用戶的實體、屬性和聯(lián)絡(luò)。用戶的實體、屬性和聯(lián)絡(luò)。n
38、2綜合部分綜合部分E-R圖,生成總體圖,生成總體E-R圖。在圖。在總體總體E-R圖中,同名的實體只能出現(xiàn)一次。圖中,同名的實體只能出現(xiàn)一次。n留意:一個系統(tǒng)留意:一個系統(tǒng)E-R圖不是獨一的,強調(diào)不圖不是獨一的,強調(diào)不同的側(cè)面畫出的同的側(cè)面畫出的E-R圖可以有很大不同。圖可以有很大不同。n1 部分部分E-R模型的設(shè)計模型的設(shè)計n根據(jù)數(shù)據(jù)流圖和數(shù)據(jù)字典的相關(guān)內(nèi)容,確定根據(jù)數(shù)據(jù)流圖和數(shù)據(jù)字典的相關(guān)內(nèi)容,確定實體,及其屬性、實體之間的聯(lián)絡(luò)。實體,及其屬性、實體之間的聯(lián)絡(luò)。n例例2-2 設(shè)計教學(xué)信息管理系統(tǒng)的部分設(shè)計教學(xué)信息管理系統(tǒng)的部分E-R圖。圖。 如圖如圖2-10至圖至圖2-13所示。所示。教師教
39、師教師號教師號教師姓名教師姓名姓別姓別職稱職稱號碼號碼圖圖2-11 教師實體及其屬性教師實體及其屬性學(xué)生學(xué)生學(xué)號學(xué)號姓名姓名姓別姓別年齡年齡系名系名圖圖2-10 學(xué)生實體及其屬性學(xué)生實體及其屬性課程課程課程號課程號課程名課程名先修課號先修課號學(xué)分學(xué)分圖圖2-13 教師任課的部分教師任課的部分E-R圖圖任課任課教師教師課程課程授課類別授課類別班數(shù)班數(shù)mn學(xué)期學(xué)期學(xué)生學(xué)生課程課程選修選修成果成果mn圖圖2-12 學(xué)生選修課程的部分學(xué)生選修課程的部分E-R圖圖2 總體總體E-R模型的設(shè)計模型的設(shè)計n綜合部分綜合部分E-R圖,生成總體圖,生成總體E-R圖。在總體圖。在總體E-R圖中,同名的實體只能出現(xiàn)
40、一次。圖中,同名的實體只能出現(xiàn)一次。n例例2-3 將上例的部分將上例的部分E-R圖圖2-12、2-13,合并,合并成總體成總體E-R圖。圖。選修選修學(xué)生學(xué)生課程課程mn教師教師任課任課pq圖圖2-14 總體總體E-R圖圖2.2.4 邏輯構(gòu)造設(shè)計邏輯構(gòu)造設(shè)計邏輯構(gòu)造設(shè)計的本質(zhì)是把邏輯構(gòu)造設(shè)計的本質(zhì)是把E-R圖轉(zhuǎn)換為詳細(xì)的圖轉(zhuǎn)換為詳細(xì)的DBMS支持的數(shù)據(jù)模型支持的數(shù)據(jù)模型關(guān)系模型。關(guān)系模型。把把E-R圖轉(zhuǎn)換為關(guān)系模型的方法,通常分為初步設(shè)圖轉(zhuǎn)換為關(guān)系模型的方法,通常分為初步設(shè)計和優(yōu)化設(shè)計兩步進展。計和優(yōu)化設(shè)計兩步進展。初步設(shè)計初步設(shè)計根據(jù)轉(zhuǎn)換規(guī)那么,把根據(jù)轉(zhuǎn)換規(guī)那么,把E-R圖轉(zhuǎn)換為關(guān)圖轉(zhuǎn)換為關(guān)系
41、模型系模型優(yōu)化設(shè)計優(yōu)化設(shè)計對方式進展調(diào)整和改善對方式進展調(diào)整和改善1 E-R圖轉(zhuǎn)換為關(guān)系模型遵照的普通規(guī)那么圖轉(zhuǎn)換為關(guān)系模型遵照的普通規(guī)那么(1)對于對于E-R圖的每個實體集轉(zhuǎn)換為一個關(guān)系模型圖的每個實體集轉(zhuǎn)換為一個關(guān)系模型(對對應(yīng)一個表應(yīng)一個表),其中包括實體的一切屬性,并確定,其中包括實體的一切屬性,并確定某個屬性或幾個屬性組作為主碼主鍵。某個屬性或幾個屬性組作為主碼主鍵。(2)對各種對各種“聯(lián)絡(luò)進展轉(zhuǎn)換的規(guī)那么:聯(lián)絡(luò)進展轉(zhuǎn)換的規(guī)那么:n對于對于E-R圖中的圖中的 “聯(lián)絡(luò),要根據(jù)不同的聯(lián)絡(luò)方式,采取不聯(lián)絡(luò),要根據(jù)不同的聯(lián)絡(luò)方式,采取不同的手段加以實現(xiàn)。同的手段加以實現(xiàn)。n多對多多對多(m
42、: n)聯(lián)絡(luò)的轉(zhuǎn)換聯(lián)絡(luò)的轉(zhuǎn)換n對于這種聯(lián)絡(luò),必需對對于這種聯(lián)絡(luò),必需對“聯(lián)絡(luò)單獨建立一個關(guān)系表,聯(lián)絡(luò)單獨建立一個關(guān)系表,用來聯(lián)絡(luò)雙方實體集,該關(guān)系中要包含雙方實體集的主碼,用來聯(lián)絡(luò)雙方實體集,該關(guān)系中要包含雙方實體集的主碼,假設(shè)假設(shè)“聯(lián)絡(luò)本身有屬性,也要納入該關(guān)系中。而該關(guān)系的聯(lián)絡(luò)本身有屬性,也要納入該關(guān)系中。而該關(guān)系的主碼為各實體主碼的組合。主碼為各實體主碼的組合。 n例例2-4 將圖將圖2-12轉(zhuǎn)換成關(guān)系方式轉(zhuǎn)換成關(guān)系方式n學(xué)生學(xué)號,姓名,性別,年齡,系,學(xué)生學(xué)號,姓名,性別,年齡,系, 主碼是學(xué)號。主碼是學(xué)號。n課程課程號,課程稱號,先修課號,學(xué)分,主碼是課課程課程號,課程稱號,先修課號
43、,學(xué)分,主碼是課程號。程號。n 將將m:n(多對多多對多)的聯(lián)絡(luò)轉(zhuǎn)換為獨立的關(guān)系方式:的聯(lián)絡(luò)轉(zhuǎn)換為獨立的關(guān)系方式:n選修學(xué)號,課程號,成果,主碼是學(xué)生實體的主碼選修學(xué)號,課程號,成果,主碼是學(xué)生實體的主碼學(xué)號和課程實體的主碼課程號的組合。學(xué)號和課程實體的主碼課程號的組合。n一對多一對多(1 : n)聯(lián)絡(luò)的轉(zhuǎn)換:聯(lián)絡(luò)的轉(zhuǎn)換:n方法方法1:可將:可將“1方實體集的主碼,納入方實體集的主碼,納入“n方實方實體集關(guān)系體集關(guān)系(表表)中作為外碼,同時把中作為外碼,同時把“聯(lián)絡(luò)的屬性也聯(lián)絡(luò)的屬性也一并納入一并納入“n方關(guān)系中。方關(guān)系中。n方法方法2:對:對“聯(lián)絡(luò)單獨建立一個關(guān)系,該關(guān)系中要聯(lián)絡(luò)單獨建立一個
44、關(guān)系,該關(guān)系中要包含雙方實體集的主碼,假設(shè)包含雙方實體集的主碼,假設(shè)“聯(lián)絡(luò)有屬性,也聯(lián)絡(luò)有屬性,也要納入該關(guān)系中。主碼是要納入該關(guān)系中。主碼是n端實體的主碼端實體的主碼.n對例對例2的倉庫與商品的的倉庫與商品的E-R圖圖1 : nn方法方法1:可轉(zhuǎn)換為以下兩個關(guān)系方式:可轉(zhuǎn)換為以下兩個關(guān)系方式(帶下劃線的紅帶下劃線的紅色屬性表示主碼,蘭色表示外碼色屬性表示主碼,蘭色表示外碼):n倉庫倉庫號、地點、面積倉庫倉庫號、地點、面積n商品商品號、商品名、價錢、數(shù)量、倉庫號商品商品號、商品名、價錢、數(shù)量、倉庫號外碼外碼聯(lián)絡(luò)的屬性聯(lián)絡(luò)的屬性n方法方法2:將:將“存放聯(lián)絡(luò)轉(zhuǎn)換為一個獨立的關(guān)系存放聯(lián)絡(luò)轉(zhuǎn)換為一個
45、獨立的關(guān)系方式方式 n倉庫倉庫號、地點、面積倉庫倉庫號、地點、面積n商品商品號、商品名、價錢商品商品號、商品名、價錢n存放商品號、倉庫號、數(shù)量存放商品號、倉庫號、數(shù)量,主碼是主碼是n端實端實體的碼,即商品號。體的碼,即商品號。 一對一一對一(1 : 1)聯(lián)絡(luò)的轉(zhuǎn)換有三種方法:聯(lián)絡(luò)的轉(zhuǎn)換有三種方法:n方法方法1. n建立第三個關(guān)系,關(guān)系中包含兩個實體集的主建立第三個關(guān)系,關(guān)系中包含兩個實體集的主碼,假設(shè)聯(lián)絡(luò)有屬性,也一并參與。碼,假設(shè)聯(lián)絡(luò)有屬性,也一并參與。n方法方法2. n把把B實體集的主碼參與到實體集的主碼參與到A實體集對應(yīng)的關(guān)系實體集對應(yīng)的關(guān)系中,假設(shè)聯(lián)絡(luò)有屬性,也一并參與。中,假設(shè)聯(lián)絡(luò)有
46、屬性,也一并參與。n方法方法3.n把把A實體集的主碼參與到實體集的主碼參與到B實體集對應(yīng)的關(guān)系實體集對應(yīng)的關(guān)系中,假設(shè)聯(lián)絡(luò)有屬性,也一并參與。中,假設(shè)聯(lián)絡(luò)有屬性,也一并參與。例例2-6 將圖將圖2-16轉(zhuǎn)換成關(guān)系方式。轉(zhuǎn)換成關(guān)系方式。n方法方法1、 “任職聯(lián)絡(luò)轉(zhuǎn)換為一個獨立的關(guān)系方式:任職聯(lián)絡(luò)轉(zhuǎn)換為一個獨立的關(guān)系方式:n班長班長學(xué)號,姓名,性別,年齡,系班長班長學(xué)號,姓名,性別,年齡,系n班級班號,人數(shù)班級班號,人數(shù)n任職班長學(xué)號,班號,任職時間任職班長學(xué)號,班號,任職時間 主碼是班長學(xué)號主碼是班長學(xué)號或班號?;虬嗵枴方法方法2、將、將“班級關(guān)系中的主碼及聯(lián)絡(luò)的屬性納入班級關(guān)系中的主碼及聯(lián)絡(luò)
47、的屬性納入“班長的關(guān)系方式中:班長的關(guān)系方式中:n班長班長學(xué)號,姓名,性別,年齡,系,班號,任班長班長學(xué)號,姓名,性別,年齡,系,班號,任職時間,職時間, 主碼是班長學(xué)號。主碼是班長學(xué)號。n班級班號,人數(shù),主碼是班號。班級班號,人數(shù),主碼是班號。班長班長班級班級11圖圖2-16 班長任職班長任職E-R圖圖任職時間任職時間任職任職n方法方法3、將、將“班長關(guān)系中的主碼及聯(lián)絡(luò)的屬性班長關(guān)系中的主碼及聯(lián)絡(luò)的屬性納入納入“班級的關(guān)系方式中:班級的關(guān)系方式中: n班長班長學(xué)號,姓名,性別,年齡,系,班長班長學(xué)號,姓名,性別,年齡,系, 主碼是學(xué)號。主碼是學(xué)號。n班級班號,人數(shù),班長學(xué)號,任職時間,班級班
48、號,人數(shù),班長學(xué)號,任職時間,主碼是班號。主碼是班號。多元聯(lián)絡(luò)的轉(zhuǎn)換:多元聯(lián)絡(luò)的轉(zhuǎn)換:n三個或三個以上實體間的多元聯(lián)絡(luò)可以轉(zhuǎn)換為三個或三個以上實體間的多元聯(lián)絡(luò)可以轉(zhuǎn)換為一個單獨的關(guān)系方式。與該多元聯(lián)絡(luò)相連的各一個單獨的關(guān)系方式。與該多元聯(lián)絡(luò)相連的各實體的主碼以及聯(lián)絡(luò)本身的屬性均轉(zhuǎn)換為此關(guān)實體的主碼以及聯(lián)絡(luò)本身的屬性均轉(zhuǎn)換為此關(guān)系的屬性,而此關(guān)系的主碼為各實體碼的組合。系的屬性,而此關(guān)系的主碼為各實體碼的組合。n例例2-7 將圖將圖2-17 轉(zhuǎn)換成關(guān)系方式轉(zhuǎn)換成關(guān)系方式售貨員售貨員顧客顧客商品商品銷售銷售mnp圖圖2-17 售貨員、顧客和商品三個實體之間銷售聯(lián)絡(luò)售貨員、顧客和商品三個實體之間銷售
49、聯(lián)絡(luò)E-R圖圖銷售量銷售量n各實體的屬性如下:各實體的屬性如下:n售貨員:售貨員編號、姓名、性別、年齡、工齡售貨員:售貨員編號、姓名、性別、年齡、工齡n顧客顧客 :顧客編號、顧客稱號、住址、:顧客編號、顧客稱號、住址、n商品商品 :商品編號、商品稱號、價錢、進貨時間:商品編號、商品稱號、價錢、進貨時間n轉(zhuǎn)換以后的關(guān)系方式如下:轉(zhuǎn)換以后的關(guān)系方式如下:n售貨員售貨員編號,姓名,性別,年齡,工齡售貨員售貨員編號,姓名,性別,年齡,工齡n顧客顧客編號、顧客稱號、住址、顧客顧客編號、顧客稱號、住址、n商品商品編號、商品稱號、價錢、進貨時間。商品商品編號、商品稱號、價錢、進貨時間。n銷售售貨員編號,顧客
50、編號,商品編號,銷售銷售售貨員編號,顧客編號,商品編號,銷售量,主碼為:售貨員編號,顧客編號,商品編號量,主碼為:售貨員編號,顧客編號,商品編號這三個屬性的組合。這三個屬性的組合。例例2-8. 將圖將圖2-14的全局的全局E-R圖轉(zhuǎn)換為關(guān)系模型。圖轉(zhuǎn)換為關(guān)系模型。n根據(jù)上述規(guī)那么,轉(zhuǎn)換的方法如下:根據(jù)上述規(guī)那么,轉(zhuǎn)換的方法如下:n(1) 將實體轉(zhuǎn)換為獨立的關(guān)系方式:將實體轉(zhuǎn)換為獨立的關(guān)系方式:n學(xué)生學(xué)號,姓名,性別,年齡,系學(xué)生學(xué)號,姓名,性別,年齡,系n教師教師號,性名,性別,職稱,號碼教師教師號,性名,性別,職稱,號碼n課程課程號,課程稱號,學(xué)時,學(xué)分課程課程號,課程稱號,學(xué)時,學(xué)分n(2
51、) 將多對多聯(lián)絡(luò)轉(zhuǎn)換為獨立的關(guān)系方式:將多對多聯(lián)絡(luò)轉(zhuǎn)換為獨立的關(guān)系方式:n選修學(xué)號,課程號,成果,主碼是學(xué)號,課選修學(xué)號,課程號,成果,主碼是學(xué)號,課程號兩個屬性的組合。程號兩個屬性的組合。n任課教師號,課程號,學(xué)期,授課類別,班數(shù)任課教師號,課程號,學(xué)期,授課類別,班數(shù)主碼是教師號,課程號,學(xué)期三個屬性的組合。主碼是教師號,課程號,學(xué)期三個屬性的組合。n 每個關(guān)系模型就對應(yīng)一個表了每個關(guān)系模型就對應(yīng)一個表了2 優(yōu)化優(yōu)化n所謂優(yōu)化,就是從提高效率的角度出發(fā),根據(jù)所謂優(yōu)化,就是從提高效率的角度出發(fā),根據(jù)詳細(xì)情況,對方式構(gòu)造作進一步伐整和改善詳細(xì)情況,對方式構(gòu)造作進一步伐整和改善.n普通用三方面目
52、的來衡量:普通用三方面目的來衡量:n單位時間內(nèi)所訪問的邏輯記錄個數(shù)要少;單位時間內(nèi)所訪問的邏輯記錄個數(shù)要少;n單位時間內(nèi)數(shù)據(jù)傳送量要少;單位時間內(nèi)數(shù)據(jù)傳送量要少;n系統(tǒng)占用的存儲空間盡量要少。系統(tǒng)占用的存儲空間盡量要少。n雖然可以經(jīng)過計算,對性能進展預(yù)測,但是實雖然可以經(jīng)過計算,對性能進展預(yù)測,但是實意圖義不一定很大,通常采取定性判別方法,意圖義不一定很大,通常采取定性判別方法,估計不同設(shè)計方案的性能優(yōu)劣。估計不同設(shè)計方案的性能優(yōu)劣。n最常用的優(yōu)化方法就是經(jīng)過對記錄進展垂直或最常用的優(yōu)化方法就是經(jīng)過對記錄進展垂直或程度分解,改善性能。下面舉例闡明。程度分解,改善性能。下面舉例闡明。n例例2-9
53、 要查詢學(xué)生信息時,經(jīng)常對在校生進展查詢,要查詢學(xué)生信息時,經(jīng)常對在校生進展查詢,但有時也查詢離校生的相關(guān)信息,為改善性能,使但有時也查詢離校生的相關(guān)信息,為改善性能,使得單位時間內(nèi)訪問邏輯記錄的個數(shù)盡量少,請給出得單位時間內(nèi)訪問邏輯記錄的個數(shù)盡量少,請給出一個分解方法。一個分解方法。n原來的學(xué)生的關(guān)系為:原來的學(xué)生的關(guān)系為:n學(xué)生學(xué)號,姓名,性別,年齡,系學(xué)生學(xué)號,姓名,性別,年齡,系n可對其進展程度分解,使其成為兩個關(guān)系,一個關(guān)可對其進展程度分解,使其成為兩個關(guān)系,一個關(guān)系用來存放在校生的信息,另一個關(guān)系用來存放離系用來存放在校生的信息,另一個關(guān)系用來存放離校生的信息,如下:校生的信息,如
54、下:n在校學(xué)生學(xué)號,姓名,性別,年齡,系在校學(xué)生學(xué)號,姓名,性別,年齡,系n離校學(xué)生學(xué)號,姓名,性別,年齡,系離校學(xué)生學(xué)號,姓名,性別,年齡,系n這樣,當(dāng)查詢在校生或離校生的信息時,就只需在這樣,當(dāng)查詢在校生或離校生的信息時,就只需在相應(yīng)的關(guān)系中查找,顯然單位時間內(nèi)訪問的記錄數(shù)相應(yīng)的關(guān)系中查找,顯然單位時間內(nèi)訪問的記錄數(shù)量大大減少了。量大大減少了。2.2.5 物理構(gòu)造設(shè)計物理構(gòu)造設(shè)計 數(shù)據(jù)庫在實際的物理設(shè)備上的存儲構(gòu)造和存取方法數(shù)據(jù)庫在實際的物理設(shè)備上的存儲構(gòu)造和存取方法稱為數(shù)據(jù)庫的物理構(gòu)造,數(shù)據(jù)庫的物理構(gòu)造與稱為數(shù)據(jù)庫的物理構(gòu)造,數(shù)據(jù)庫的物理構(gòu)造與詳細(xì)的詳細(xì)的DBMS(數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫管
55、理系統(tǒng))有關(guān)。有關(guān)。數(shù)據(jù)庫物理設(shè)計的義務(wù)是使數(shù)據(jù)庫的邏輯構(gòu)造在物數(shù)據(jù)庫物理設(shè)計的義務(wù)是使數(shù)據(jù)庫的邏輯構(gòu)造在物理設(shè)備上得以實現(xiàn),建立一個性能優(yōu)良的數(shù)據(jù)理設(shè)備上得以實現(xiàn),建立一個性能優(yōu)良的數(shù)據(jù)庫物理構(gòu)造。庫物理構(gòu)造。數(shù)據(jù)庫的物理設(shè)計,主要應(yīng)思索數(shù)據(jù)庫的物理設(shè)計,主要應(yīng)思索4個方面的問題:個方面的問題:n1 存儲構(gòu)造的選擇存儲構(gòu)造的選擇n選擇何種存儲構(gòu)造,與選定的選擇何種存儲構(gòu)造,與選定的DBMS類型有關(guān)類型有關(guān)n2 屬性存儲類型確實定屬性存儲類型確實定n不同不同DBMS系統(tǒng)的數(shù)據(jù)類型略微有點區(qū)別,因系統(tǒng)的數(shù)據(jù)類型略微有點區(qū)別,因此需求針對不同的此需求針對不同的DBMS來確定每個屬性的存來確定每個屬性的存儲類型。儲類型。 n3 表的索引構(gòu)造確實定表的索引構(gòu)造確實定n為了提高表的檢索速度,確定表的索引構(gòu)造。為了提高表的檢索速度,確定表的索引構(gòu)造。 n4 存取途徑確實定存取途徑確實定n對關(guān)系模型而言,由系統(tǒng)自動完成的
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 好醫(yī)生合同范本
- 支付賠償合同范本
- 2025-2030年中國物流信息化十三五規(guī)劃分析及投資前景規(guī)劃報告
- 2025-2030年中國煅后焦市場運行狀況及投資前景趨勢分析報告
- 2025-2030年中國火龍果市場前景趨勢及投資潛力分析報告
- 2025-2030年中國汽車輪轂軸管產(chǎn)業(yè)運行動態(tài)及投資戰(zhàn)略研究報告
- 2025-2030年中國水泥電桿行業(yè)需求狀況及發(fā)展趨勢分析報告
- 面料抵押合同范本
- 2025-2030年中國模具熱流道系統(tǒng)行業(yè)發(fā)展?fàn)顩r及投資戰(zhàn)略研究報告
- 2025-2030年中國果糖市場運營狀況及發(fā)展策略分析報告
- 2024年企業(yè)規(guī)章制度修訂方案
- 聚焦任務(wù)的學(xué)習(xí)設(shè)計作業(yè)改革新視角
- 血管活性藥物靜脈輸注護理方法(中華護理學(xué)會團體標(biāo)準(zhǔn)T CNAS 22-2021)
- 史上最完善IPD培訓(xùn)資料華為IPD培訓(xùn)資料
- 2024高二語文期末試卷(選必上、中)及詳細(xì)答案
- 《選材專項訓(xùn)練》課件
- 附著式升降腳手架安裝平臺和架體檢查驗收表
- 小兒麻疹的護理查房
- DL-T 2574-2022 混流式水輪機維護檢修規(guī)程
- 《鋼鐵是怎樣煉成的》讀書分享課件
- GB/T 19830-2023石油天然氣工業(yè)油氣井套管或油管用鋼管
評論
0/150
提交評論