數(shù)據(jù)庫設(shè)計(jì)規(guī)范_第1頁
數(shù)據(jù)庫設(shè)計(jì)規(guī)范_第2頁
數(shù)據(jù)庫設(shè)計(jì)規(guī)范_第3頁
數(shù)據(jù)庫設(shè)計(jì)規(guī)范_第4頁
數(shù)據(jù)庫設(shè)計(jì)規(guī)范_第5頁
已閱讀5頁,還剩12頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、概述目的軟件研發(fā)數(shù)據(jù)庫設(shè)計(jì)規(guī)范作為數(shù)據(jù)庫設(shè)計(jì)的操作規(guī)范,詳細(xì)描述了數(shù)據(jù)庫設(shè)計(jì)過程及結(jié)果,用于指導(dǎo)系統(tǒng)設(shè)計(jì)人員正確理解和開展數(shù)據(jù)庫設(shè)計(jì)。適用范圍術(shù)語定義DBMS:數(shù)據(jù)庫管理系統(tǒng),常用的商業(yè)DBMS有Oracle, SQL Server, DB2等。數(shù)據(jù)庫設(shè)計(jì):數(shù)據(jù)庫設(shè)計(jì)是在給定的應(yīng)用場景下,構(gòu)造適用的數(shù)據(jù)庫模式,建立數(shù)據(jù)庫及其應(yīng)用系統(tǒng),有效存儲(chǔ)數(shù)據(jù),滿足用戶信息要求和處理要求。概念數(shù)據(jù)模型:概念數(shù)據(jù)模型以實(shí)體-關(guān)系(Entity-RelationShip,簡稱E-R)理論為基礎(chǔ),并對(duì)這一理論進(jìn)行了擴(kuò)充。它從用戶的觀點(diǎn)出發(fā)對(duì)信息進(jìn)行建模,主要用于數(shù)據(jù)庫概念級(jí)別的設(shè)計(jì),獨(dú)立于機(jī)器和各DBMS產(chǎn)品???/p>

2、以用Sybase PowerDesigner工具來建立概念數(shù)據(jù)模型(CDM)。邏輯數(shù)據(jù)模型:將概念數(shù)據(jù)模型轉(zhuǎn)換成具體的數(shù)據(jù)庫產(chǎn)品支持的數(shù)據(jù)模型,如關(guān)系模型,形成數(shù)據(jù)庫邏輯模式??梢杂肧ybase PowerDesigner工具直接建立邏輯數(shù)據(jù)模型(LDM),或者通過CDM轉(zhuǎn)換得到。物理數(shù)據(jù)模型:在邏輯數(shù)據(jù)模型基礎(chǔ)上,根據(jù)DBMS特點(diǎn)和處理的需要,進(jìn)行物理存儲(chǔ)安排,設(shè)計(jì)索引,形成數(shù)據(jù)庫內(nèi)模式??梢杂肧ybase PowerDesigner工具直接建立物理數(shù)據(jù)模型(PDM),或者通過CDM / LDM轉(zhuǎn)換得到。數(shù)據(jù)庫設(shè)計(jì)原則按階段實(shí)施并形成該階段的成果物一般符合3NF范式要求;兼顧規(guī)范與效率使用公

3、司規(guī)定的數(shù)據(jù)庫設(shè)計(jì)軟件工具命名符合公司標(biāo)準(zhǔn)和項(xiàng)目標(biāo)準(zhǔn)數(shù)據(jù)庫設(shè)計(jì)目標(biāo)規(guī)范性:一般符合3NF范式要求,減少冗余數(shù)據(jù)。高效率:兼顧規(guī)范與效率,適當(dāng)進(jìn)行反范式化,滿足應(yīng)用系統(tǒng)的性能要求。緊湊性:例如能用char(10)的就不要用char(20),提高存儲(chǔ)的利用率和系統(tǒng)性能,但同時(shí)也要兼顧擴(kuò)展性和可移植性。易用性:數(shù)據(jù)庫設(shè)計(jì)清晰易用,用戶和開發(fā)人員均能容易地理解。設(shè)計(jì)過程規(guī)范數(shù)據(jù)庫設(shè)計(jì)過程包括如下階段:數(shù)據(jù)分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)、物理設(shè)計(jì)、實(shí)施與運(yùn)行維護(hù)。如下圖:數(shù)據(jù)分析階段在數(shù)據(jù)分析階段(一般在項(xiàng)目的需求分析或者系統(tǒng)設(shè)計(jì)階段進(jìn)行),應(yīng)注意搜集和分析數(shù)據(jù)相關(guān)的內(nèi)容,并形成相關(guān)成果物,包括數(shù)據(jù)流圖和數(shù)據(jù)

