數(shù)據(jù)模型設(shè)計(jì)要點(diǎn)_第1頁(yè)
數(shù)據(jù)模型設(shè)計(jì)要點(diǎn)_第2頁(yè)
數(shù)據(jù)模型設(shè)計(jì)要點(diǎn)_第3頁(yè)
數(shù)據(jù)模型設(shè)計(jì)要點(diǎn)_第4頁(yè)
數(shù)據(jù)模型設(shè)計(jì)要點(diǎn)_第5頁(yè)
已閱讀5頁(yè),還剩6頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

數(shù)據(jù)模型設(shè)計(jì)要點(diǎn)目錄數(shù)據(jù)模型設(shè)計(jì)的輸入2數(shù)據(jù)模型設(shè)計(jì)必須的幾個(gè)階段3概念數(shù)據(jù)模型設(shè)計(jì)(ConceptualDataModel)3邏輯數(shù)據(jù)模型設(shè)計(jì)(LogicalDataModel)4設(shè)計(jì)式要求5第一式5第二式5第三式6逆第三式7其他要求7數(shù)據(jù)類型定義7實(shí)體名稱定義8主鍵定義8實(shí)體關(guān)系定義8數(shù)據(jù)量估算8索弓|定義8物理數(shù)據(jù)模型(PhysicalDataModel)9物理庫(kù)設(shè)計(jì)9數(shù)據(jù)庫(kù)Server設(shè)計(jì)9表空間設(shè)計(jì)9用戶及權(quán)限設(shè)計(jì)10物理表設(shè)計(jì)10數(shù)據(jù)類型設(shè)計(jì)10存儲(chǔ)設(shè)計(jì)10主外鍵設(shè)計(jì)10索弓|設(shè)計(jì)10生成建表語(yǔ)句11數(shù)據(jù)模型設(shè)計(jì)相關(guān)工具軟件11數(shù)據(jù)模型設(shè)計(jì)的產(chǎn)出及規(guī)格要求11概念數(shù)據(jù)模型設(shè)計(jì)階段11邏輯數(shù)據(jù)模型設(shè)計(jì)階段11物理數(shù)據(jù)模型設(shè)計(jì)階段111■數(shù)據(jù)模型設(shè)計(jì)的輸入傳統(tǒng)的瀑布型的開(kāi)發(fā)模型下,其特點(diǎn)是需求驅(qū)動(dòng)。相應(yīng)的,數(shù)據(jù)模型設(shè)計(jì)的必要輸入為需求分析階段的產(chǎn)出,包括需求規(guī)格說(shuō)明書(shū)(需求分析說(shuō)明書(shū)、數(shù)據(jù)字典。分析型應(yīng)用由于其需求不易迅速全面予以明確,所以適合用螺旋式開(kāi)發(fā)模型,逐步迭代。但由于分析型應(yīng)用是數(shù)據(jù)驅(qū)動(dòng),所以數(shù)據(jù)模型的設(shè)計(jì)要求更高,需要根據(jù)業(yè)務(wù)和數(shù)據(jù)的實(shí)際情況,進(jìn)行快速全面分析,并有充分的管理思維,才能設(shè)計(jì)出比較理想的數(shù)據(jù)模型。其輸入就不僅限于傳統(tǒng)的瀑布開(kāi)發(fā)模型下的需求規(guī)格說(shuō)明書(shū)和數(shù)據(jù)字典,而是要從業(yè)務(wù)層面分析各個(gè)現(xiàn)有業(yè)務(wù)實(shí)體,以管理思維的角度,進(jìn)行必要的抽象、歸納和挖掘,結(jié)合未來(lái)管理需要,明確潛在業(yè)務(wù)實(shí)體,以及各業(yè)務(wù)實(shí)體之間的關(guān)系,最終予以設(shè)計(jì)實(shí)現(xiàn)。數(shù)據(jù)模型設(shè)計(jì)必須的幾個(gè)階段無(wú)論是瀑布模型還是螺旋模型,數(shù)據(jù)模型的設(shè)計(jì)都必須經(jīng)歷概念數(shù)據(jù)模型設(shè)計(jì)、邏輯數(shù)據(jù)模型設(shè)計(jì)和物理數(shù)據(jù)模型設(shè)計(jì)三個(gè)階段。其中,概念數(shù)據(jù)模型設(shè)計(jì)的主要工作是提取概念實(shí)體并分析其關(guān)系,這是最關(guān)鍵的工作,直接影響后續(xù)工作的質(zhì)量;邏輯數(shù)據(jù)模型設(shè)計(jì)的主要工作是設(shè)計(jì)各邏輯實(shí)體的屬性、主鍵、索弓I以及各實(shí)體之間的關(guān)系,此部分與物理數(shù)據(jù)庫(kù)無(wú)關(guān);物理數(shù)據(jù)模型設(shè)計(jì)的主要工作是結(jié)合具體的物理數(shù)據(jù)庫(kù)平臺(tái)進(jìn)行存儲(chǔ)設(shè)計(jì)。這三個(gè)階段并不是完全單向的,而是可以反向調(diào)整。假設(shè)后面的階段發(fā)現(xiàn)有問(wèn)題,可以轉(zhuǎn)到上一階段進(jìn)行必要的修改后繼續(xù)進(jìn)行。但一定不能不管前一階段的結(jié)果,放任自流地進(jìn)行后面階段的工作。概念數(shù)據(jù)模型設(shè)計(jì)(ConceptualDataModel)本階段的任務(wù)是對(duì)業(yè)務(wù)領(lǐng)域的各概念實(shí)體進(jìn)行歸納和總結(jié)的過(guò)程。該過(guò)程以分析概念實(shí)體以及它們之間的關(guān)系為目標(biāo),而不是以細(xì)化概念實(shí)體的各項(xiàng)屬性為目標(biāo)。該階段工作非常重要,是進(jìn)行其他階段工作的基礎(chǔ)。各概念實(shí)體的提取一般以業(yè)務(wù)領(lǐng)域或者需求中提到的“業(yè)務(wù)名詞”為線索,但不應(yīng)該需求中提到什么名詞就在模型中設(shè)計(jì)什么實(shí)體,更不應(yīng)該需求中沒(méi)有提到某些名詞之間的關(guān)系,模型中就根本不考慮對(duì)應(yīng)實(shí)體之間的關(guān)系。概念模型設(shè)計(jì)過(guò)程,實(shí)際上是以概念實(shí)體為線索,對(duì)需求分析結(jié)果進(jìn)行測(cè)試的過(guò)程。需求分析工作的質(zhì)量好不好,在此工作中基本能得到初步驗(yàn)證。概念模型設(shè)計(jì)過(guò)程中提取的概念實(shí)體,可能比業(yè)務(wù)領(lǐng)域中的多,也可能比業(yè)務(wù)領(lǐng)域中的少,關(guān)鍵看歸納和抽象的粒?。并且,這些概念實(shí)體最終不一定都需要以物理表的方式體現(xiàn)在數(shù)據(jù)庫(kù)設(shè)計(jì)中。完全是為了能夠從“概念”層面把實(shí)體以及其關(guān)系看清楚為目的。比如一個(gè)OCRM系統(tǒng)中提到“營(yíng)銷(xiāo)方案”、“營(yíng)銷(xiāo)團(tuán)隊(duì)”、“營(yíng)銷(xiāo)任務(wù)”、“年度營(yíng)銷(xiāo)任務(wù)”、“日常營(yíng)銷(xiāo)任務(wù)”等名詞,據(jù)此可以提取出以下業(yè)務(wù)實(shí)體和實(shí)體間的關(guān)系:雖然用戶可能沒(méi)有提出日常營(yíng)銷(xiāo)任務(wù)是否需要營(yíng)銷(xiāo)方案,但通過(guò)分析,這種情況是有可能的,所以可以在設(shè)計(jì)概念模型時(shí),可以將日常營(yíng)銷(xiāo)任務(wù)與營(yíng)銷(xiāo)方案的關(guān)系設(shè)置為1-0,1。這樣,即便是未來(lái)發(fā)生需求的變化,數(shù)據(jù)模型也可以迅速提供支持。邏輯數(shù)據(jù)模型設(shè)計(jì)(LogicalDataModel)此階段開(kāi)始關(guān)注概念實(shí)體的各項(xiàng)屬性。該階段還不必更多考慮實(shí)現(xiàn)時(shí)的物理數(shù)據(jù)庫(kù)方面的要求。設(shè)計(jì)邏輯數(shù)據(jù)模型時(shí),需注意參考必要的設(shè)計(jì)式要求。常用的設(shè)計(jì)式簡(jiǎn)單列舉其要點(diǎn)并舉例如下(以學(xué)生選課為例I):第一式目的:實(shí)現(xiàn)屬性的原子性一屬性不可再分,屬性不能重復(fù);不符合第一式的設(shè)計(jì):SNO學(xué)號(hào)SNAMEXXO課程號(hào)AME課程名CADDR上課地址TNO教室號(hào)TNAME教師名TTile職稱Score成績(jī)Level等級(jí)SCONCAT學(xué)生聯(lián)系方式S01三C01語(yǔ)文201教室T01老師1高級(jí)95優(yōu)TEL:12345;Email:abc3.S02四C02語(yǔ)文202教室T02老師2中級(jí)98優(yōu)TEL:12346;Email:abc4.S03王五C03數(shù)學(xué)203教室T03老師3初級(jí)70良TEL:12347;Email:abc5.符合第一式的設(shè)計(jì):SNOSNAMEOAMECADDRTNOTNAMETTileScoreLevelSTELSEMAILS01三C01語(yǔ)文201教室T01老師1高級(jí)95優(yōu)12345abc123.S02四C02語(yǔ)文202教室T02老師2中級(jí)98優(yōu)12346abc124.S03王五C03數(shù)學(xué)203教室T03老師3初級(jí)70良12347abc125.第二式目的:實(shí)現(xiàn)屬性的完全依賴一屬性唯一依賴于主鍵,不能依賴于主鍵的一部分?;诘谝皇浇Y(jié)果進(jìn)行修改,使其符合第二式:1)定義SNO+O為主鍵;2)將不完全依賴這個(gè)主鍵的屬性剝離到獨(dú)立的表中;SNO(PK-1)O(PK-2)ScoreLevelS01C0195優(yōu)S02C0298優(yōu)S03C0370良新創(chuàng)建學(xué)生表:SNOSNAMESTELSEMAILS01三12345abc123.S02四12346abc124.新創(chuàng)建教師表:新創(chuàng)建課程表:2.2.1.3.第三式S03王五12347abc125.TNOTNAMETTileT01老師1高級(jí)T02老師2中級(jí)T03老師3初級(jí)OAMECADDRTNOC01語(yǔ)文201教室T01C02語(yǔ)文202教室T02C03數(shù)學(xué)203教室T03目的:消除傳遞依賴。屬性不依賴于其他非主屬性。基于第二式結(jié)果進(jìn)行修改,將涉及傳遞依賴的屬性也剝離出去,使其符合第三式:學(xué)生表:教師表:SNO(PK-1)O(PK-1)ScoreNOS01C01Score1S02C01Score2S03C02Score3SNOSNAMESTELSEMAILS01三12345abc123.S02四12346abc124.S03王五12347abc125.TNOTNAMETTileT01老師1高級(jí)T02老師2中級(jí)T03老師3初級(jí)課程表:OAMECADDRTNOC01語(yǔ)文201教室T01C02語(yǔ)文202教室T02C03數(shù)學(xué)203教室T03新創(chuàng)建成績(jī)表:ScoreNOScoreLevelScore195優(yōu)Score298優(yōu)Score370良由上例子可以看出,為使設(shè)計(jì)成本和收益達(dá)到平衡,具體使用時(shí)不可能全部符合第三式,一般大部分表能夠符合第二式就可以。逆第三式特別在統(tǒng)計(jì)分析系統(tǒng)的數(shù)據(jù)模型設(shè)計(jì)過(guò)程中,還會(huì)有針對(duì)性的特別進(jìn)行大量的“逆第三式”的處理。在傳統(tǒng)的OLTP系統(tǒng)中,同樣也也會(huì)存在逆第三式的處理。典型的例子是核心業(yè)務(wù)系統(tǒng)中的交易流水表。之前該表一般設(shè)計(jì)為只記錄經(jīng)亦柜員的柜員號(hào),但后來(lái)隨著交易量大幅增加,為提高查詢效率,后來(lái)在新的核心業(yè)務(wù)系統(tǒng)設(shè)計(jì)中,一般把柜員名稱冗余在此表中。在數(shù)據(jù)分析應(yīng)用中,這種情況就更多了,只要設(shè)計(jì)比較清晰,并購(gòu)清楚知道哪些字段是冗余過(guò)來(lái)的,并且與來(lái)源表的數(shù)據(jù)類型嚴(yán)格保持一致即可。2.2.2.其他要求數(shù)據(jù)類型定義邏輯數(shù)據(jù)模型中需明確數(shù)據(jù)類型和精度,對(duì)使用較多的數(shù)據(jù)類型,必要時(shí)可定義Domain來(lái)進(jìn)行元數(shù)據(jù)的統(tǒng)一。..可修編.^實(shí)體名稱定義需明確邏輯實(shí)體的中文名稱和英文名稱,需建立必要的命名規(guī)。主健定義需明確定義各邏輯實(shí)體的主鍵和唯一索引I。從之前各式的目的和使用描述來(lái)看,定義主鍵和唯一索弓I是必須的過(guò)程,否則談不上進(jìn)行第二、第三式處理。盡量采用屬性或?qū)傩缘慕M合做為主鍵,至少、為其指定唯一索弓I。物理設(shè)計(jì)時(shí),根據(jù)效率等各方面要求進(jìn)行取舍,決定到底是用有業(yè)務(wù)含義的屬性做為主鍵還是用無(wú)業(yè)務(wù)含義的序列號(hào)字段做主鍵。實(shí)體關(guān)系定義邏輯數(shù)據(jù)模型中需明確各邏輯實(shí)體之間的關(guān)系。該工作是概念數(shù)據(jù)模型設(shè)計(jì)工作的延續(xù),還是以業(yè)務(wù)領(lǐng)域的業(yè)務(wù)實(shí)體間的關(guān)系為線索對(duì)關(guān)聯(lián)關(guān)系進(jìn)行細(xì)化定義,而不是無(wú)原則地亂去分析,或者從程序查詢角度分析,甚至僅從數(shù)據(jù)加工處理角度分析。該工作包括兩層含義:1)定義邏輯實(shí)體之間的關(guān)聯(lián)類型明確定義各表之間的關(guān)聯(lián)關(guān)系:1-1、1-多,多-1,多-多。假設(shè)存在孤立,毫無(wú)關(guān)聯(lián)的表,則需仔細(xì)分析其存在的必要性。2)定義邏輯實(shí)體之間的主外鍵對(duì)照關(guān)系具體進(jìn)行物理設(shè)計(jì)時(shí)可斟酌是否真正以外鍵的式實(shí)現(xiàn),但此階段必須先定義,否則極易出現(xiàn)該關(guān)聯(lián)的字段數(shù)據(jù)類型不一致,至少會(huì)造成關(guān)聯(lián)查詢的問(wèn)題。數(shù)據(jù)量估算分析各邏輯實(shí)體的存儲(chǔ)量和每日記錄增長(zhǎng)量。索引定義設(shè)計(jì)邏輯實(shí)體的目的就是為了查詢,所以為提高查詢效率,為邏輯實(shí)體指定索弓1是必須的設(shè)計(jì)步驟。在此階段,可基于各表的使用特點(diǎn)為其指定索弓I,指定的索弓I如果是組合索弓I,需明確其字段順序。由于索弓I的設(shè)置方法與最終物理數(shù)據(jù)庫(kù)的設(shè)計(jì)方法有關(guān),所以也可將索弓|定義的工作移到物理設(shè)計(jì)時(shí)再進(jìn)行。物理數(shù)據(jù)模型(PhysicalDataModel)物理數(shù)據(jù)模型設(shè)計(jì)是在邏輯數(shù)據(jù)模型設(shè)計(jì)的基礎(chǔ)上,結(jié)合具體使用的物理數(shù)據(jù)庫(kù)平臺(tái),對(duì)物理實(shí)體的存儲(chǔ)特性進(jìn)行特別設(shè)計(jì),同時(shí)包括對(duì)索弓I的優(yōu)化工作。物理數(shù)據(jù)模型設(shè)計(jì)需進(jìn)行的工作分別描述如下。物理庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)Server設(shè)計(jì)數(shù)據(jù)庫(kù)server的標(biāo)識(shí)。是獨(dú)立server還是共用server,是獨(dú)立instance還是共用instance。數(shù)據(jù)庫(kù)必須進(jìn)行哪些特殊設(shè)置:需修改哪些數(shù)據(jù)庫(kù)級(jí)參數(shù),哪些instance級(jí)參數(shù),哪些session級(jí)參數(shù)??赡艿膮?shù)包括:查詢堆參數(shù)、共享存參數(shù)、優(yōu)化級(jí)別、鎖個(gè)數(shù)、buffersize、buffernumber,等等。如果手工修改,需給出操作手冊(cè);如果程序修改,需提供程序。表空間設(shè)計(jì)數(shù)據(jù)庫(kù)涉及哪些表空間(tablespace/dbs),其用途如何?每個(gè)表空間由哪些物理文件(Datafile/Chunk)組成?其大小,所屬用戶/用戶組,權(quán)限,操作系統(tǒng)絕對(duì)路徑如何?系統(tǒng)默認(rèn)臨時(shí)表空間為哪個(gè)?索弓1表空間應(yīng)該與數(shù)據(jù)表空間分別使用不同的硬盤(pán)。如何創(chuàng)建表空間,手工方式下需提供操作手冊(cè);程序方式下需提供程序。用戶及權(quán)限設(shè)計(jì)數(shù)據(jù)庫(kù)中設(shè)計(jì)哪些用戶?其權(quán)限如何,密碼如何,密碼是否存在定期修改的要求?如何創(chuàng)建用戶,手工方式下需提供操作手冊(cè);程序方式下需提供程序。2.3.2,物理表設(shè)計(jì)數(shù)據(jù)類型設(shè)計(jì)明確定義各物理實(shí)體屬性字段的數(shù)據(jù)類型,同類的數(shù)據(jù)類型可考慮在數(shù)據(jù)庫(kù)平臺(tái)中建立必要的Domain或別名,以進(jìn)行統(tǒng)一。將數(shù)據(jù)類型固定在幾個(gè)有限的取值圍,避免隨便定義新的類型或新的精度。存儲(chǔ)設(shè)計(jì)設(shè)計(jì)物理表存儲(chǔ)在哪個(gè)表空間。設(shè)計(jì)物理表的初始化塊和后續(xù)塊大小。根據(jù)需要,對(duì)物理表進(jìn)行分區(qū)設(shè)計(jì)。根據(jù)修改動(dòng)作的多少、,為物理表設(shè)計(jì)適合的水位線(WaterMark),以減少存儲(chǔ)碎片的產(chǎn)生。主外健設(shè)計(jì)定義物理表的主鍵,若是組合主鍵,定義字段的先后順序。定義表的外鍵。索弓|設(shè)計(jì)設(shè)計(jì)需要的索弓I,若是組合索弓1,定義字段的先后順序。若設(shè)計(jì)了索弓I數(shù)據(jù)表空間,將索弓1定義到該空間。為提高查詢效率,可為單個(gè)表設(shè)計(jì)多個(gè)索弓I。生成建表語(yǔ)旬物理設(shè)計(jì)完成,需生成建表語(yǔ)句。數(shù)據(jù)模型設(shè)計(jì)相關(guān)工具軟件敬據(jù)模型設(shè)計(jì)相關(guān)的工具軟件很多,選擇余地很大,但工具再?gòu)?qiáng)大,也需要人去用,工具本身并不能幫助進(jìn)行敬據(jù)模型設(shè)計(jì),甚至在方法不當(dāng)?shù)那闆r下還會(huì)起反作用。需明確工具的使用規(guī),以最終統(tǒng)一和提高產(chǎn)出工件的標(biāo)準(zhǔn)化和質(zhì)量。工具需要與文檔描述相結(jié)合??沙浞质褂霉ぞ哕浖奈臋n生成功能以生成必要的文檔,并在此基礎(chǔ)上進(jìn)行必要的修訂,以集中對(duì)設(shè)計(jì)進(jìn)行說(shuō)明。數(shù)據(jù)模型設(shè)計(jì)的產(chǎn)出及規(guī)格要求4.1.概念數(shù)據(jù)模型設(shè)計(jì)階段《概念敬據(jù)模型設(shè)計(jì)說(shuō)明書(shū)》:說(shuō)明提取出的實(shí)體,并解釋其含義?!陡拍罹磽?jù)模型設(shè)計(jì)文件》:著重說(shuō)明實(shí)體間關(guān)系。建議以文字為主描述實(shí)體,以圖為主描述實(shí)體關(guān)系。4.2.邏輯數(shù)據(jù)模

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論