數(shù)據(jù)模型設(shè)計(jì)要點(diǎn).doc
《數(shù)據(jù)模型設(shè)計(jì)要點(diǎn).doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《數(shù)據(jù)模型設(shè)計(jì)要點(diǎn).doc(15頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
數(shù)據(jù)模型設(shè)計(jì)要點(diǎn) 目錄 1. 數(shù)據(jù)模型設(shè)計(jì)的輸入 4 2. 數(shù)據(jù)模型設(shè)計(jì)必須的幾個(gè)階段 4 2.1. 概念數(shù)據(jù)模型設(shè)計(jì)(Conceptual Data Model) 5 2.2. 邏輯數(shù)據(jù)模型設(shè)計(jì)(Logical Data Model) 6 2.2.1. 設(shè)計(jì)范式要求 7 2.2.1.1. 第一范式 7 2.2.1.2. 第二范式 7 2.2.1.3. 第三范式 8 2.2.1.4. 逆第三范式 9 2.2.2. 其他要求 10 2.2.2.1. 數(shù)據(jù)類型定義 10 2.2.2.2. 實(shí)體名稱定義 10 2.2.2.3. 主鍵定義 10 2.2.2.4. 實(shí)體關(guān)系定義 10 2.2.2.5. 數(shù)據(jù)量估算 11 2.2.2.6. 索引定義 11 2.3. 物理數(shù)據(jù)模型(Physical Data Model) 11 2.3.1. 物理庫設(shè)計(jì) 12 2.3.1.1. 數(shù)據(jù)庫Server設(shè)計(jì) 12 2.3.1.2. 表空間設(shè)計(jì) 12 2.3.1.3. 用戶及權(quán)限設(shè)計(jì) 12 2.3.2. 物理表設(shè)計(jì) 13 2.3.2.1. 數(shù)據(jù)類型設(shè)計(jì) 13 2.3.2.2. 存儲(chǔ)設(shè)計(jì) 13 2.3.2.3. 主外鍵設(shè)計(jì) 13 2.3.2.4. 索引設(shè)計(jì) 13 2.3.2.5. 生成建表語句 14 3. 數(shù)據(jù)模型設(shè)計(jì)相關(guān)工具軟件 14 4. 數(shù)據(jù)模型設(shè)計(jì)的產(chǎn)出及規(guī)格要求 14 4.1. 概念數(shù)據(jù)模型設(shè)計(jì)階段 14 4.2. 邏輯數(shù)據(jù)模型設(shè)計(jì)階段 14 4.3. 物理數(shù)據(jù)模型設(shè)計(jì)階段 15 1. 數(shù)據(jù)模型設(shè)計(jì)的輸入 傳統(tǒng)的瀑布型的開發(fā)模型下,其特點(diǎn)是需求驅(qū)動(dòng)。相應(yīng)的,數(shù)據(jù)模型設(shè)計(jì)的必要輸入為需求分析階段的產(chǎn)出,包括需求規(guī)格說明書(需求分析說明書)、數(shù)據(jù)字典。 分析型應(yīng)用由于其需求不易迅速全面予以明確,所以適合用螺旋式開發(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)的瀑布開發(fā)模型下的需求規(guī)格說明書和數(shù)據(jù)字典,而是要從業(yè)務(wù)層面分析各個(gè)現(xiàn)有業(yè)務(wù)實(shí)體,以管理思維的角度,進(jìn)行必要的抽象、歸納和挖掘,結(jié)合未來管理需要,明確潛在業(yè)務(wù)實(shí)體,以及各業(yè)務(wù)實(shí)體之間的關(guān)系,最終予以設(shè)計(jì)實(shí)現(xiàn)。 2. 數(shù)據(jù)模型設(shè)計(jì)必須的幾個(gè)階段 無論是瀑布模型還是螺旋模型,數(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í)體的屬性、主鍵、索引以及各實(shí)體之間的關(guān)系,此部分與物理數(shù)據(jù)庫無關(guān);物理數(shù)據(jù)模型設(shè)計(jì)的主要工作是結(jié)合具體的物理數(shù)據(jù)庫平臺(tái)進(jìn)行存儲(chǔ)設(shè)計(jì)。 這三個(gè)階段并不是完全單向的,而是可以反向調(diào)整。假設(shè)后面的階段發(fā)現(xiàn)有問題,可以轉(zhuǎn)到上一階段進(jìn)行必要的修改后繼續(xù)進(jìn)行。但一定不能不管前一階段的結(jié)果,放任自流地進(jìn)行后面階段的工作。 2.1. 概念數(shù)據(jù)模型設(shè)計(jì)(Conceptual Data Model) 本階段的任務(wù)是對(duì)業(yè)務(wù)領(lǐng)域的各概念實(shí)體進(jìn)行歸納和總結(jié)的過程。該過程以分析概念實(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)該需求中沒有提到某些名詞之間的關(guān)系,模型中就根本不考慮對(duì)應(yīng)實(shí)體之間的關(guān)系。概念模型設(shè)計(jì)過程,實(shí)際上是以概念實(shí)體為線索,對(duì)需求分析結(jié)果進(jìn)行測(cè)試的過程。需求分析工作的質(zhì)量好不好,在此工作中基本能得到初步驗(yàn)證。 概念模型設(shè)計(jì)過程中提取的概念實(shí)體,可能比業(yè)務(wù)領(lǐng)域中的多,也可能比業(yè)務(wù)領(lǐng)域中的少,關(guān)鍵看歸納和抽象的粒度。并且,這些概念實(shí)體最終不一定都需要以物理表的方式體現(xiàn)在數(shù)據(jù)庫設(shè)計(jì)中。完全是為了能夠從“概念”層面把實(shí)體以及其關(guān)系看清楚為目的。 比如一個(gè)OCRM系統(tǒng)中提到“營(yíng)銷方案”、“營(yíng)銷團(tuán)隊(duì)”、“營(yíng)銷任務(wù)”、“年度營(yíng)銷任務(wù)”、“日常營(yíng)銷任務(wù)”等名詞,據(jù)此可以提取出以下業(yè)務(wù)實(shí)體和實(shí)體間的關(guān)系: 雖然用戶可能沒有提出日常營(yíng)銷任務(wù)是否需要營(yíng)銷方案,但通過分析,這種情況是有可能的,所以可以在設(shè)計(jì)概念模型時(shí),可以將日常營(yíng)銷任務(wù)與營(yíng)銷方案的關(guān)系設(shè)置為1-0,1。這樣,即便是未來發(fā)生需求的變化,數(shù)據(jù)模型也可以迅速提供支持。 2.2. 邏輯數(shù)據(jù)模型設(shè)計(jì)(Logical Data Model) 此階段開始關(guān)注概念實(shí)體的各項(xiàng)屬性。 該階段還不必更多考慮實(shí)現(xiàn)時(shí)的物理數(shù)據(jù)庫方面的要求。 設(shè)計(jì)邏輯數(shù)據(jù)模型時(shí),需注意參考必要的設(shè)計(jì)范式要求。常用的設(shè)計(jì)范式簡(jiǎn)單列舉其要點(diǎn)并舉例如下(以學(xué)生選課為例): 2.2.1. 設(shè)計(jì)范式要求 2.2.1.1. 第一范式 目的:實(shí)現(xiàn)屬性的原子性——屬性不可再分,屬性不能重復(fù); 不符合第一范式的設(shè)計(jì): SNO 學(xué)號(hào) SNAME 姓名 CNO 課程號(hào) CNAME 課程名 CADDR 上課地址 TNO 教室號(hào) TNAME 教師名 TTile 職稱 Score 成績(jī) Level 等級(jí) SCONCAT 學(xué)生聯(lián)系方式 S01 張三 C01 語文 201教室 T01 老師1 高級(jí) 95 優(yōu) TEL:12345;Email:abc@3.com S02 李四 C02 語文 202教室 T02 老師2 中級(jí) 98 優(yōu) TEL:12346;Email:abc@4.com S03 王五 C03 數(shù)學(xué) 203教室 T03 老師3 初級(jí) 70 良 TEL:12347;Email:abc@5.com 符合第一范式的設(shè)計(jì): SNO SNAME CNO CNAME CADDR TNO TNAME TTile Score Level STEL SEMAIL S01 張三 C01 語文 201教室 T01 老師1 高級(jí) 95 優(yōu) 12345 abc@123.com S02 李四 C02 語文 202教室 T02 老師2 中級(jí) 98 優(yōu) 12346 abc@124.com S03 王五 C03 數(shù)學(xué) 203教室 T03 老師3 初級(jí) 70 良 12347 abc@125.com 2.2.1.2. 第二范式 目的:實(shí)現(xiàn)屬性的完全依賴——屬性唯一依賴于主鍵,不能依賴于主鍵的一部分。 基于第一范式結(jié)果進(jìn)行修改,使其符合第二范式:1)定義SNO+CNO為主鍵;2) 將不完全依賴這個(gè)主鍵的屬性剝離到獨(dú)立的表中; SNO(PK-1) CNO(PK-2) Score Level S01 C01 95 優(yōu) S02 C02 98 優(yōu) S03 C03 70 良 新創(chuàng)建學(xué)生表: SNO SNAME STEL SEMAIL S01 張三 12345 abc@123.com S02 李四 12346 abc@124.com S03 王五 12347 abc@125.com 新創(chuàng)建教師表: TNO TNAME TTile T01 老師1 高級(jí) T02 老師2 中級(jí) T03 老師3 初級(jí) 新創(chuàng)建課程表: CNO CNAME CADDR TNO C01 語文 201教室 T01 C02 語文 202教室 T02 C03 數(shù)學(xué) 203教室 T03 2.2.1.3. 第三范式 目的:消除傳遞依賴。屬性不依賴于其他非主屬性。 基于第二范式結(jié)果進(jìn)行修改,將涉及傳遞依賴的屬性也剝離出去,使其符合第三范式: SNO(PK-1) CNO(PK-1) ScoreNO S01 C01 Score1 S02 C01 Score2 S03 C02 Score3 學(xué)生表: SNO SNAME STEL SEMAIL S01 張三 12345 abc@123.com S02 李四 12346 abc@124.com S03 王五 12347 abc@125.com 教師表: TNO TNAME TTile T01 老師1 高級(jí) T02 老師2 中級(jí) T03 老師3 初級(jí) 課程表: CNO CNAME CADDR TNO C01 語文 201教室 T01 C02 語文 202教室 T02 C03 數(shù)學(xué) 203教室 T03 新創(chuàng)建成績(jī)表: ScoreNO Score Level Score1 95 優(yōu) Score2 98 優(yōu) Score3 70 良 由上例子可以看出,為使設(shè)計(jì)成本和收益達(dá)到平衡,具體使用時(shí)不可能全部符合第三范式,一般大部分表能夠符合第二范式就可以。 2.2.1.4. 逆第三范式 特別在統(tǒng)計(jì)分析系統(tǒng)的數(shù)據(jù)模型設(shè)計(jì)過程中,還會(huì)有針對(duì)性的特別進(jìn)行大量的“逆第三范式”的處理。 在傳統(tǒng)的OLTP系統(tǒng)中,同樣也也會(huì)存在逆第三范式的處理。 典型的例子是核心業(yè)務(wù)系統(tǒng)中的交易流水表。之前該表一般設(shè)計(jì)為只記錄經(jīng)辦柜員的柜員號(hào),但后來隨著交易量大幅增加,為提高查詢效率,后來在新的核心業(yè)務(wù)系統(tǒng)設(shè)計(jì)中,一般把柜員名稱冗余在此表中。 在數(shù)據(jù)分析應(yīng)用中,這種情況就更多了,只要設(shè)計(jì)比較清晰,并購清楚知道哪些字段是冗余過來的,并且與來源表的數(shù)據(jù)類型嚴(yán)格保持一致即可。 2.2.2. 其他要求 2.2.2.1. 數(shù)據(jù)類型定義 邏輯數(shù)據(jù)模型中需明確數(shù)據(jù)類型和精度,對(duì)使用較多的數(shù)據(jù)類型,必要時(shí)可定義Domain來進(jìn)行元數(shù)據(jù)的統(tǒng)一。 2.2.2.2. 實(shí)體名稱定義 需明確邏輯實(shí)體的中文名稱和英文名稱,需建立必要的命名規(guī)范。 2.2.2.3. 主鍵定義 需明確定義各邏輯實(shí)體的主鍵和唯一索引。 從之前各范式的目的和使用描述來看,定義主鍵和唯一索引是必須的過程,否則談不上進(jìn)行第二、第三范式處理。 盡量采用屬性或?qū)傩缘慕M合做為主鍵,至少為其指定唯一索引。 物理設(shè)計(jì)時(shí),根據(jù)效率等各方面要求進(jìn)行取舍,決定到底是用有業(yè)務(wù)含義的屬性做為主鍵還是用無業(yè)務(wù)含義的序列號(hào)字段做主鍵。 2.2.2.4. 實(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ì)化定義,而不是無原則地亂去分析,或者從程序查詢角度分析,甚至僅從數(shù)據(jù)加工處理角度分析。 該工作包括兩層含義: 1) 定義邏輯實(shí)體之間的關(guān)聯(lián)類型 明確定義各表之間的關(guān)聯(lián)關(guān)系:1-1、1-多,多-1,多-多。 假設(shè)存在孤立,毫無關(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)查詢的問題。 2.2.2.5. 數(shù)據(jù)量估算 分析各邏輯實(shí)體的存儲(chǔ)量和每日記錄增長(zhǎng)量。 2.2.2.6. 索引定義 設(shè)計(jì)邏輯實(shí)體的目的就是為了查詢,所以為提高查詢效率,為邏輯實(shí)體指定索引是必須的設(shè)計(jì)步驟。 在此階段,可基于各表的使用特點(diǎn)為其指定索引,指定的索引如果是組合索引,需明確其字段順序。 由于索引的設(shè)置方法與最終物理數(shù)據(jù)庫的設(shè)計(jì)方法有關(guān),所以也可將索引定義的工作移到物理設(shè)計(jì)時(shí)再進(jìn)行。 2.3. 物理數(shù)據(jù)模型(Physical Data Model) 物理數(shù)據(jù)模型設(shè)計(jì)是在邏輯數(shù)據(jù)模型設(shè)計(jì)的基礎(chǔ)上,結(jié)合具體使用的物理數(shù)據(jù)庫平臺(tái),對(duì)物理實(shí)體的存儲(chǔ)特性進(jìn)行特別設(shè)計(jì),同時(shí)包括對(duì)索引的優(yōu)化工作。 物理數(shù)據(jù)模型設(shè)計(jì)需進(jìn)行的工作分別描述如下。 2.3.1. 物理庫設(shè)計(jì) 2.3.1.1. 數(shù)據(jù)庫Server設(shè)計(jì) 數(shù)據(jù)庫server的標(biāo)識(shí)。 是獨(dú)立server還是共用server,是獨(dú)立instance還是共用instance。 數(shù)據(jù)庫必須進(jìn)行哪些特殊設(shè)置:需修改哪些數(shù)據(jù)庫級(jí)參數(shù),哪些instance級(jí)參數(shù),哪些session級(jí)參數(shù)??赡艿膮?shù)包括:查詢堆參數(shù)、共享內(nèi)存參數(shù)、優(yōu)化級(jí)別、鎖個(gè)數(shù)、buffer size、buffer number,等等。 如果手工修改,需給出操作手冊(cè);如果程序修改,需提供程序。 2.3.1.2. 表空間設(shè)計(jì) 數(shù)據(jù)庫涉及哪些表空間(tablespace/dbs),其用途如何? 每個(gè)表空間由哪些物理文件(Datafile/Chunk)組成?其大小,所屬用戶/用戶組,權(quán)限,操作系統(tǒng)絕對(duì)路徑如何? 系統(tǒng)默認(rèn)臨時(shí)表空間為哪個(gè)? 索引表空間應(yīng)該與數(shù)據(jù)表空間分別使用不同的硬盤。 如何創(chuàng)建表空間,手工方式下需提供操作手冊(cè);程序方式下需提供程序。 2.3.1.3. 用戶及權(quán)限設(shè)計(jì) 數(shù)據(jù)庫中設(shè)計(jì)哪些用戶?其權(quán)限如何,密碼如何,密碼是否存在定期修改的要求? 如何創(chuàng)建用戶,手工方式下需提供操作手冊(cè);程序方式下需提供程序。 2.3.2. 物理表設(shè)計(jì) 2.3.2.1. 數(shù)據(jù)類型設(shè)計(jì) 明確定義各物理實(shí)體屬性字段的數(shù)據(jù)類型,同類的數(shù)據(jù)類型可考慮在數(shù)據(jù)庫平臺(tái)中建立必要的Domain或別名,以進(jìn)行統(tǒng)一。 將數(shù)據(jù)類型固定在幾個(gè)有限的取值范圍內(nèi),避免隨便定義新的類型或新的精度。 2.3.2.2. 存儲(chǔ)設(shè)計(jì) 設(shè)計(jì)物理表存儲(chǔ)在哪個(gè)表空間內(nèi)。 設(shè)計(jì)物理表的初始化塊和后續(xù)塊大小。 根據(jù)需要,對(duì)物理表進(jìn)行分區(qū)設(shè)計(jì)。 根據(jù)修改動(dòng)作的多少,為物理表設(shè)計(jì)適合的水位線(WaterMark),以減少存儲(chǔ)碎片的產(chǎn)生。 2.3.2.3. 主外鍵設(shè)計(jì) 定義物理表的主鍵,若是組合主鍵,定義字段的先后順序。 定義表的外鍵。 2.3.2.4. 索引設(shè)計(jì) 設(shè)計(jì)需要的索引,若是組合索引,定義字段的先后順序。 若設(shè)計(jì)了索引數(shù)據(jù)表空間,將索引定義到該空間內(nèi)。 為提高查詢效率,可為單個(gè)表設(shè)計(jì)多個(gè)索引。 2.3.2.5. 生成建表語句 物理設(shè)計(jì)完成,需生成建表語句。 3. 數(shù)據(jù)模型設(shè)計(jì)相關(guān)工具軟件 數(shù)據(jù)模型設(shè)計(jì)相關(guān)的工具軟件很多,選擇余地很大,但工具再強(qiáng)大,也需要人去用,工具本身并不能幫助進(jìn)行數(shù)據(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)行說明。 4. 數(shù)據(jù)模型設(shè)計(jì)的產(chǎn)出及規(guī)格要求 4.1. 概念數(shù)據(jù)模型設(shè)計(jì)階段 《概念數(shù)據(jù)模型設(shè)計(jì)說明書》:說明提取出的實(shí)體,并解釋其含義。 《概念數(shù)據(jù)模型設(shè)計(jì)文件》:著重說明實(shí)體間關(guān)系。 建議以文字為主描述實(shí)體,以圖為主描述實(shí)體關(guān)系。 4.2. 邏輯數(shù)據(jù)模型設(shè)計(jì)階段 《邏輯數(shù)據(jù)模型設(shè)計(jì)說明書》:說明提取出的實(shí)體,并解釋其含義;描述屬性含義及取值范圍、約束等信息,并描述主鍵和唯一索引。 《邏輯數(shù)據(jù)模型設(shè)計(jì)文件》:著重說明實(shí)體間關(guān)系。 建議以文字為主描述實(shí)體,以圖為主描述實(shí)體關(guān)系。 4.3. 物理數(shù)據(jù)模型設(shè)計(jì)階段 《數(shù)據(jù)庫設(shè)計(jì)說明書及程序》:說明數(shù)據(jù)庫層面的設(shè)計(jì)結(jié)果,包括server、參數(shù)、用戶及權(quán)限。包括必要的程序或者操作手冊(cè)。 《表空間設(shè)計(jì)說明書及程序》:說明表空間層面的設(shè)計(jì)結(jié)果。包括必要的程序或者操作手冊(cè)。 《數(shù)據(jù)庫表設(shè)計(jì)說明書及程序》:說明數(shù)據(jù)庫表的設(shè)計(jì)結(jié)果。包括必要的程序或者操作手冊(cè)。- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 數(shù)據(jù)模型 設(shè)計(jì) 要點(diǎn)
鏈接地址:http://m.italysoccerbets.com/p-6702470.html