4、字典等,以此作為數(shù)據(jù)庫設(shè)計(jì)的基礎(chǔ)和依據(jù)。數(shù)據(jù)流圖從數(shù)據(jù)傳遞和加工的角度,以圖形的方式刻畫數(shù)據(jù)流從輸入到輸出的移動(dòng)變換過程。數(shù)據(jù)字典則對(duì)數(shù)據(jù)流圖中的各種成分進(jìn)行詳細(xì)說明,作為數(shù)據(jù)流圖的細(xì)節(jié)補(bǔ)充。數(shù)據(jù)字典一般應(yīng)包括對(duì)數(shù)據(jù)項(xiàng),數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)處理的說明。數(shù)據(jù)流圖示例:數(shù)據(jù)字典示例:1. 數(shù)據(jù)項(xiàng)條目數(shù)據(jù)項(xiàng)編號(hào):D01-001數(shù)據(jù)項(xiàng)名稱:憑證編號(hào)別 名:憑證流水號(hào)符 號(hào) 名:PZBH數(shù) 據(jù)類 型:數(shù)值型長 度:4取 值范 圍:19999其余略。2. 數(shù)據(jù)結(jié)構(gòu)條目數(shù)據(jù)結(jié)構(gòu)編號(hào):DS01-003數(shù)據(jù)結(jié)構(gòu)名稱:會(huì)計(jì)分錄別 名:分錄簡 述:記帳憑證的基本組成成分組 成:科目代碼+借貸方向+金額其余略。3

5、. 數(shù)據(jù)存儲(chǔ)條目數(shù)據(jù)存儲(chǔ)編號(hào):F01數(shù)據(jù)存儲(chǔ)名稱:記賬憑證來 源:由憑證處理產(chǎn)生組 成:憑證日期+憑證類別+憑證編號(hào)+附件張數(shù)+會(huì)計(jì)分錄+制證+主管+審核概念設(shè)計(jì)階段目的在數(shù)據(jù)分析的基礎(chǔ)上,使用E-R模型技術(shù),將現(xiàn)實(shí)世界中的客觀對(duì)象抽象為實(shí)體和關(guān)系,形成概念數(shù)據(jù)模型(CDM)。CDM可以從更高層次地理解系統(tǒng)、以及技術(shù)人員可用于和用戶交流,和用戶達(dá)成共識(shí),所以必須完成這一階段的工作。CDM示例:方法和過程使用Sybase PowerDesigner來編寫CDM文檔。1、小型系統(tǒng)的設(shè)計(jì)可采取集中式模式設(shè)計(jì)法。根據(jù)需求由一個(gè)統(tǒng)一機(jī)構(gòu)或人員設(shè)計(jì)一個(gè)綜合的全局模式,形成模型的單一視圖。它強(qiáng)調(diào)統(tǒng)一與一致,

6、因此適合于小型或并不復(fù)雜的系統(tǒng)。2、大型系統(tǒng)的設(shè)計(jì)可采取視圖集成法(局部-集成方法)。將一個(gè)單位分解成若干個(gè)局部應(yīng)用,先對(duì)每個(gè)局部作局部模式設(shè)計(jì),建立各個(gè)部分的視圖即分E-R圖,然后以各視圖為基礎(chǔ)進(jìn)行集成。集成過程需對(duì)視圖作修正,然后合并成全局概念模式,這種方法能較好地反映需求,適用于大型系統(tǒng)的設(shè)計(jì)。邏輯設(shè)計(jì)階段目的將E-R模型轉(zhuǎn)換DBMS支持的數(shù)據(jù)模型,包括關(guān)系模型、網(wǎng)狀模型、層次模型、對(duì)象模型等等。常用的DBMS是關(guān)系數(shù)據(jù)庫,因此要轉(zhuǎn)換為關(guān)系模型。方法和過程可以用Sybase PowerDesigner直接將CDM轉(zhuǎn)換為LDM。從理論上來說,轉(zhuǎn)換過程一般有7個(gè)步驟:轉(zhuǎn)換強(qiáng)實(shí)體轉(zhuǎn)換弱實(shí)體轉(zhuǎn)換

7、1:1關(guān)系轉(zhuǎn)換1:N關(guān)系轉(zhuǎn)換M:N關(guān)系轉(zhuǎn)換多值屬性(Multi-Valued Attribute)轉(zhuǎn)換n元關(guān)系(n-ary Relation)E-R模型和關(guān)系模型的映射如下:E-R模型關(guān)系模型實(shí)體類型關(guān)系1:1或1:N關(guān)系類型外鍵M:N關(guān)系類型兩個(gè)外鍵n元關(guān)系類型n個(gè)外鍵簡單屬性屬性復(fù)合屬性簡單屬性的集合多值屬性關(guān)系和外鍵關(guān)鍵屬性主鍵/唯一鍵物理設(shè)計(jì)階段目的基于給定的DBMS建立面向計(jì)算機(jī)物理表示的模型,描述了數(shù)據(jù)在儲(chǔ)存介質(zhì)上的組織結(jié)構(gòu),它不但與具體的DBMS有關(guān),而且還與操作系統(tǒng)和硬件有關(guān)。方法和過程可以用Sybase PowerDesigner直接將CDM/LDM轉(zhuǎn)換為PDM。對(duì)于關(guān)系模型

8、來說,進(jìn)行物理數(shù)據(jù)庫設(shè)計(jì)主要包括:使用邏輯模型建立一系列的表(如果在CDM和LDM中使用中文,應(yīng)在轉(zhuǎn)換后使用英文);使用索引以提升性能;實(shí)施約束和安全限制;對(duì)數(shù)據(jù)進(jìn)行分區(qū)和分布式處理等。概念數(shù)據(jù)模型規(guī)范設(shè)計(jì)原則易于理解1、實(shí)體、屬性的命名要求中文名簡明清晰,英文代碼統(tǒng)一用大寫,中間用下劃線分隔。2、對(duì)于同含義的實(shí)體或?qū)傩悦?,英文縮寫要求一致。3、命名應(yīng)遵循公司標(biāo)準(zhǔn)或項(xiàng)目最佳實(shí)踐,以增強(qiáng)人們對(duì)系統(tǒng)間信息交換和共享的理解。4、需要在實(shí)體名中明確提示的信息可以在中文名后用括號(hào)標(biāo)出。5、各個(gè)實(shí)體類屬性的排列順序盡量遵循統(tǒng)一的規(guī)則,比如最前面是標(biāo)識(shí)號(hào),最后面是人員或日期等。6、對(duì)于屬性值在業(yè)務(wù)需求中有明

9、確規(guī)定范圍、列舉值的,要通過約束予以反映。7、實(shí)體間關(guān)系的命名也要遵循實(shí)體命名規(guī)則,因?yàn)檫@些關(guān)系可能在后續(xù)的設(shè)計(jì)中轉(zhuǎn)化為一個(gè)實(shí)體。8、對(duì)于具有強(qiáng)制校驗(yàn)的關(guān)系,要在設(shè)計(jì)工具中明確標(biāo)出,復(fù)雜關(guān)系應(yīng)配以文字?jǐn)⑹稣f明。9、在多個(gè)表中冗余的字段應(yīng)保持命名的一致性。不同名稱之間應(yīng)有較明顯的區(qū)別,避免混淆和誤操作。10、對(duì)于實(shí)體自身存在相互依賴的屬性,需要建立遞歸聯(lián)系。11、適當(dāng)使用擴(kuò)展依賴來補(bǔ)充說明實(shí)體間的聯(lián)系。完整性概念數(shù)據(jù)模型應(yīng)包含實(shí)體、屬性、關(guān)系三部分內(nèi)容。概念模型階段的完整性原則主要是對(duì)這三要素的充分識(shí)別:實(shí)體:包括能夠被清楚辨識(shí)的事物,如保險(xiǎn)合同,被保人,操作員等;或者需要固化的流程類信息,如任

10、務(wù)流(需要記錄一次任務(wù)完成的時(shí)點(diǎn)和出入口);或者等待人工或系統(tǒng)處理的操作類信息,如保全申請(qǐng)、理賠申請(qǐng)等;或者計(jì)算類信息,例如針對(duì)一個(gè)理賠責(zé)任(實(shí)體1)的每個(gè)費(fèi)用明細(xì)(實(shí)體2)的一次計(jì)算,此時(shí)計(jì)算結(jié)果需要作為一個(gè)實(shí)體保存下來。關(guān)系:是實(shí)體之間的關(guān)聯(lián)。有一對(duì)一,一對(duì)多,多對(duì)一,多對(duì)多這幾種。對(duì)于需求中明確需要固化的聯(lián)系多個(gè)實(shí)體的復(fù)雜關(guān)系,或者具有一定屬性數(shù)據(jù)的關(guān)系,可以作為一個(gè)實(shí)體來處理,例如映射表和路由表。當(dāng)然,這種設(shè)計(jì)也可以放到物理數(shù)據(jù)模型設(shè)計(jì)環(huán)節(jié)來做。屬性:實(shí)體具有的屬性。一個(gè)實(shí)體可以由若干個(gè)屬性描述。例如投保人實(shí)體有一個(gè)客戶號(hào)、客戶姓名、出生日期等特性。CASE工具使用要求1、應(yīng)使用Syb

11、ase PowerDesigner工具進(jìn)行概念數(shù)據(jù)模型設(shè)計(jì)(CDM模型)。常用的幾種關(guān)聯(lián)如下圖所示:2、由于PowerDesigner自身的限制(如命名字段長度限制),不要求能夠從CDM直接導(dǎo)出PDM,但應(yīng)盡量細(xì)化填寫工具中提供的輸入域,以利于后續(xù)設(shè)計(jì)時(shí)對(duì)概念模型的理解。3、層次布局清楚,線條間隔明顯,盡量使用上下分層模式,避免網(wǎng)狀圖。4、沒有關(guān)系相聯(lián)結(jié)的實(shí)體集盡量分到不同設(shè)計(jì)頁面或項(xiàng)目,對(duì)于復(fù)雜的設(shè)計(jì)圖,可以將其中相對(duì)集中的一部分抽離到單獨(dú)頁面(),原頁面中用橢圓形圖示代表。例如下圖,其中自動(dòng)、人工核保有相對(duì)集中的一組實(shí)體和關(guān)系,可以單獨(dú)抽離出來。物理數(shù)據(jù)模型規(guī)范本章實(shí)際上包含邏輯數(shù)據(jù)模型和

12、物理數(shù)據(jù)模型設(shè)計(jì)的兩部分內(nèi)容。邏輯模型設(shè)計(jì)主要是將概念模型向關(guān)系型數(shù)據(jù)庫轉(zhuǎn)換并對(duì)其進(jìn)行優(yōu)化。數(shù)據(jù)庫的物理模型的設(shè)計(jì)主要指確定數(shù)據(jù)存放位置和存儲(chǔ)結(jié)構(gòu),包括確定字段(數(shù)據(jù)類型、長度、精度)、關(guān)系、索引、日志、備份等數(shù)據(jù)的存儲(chǔ)分配合存儲(chǔ)結(jié)構(gòu),確定系統(tǒng)配置等工作。設(shè)計(jì)原則論述從邏輯模型和物理模型設(shè)計(jì)時(shí)需要遵循的規(guī)則。范式化在針對(duì)CDM圖進(jìn)行細(xì)化和模式分解時(shí),一般需符合遵循3NF,消除數(shù)據(jù)冗余、更新異常、插入異常和刪除異常。但為了滿足部分查詢效率,通??梢詫⒊S米侄螌傩栽诓糠直碇凶魅哂?,例如銷售員工號(hào)和姓名通常需要在保單信息查詢中同時(shí)顯示到前臺(tái),那么姓名這個(gè)字段就可以在保單表中做冗余,但應(yīng)用層應(yīng)在更新這

13、些信息的實(shí)體表的同時(shí),也將含有這些信息的關(guān)聯(lián)表對(duì)應(yīng)字段同時(shí)更新,以保證這些冗余信息的準(zhǔn)確性。另外,數(shù)據(jù)庫結(jié)構(gòu)特性是靜態(tài)的,應(yīng)留有擴(kuò)充余地,使系統(tǒng)容易改變。數(shù)據(jù)驅(qū)動(dòng)這個(gè)原則通常與系統(tǒng)應(yīng)用層設(shè)計(jì)結(jié)合考慮。采用數(shù)據(jù)驅(qū)動(dòng)而非硬編碼的方式,許多策略變更和維護(hù)都會(huì)方便得多,大大增強(qiáng)系統(tǒng)的靈活性和擴(kuò)展性。這在保險(xiǎn)系統(tǒng)中通常表現(xiàn)為各種參數(shù)表。例如業(yè)務(wù)系統(tǒng)與外部系統(tǒng)的對(duì)賬邏輯要訪問外部數(shù)據(jù)源(文件、XML 文檔、其他數(shù)據(jù)庫等),不妨把相應(yīng)的連接和路徑信息存儲(chǔ)在參數(shù)配置表里。如果用戶界面執(zhí)行工作流之類的任務(wù)(發(fā)送通知書、打印發(fā)票、修改記錄狀態(tài)等),那么產(chǎn)生工作流的數(shù)據(jù)也可以存放在數(shù)據(jù)庫里。角色權(quán)限管理也可以通過數(shù)

14、據(jù)驅(qū)動(dòng)來完成。事實(shí)上,如果過程是數(shù)據(jù)驅(qū)動(dòng)的,將非常方便流程類需求變更的修改和實(shí)現(xiàn)。完整性1.使用主鍵實(shí)現(xiàn)實(shí)體的完整性。主鍵盡量不要使用用戶錄入的值,而是系統(tǒng)生成的值,因?yàn)橐坏╀涘e(cuò),既影響新值進(jìn)入數(shù)據(jù)庫,也不方便修改舊值,通常只能刪除整條記錄,影響了用戶響應(yīng)效率和增加數(shù)據(jù)庫維護(hù)負(fù)擔(dān)。2.使用外鍵實(shí)現(xiàn)參照完整性。對(duì)于固有規(guī)則,從數(shù)據(jù)庫層面來保證數(shù)據(jù)的完整性更加嚴(yán)謹(jǐn),但要注意對(duì)于違背外鍵約束而不能進(jìn)入數(shù)據(jù)庫的數(shù)據(jù)要在系統(tǒng)實(shí)現(xiàn)時(shí)考慮如何返回詳細(xì)的錯(cuò)誤信息。另外,需給必要的常用的外鍵建立索引。3.使用約束和觸發(fā)器實(shí)現(xiàn)用戶定義完整性。如非空、限定范圍或者機(jī)構(gòu)號(hào)等數(shù)據(jù)集檢索。4.使用查找控制數(shù)據(jù)完整性控制數(shù)

15、據(jù)完整性的最佳方式就是限制用戶的選擇。只要有可能都應(yīng)該提供給用戶一個(gè)清晰的鍵值列表供其選擇。這樣將減少鍵入代碼的錯(cuò)誤和誤解同時(shí)提供數(shù)據(jù)的一致性。某些公共數(shù)據(jù)特別適合查找:國家代碼、狀態(tài)代碼等。靈活性和效率1.適當(dāng)建立視圖,視圖名稱應(yīng)以“v_”開頭。2.如果兩個(gè)實(shí)體之間存在多對(duì)一關(guān)系,而且還有可能轉(zhuǎn)化為多對(duì)多關(guān)系,那么最好一開始就設(shè)置成多對(duì)多關(guān)系。否則從現(xiàn)有的多對(duì)一關(guān)系轉(zhuǎn)變?yōu)槎鄬?duì)多關(guān)系相對(duì)復(fù)雜。3.對(duì)地址和電話考慮采用多個(gè)字段。4.選擇數(shù)字類型和文本類型的字段長度應(yīng)盡量充足。5.物理模型考慮對(duì)于大數(shù)據(jù)量的表,增加機(jī)構(gòu)、日期等字段方便后續(xù)做數(shù)據(jù)分片或集群。6.如果業(yè)務(wù)數(shù)據(jù)采用分庫存儲(chǔ),不同庫中的表名盡量不要重復(fù),以便需要時(shí)建立跨庫數(shù)據(jù)連接

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論