數(shù)據(jù)庫設計說明書(XXXXX項目)_第1頁
數(shù)據(jù)庫設計說明書(XXXXX項目)_第2頁
數(shù)據(jù)庫設計說明書(XXXXX項目)_第3頁
數(shù)據(jù)庫設計說明書(XXXXX項目)_第4頁
數(shù)據(jù)庫設計說明書(XXXXX項目)_第5頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、DOC. NO. Confidential(秘密)數(shù)據(jù)庫結(jié)構文檔模板后臺管理部分Version 1.0.02003-10-11All Rights Reserved目錄文檔更新記錄更新內(nèi)容更新人員日期修改說明文檔創(chuàng)建饒貴翔2004-09-30文檔修改1. 總體思路1.1. 設計原則1.1.1. 數(shù)據(jù)表分布的無關性如果子系統(tǒng)比較多,數(shù)據(jù)庫結(jié)構設計時,應該能夠不同業(yè)務子系統(tǒng)可以分布在不同數(shù)據(jù)用戶下,同事也可以根據(jù)需要合并在同一個數(shù)據(jù)用戶,同時,再數(shù)據(jù)需要整合到統(tǒng)一信息平臺時,能夠在信息平臺上,按照原來的表名與原來的業(yè)務系統(tǒng)數(shù)據(jù)表一一對應。² 在同一個數(shù)據(jù)用戶下不同業(yè)務子系統(tǒng)的數(shù)據(jù)表應能保

2、證1) 不同業(yè)務子系統(tǒng)的數(shù)據(jù)表的命名,應保持全局唯一性,不應出現(xiàn)同名的數(shù)據(jù)表。2) 通過數(shù)據(jù)表的前綴,區(qū)分不同子系統(tǒng)、不同的業(yè)務分組。數(shù)據(jù)表命名規(guī)則: 前綴符_數(shù)據(jù)表名前綴符的命名規(guī)則,根據(jù)項目實際情況制定。舉例: D 標識公文管理子系統(tǒng) F 表示公文管理的流程部分;流轉(zhuǎn)內(nèi)容表可為 DF_Content1.1.2. 數(shù)據(jù)結(jié)構可讀能力數(shù)據(jù)結(jié)構可讀能力主要體現(xiàn)在,不需要查詢數(shù)據(jù)庫文檔:² 通過命名就能夠得知數(shù)據(jù)表、數(shù)據(jù)字段的含義、作用。² 通過命名就能夠得知不同數(shù)據(jù)表之間的關聯(lián)關系。² 通過命名、組織方式,就能夠基本得知數(shù)據(jù)表的數(shù)據(jù)填寫規(guī)則。主要方法:盡可能使用英文命

3、名,不使用中文或者簡寫。每個英文單詞一般都有比較固定、確切的含義,即使使用的單詞一時不認識,也可以通過查閱英漢字典既可得知;英漢字典是一個大眾化的工具,隨處可得。中文拼音存在一下缺陷:1) 同音字太多。同樣的一個拼音,就可能有多個含義;采用中文拼音,數(shù)據(jù)結(jié)構就可能會發(fā)生歧義。2) 如果使用拼音簡寫,就更加會發(fā)生歧義的現(xiàn)象。3) 因此,不使用中文拼音或者拼音簡寫。使用英文單詞,可能存在的問題:1) 公安專業(yè)的英文一般有其專業(yè)規(guī)定,設計人員不一定能夠熟知公安專業(yè)英語的要求。2) 有些英文單詞比較長3) 有些中文描述很難找到準確的英文描述。解決方案:1) 英文命名不一定要精確的反映業(yè)務表、字段的準確

4、含義,只需要基本描述出其含義、作用既可。2) 可以使用英文簡寫,并建立簡寫對照表,供查閱。英文簡寫有:業(yè)界通用的英文簡寫以及沒有通用的簡寫。如果存在業(yè)界通用簡寫或者英語通用簡寫,應遵照其簡寫習慣。1.1.3. 數(shù)據(jù)可閱讀可追溯能力1) 數(shù)據(jù)編碼體系中有不少是采用數(shù)字編碼。數(shù)字編碼需要查閱數(shù)據(jù)字典,才能得知代碼代表的含義,可讀性不強;在查詢時,還需要與數(shù)據(jù)字典關聯(lián),才能得知數(shù)據(jù)屬性,執(zhí)行效率低。措施:為了加強數(shù)據(jù)數(shù)據(jù)可閱讀能力、提高查詢效率,在數(shù)據(jù)庫設計時,一般用一個字段存儲編碼,另外一個字段存儲明文解釋。2) 檔案類數(shù)據(jù)引用。一個業(yè)務數(shù)據(jù)表往往有用到檔案類數(shù)據(jù)(如商品檔案、人員檔案、部門檔案、

5、單位檔案等)。通常做法是只保留檔案編碼;這種方法會存在如下問題:a) 檔案類的數(shù)據(jù),編碼一般只有規(guī)則,單個代碼并沒有明確的對照關系。如果數(shù)據(jù)表為歷史業(yè)務資料,當檔案中編碼對應的對象解釋發(fā)生改變時,歷史信息也隨之發(fā)生改變。但是,作為歷史資料,它應該記載該資料發(fā)生時當前的狀態(tài);檔案數(shù)據(jù)的變化,將破壞這種狀態(tài).。b) 數(shù)據(jù)查詢時需要關聯(lián)引用檔案數(shù)據(jù),才能夠得到代碼的解釋,執(zhí)行效率慢。3) 狀態(tài)類編碼、事物分類性編碼,如果沒有部標規(guī)定,建議使用明碼。部標一般規(guī)定事物分類性的編碼。事物性編碼,可以采用數(shù)字編碼明文的方式。4) 業(yè)務歷史數(shù)據(jù)表的設計原則業(yè)務歷史數(shù)據(jù)表主要指記載業(yè)務歷史信息;業(yè)務信息發(fā)生后,

6、一般不發(fā)生動態(tài)變化。如業(yè)務受理歷史等信息。業(yè)務歷史數(shù)據(jù)表的編碼 一般采用 編碼字段 明文字段 的原則。歷史數(shù)據(jù)表,要求能夠單表脫離原來的關聯(lián)環(huán)境,依然能夠還原數(shù)據(jù)的含義。例如: 某業(yè)務對象的歸屬單位,一般設計原則是只存放歸屬單位代碼。 這種情況會導致以下現(xiàn)象發(fā)生; a) 歸屬單位代碼 所對應的單位名稱發(fā)生變化,此時5) 動態(tài)數(shù)據(jù)表的設計原則數(shù)據(jù)是動態(tài)變化的,如庫存數(shù)據(jù)表等。這種表的編碼 一般只需要 編碼字段。1.1.4. 數(shù)據(jù)結(jié)構的統(tǒng)一性數(shù)據(jù)結(jié)構的統(tǒng)一包括:標識符命名的統(tǒng)一、邏輯結(jié)構的統(tǒng)一。相同業(yè)務含義的標識符命名統(tǒng)一。不同業(yè)務子系統(tǒng)、不同數(shù)據(jù)表的字段,如果業(yè)務含義相同,其命名相同。如“性別”

7、字段的統(tǒng)一命名部標編碼字段:sexCode , 明文字段:sex 1.1.5. 與不同系統(tǒng)可交互能力 公安有非常多的子系統(tǒng),為了加強數(shù)據(jù)交互能力,公安部制定了不少編碼標準、數(shù)據(jù)標準。為了保證與其他系統(tǒng)的數(shù)據(jù)交互能力,凡是存在公安部標準的,都應該使用公安部標準。1.1.6. 性能設計原則1.1.6.1. 數(shù)據(jù)庫的結(jié)果,SQL 條件中不應出現(xiàn)函數(shù)數(shù)據(jù)庫設計的結(jié)果,以在SQL條件語句中數(shù)據(jù)庫字段不出現(xiàn)在函數(shù)中為原則。 如: 可以根據(jù) 員工號碼 的前三位 是部門號。 非法設計: Create table U_wk( WkNo VARCHAR2 (20) , WkNa VARCHAR2(50); 該表將

8、導致查找 某部門 的員工時,會出現(xiàn)SQL SELECT * FROM U_Wk WHERE SUBSTR( WkNo , 1 , 3) = ? ; 合法設計: Create table U_wk( WkNo VARCHAR2 (20) , WkNa VARCHAR2(50) , DeptNo VARCHAR2(3) ); 此設計中,保持WkNo 的編碼原則不變,增加一個字段DeptNo , 數(shù)值 = SUBSTR( WkNo,1,3) 這種設計一方面提高性能,另外一方面可以加強可讀性。1.1.6.2. 外鍵與外鍵關鍵詞同表原則外關聯(lián)比較多的數(shù)據(jù)表,外鍵的關鍵詞應同時收列到該表中。有利于提高查詢

9、速度以及數(shù)據(jù)的可讀性。1.1.6.3. 建索引的原則² 經(jīng)常需要被放在條件語句中字段,或者業(yè)務中經(jīng)常需要列入查詢條件的,可以建立索引。² 多個經(jīng)常被組合在一起使用的字段,可以把這些字段建立組合索引。² 多字段組合索引的順序:取值范圍大的字段放在左邊,小的放在右邊。這種方式,有利于數(shù)據(jù)庫系統(tǒng)更加的迅速定位到所需要的記錄。² 除非有特殊需要,取值范圍不超過10個值的字段,不建立獨立索引。1.1.6.4. 巨字段的分割原則。如果一個業(yè)務數(shù)據(jù)表包含BLOB 、CLOB 、LONG RAW 、LONG 等巨字段,應把巨字段應該獨立于其他業(yè)務數(shù)據(jù),單獨建立一個數(shù)據(jù)表

10、存放巨字段,以提高系統(tǒng)查詢速度。原理分析: 巨字段將占用大量存儲空間,而且一般是非線形存儲,而是鏈型存儲。從上一條記錄移位到下一條記錄,將耗費大量的系統(tǒng)資源與處理時間,從而導致系統(tǒng)查詢效率低下;特別是查詢條件中,存在無法使用索引的字段,此時查詢效率將非常的低下。非法: CREATE TABLE doc_Doc( DocId VARCHAR2(12), DocName VARCHAR2 VARCHAR2 , DocTitle VARCHAR2(200) , CreateTime DATE , CreateDeptNo VARCHAR2,DocContent BLOB ) ; 合法: CREATE

11、 TABLE doc_Doc( DocId VARCHAR2(12), DocName VARCHAR2 VARCHAR2 , DocTitle VARCHAR2(200) , CreateTime DATE , CreateDeptNo VARCHAR2 ) ; CREATE TABLE Doc_DocContent( DocId VARCHAR2(12) , DocContent BLOB ) ; 1.1.6.5. 數(shù)據(jù)庫存儲設計原則(碎片規(guī)避原則)1) 經(jīng)常被修改的數(shù)據(jù)表,應單獨放置在獨立的表空間,不能與其他業(yè)務表混合放在同一個表空間。這種表,一般原則是數(shù)據(jù)表一個表空間,索引一個表空間。

12、原理分析: 經(jīng)常修改的數(shù)據(jù)表容易造成數(shù)據(jù)表空間的存儲碎片,不僅會導致數(shù)據(jù)表本身會有大量不連續(xù)空間存在,而且會導致其他數(shù)據(jù)表存在大量不連續(xù)空間,導致數(shù)據(jù)遍歷效率下降。2) 數(shù)據(jù)量比較大的數(shù)據(jù)表,應單獨放置在獨立的表空間,不能與其他業(yè)務表混合放在同一個表空間。這種表,一般原則是數(shù)據(jù)表一個表空間,索引一個表空間。原理分析: 數(shù)據(jù)量比較大的數(shù)據(jù)表,如果其存儲能夠連續(xù)存儲,將能提高它的處理效率。 如果與其他數(shù)據(jù)表混合在同一個表空間,其他表的修改活動產(chǎn)生的大量碎片,會導致大數(shù)據(jù)量數(shù)據(jù)表的存在大量的不連續(xù)空間,從而影響其遍歷效率。3) 存在BLOB字段的數(shù)據(jù)表,應在獨立的表空間中。4) 經(jīng)常會發(fā)生修改操作的

13、大數(shù)據(jù)表,在數(shù)據(jù)庫性能設計時。應周期性的重建索引,以清除索引中存在的碎片。應周期性的倒出數(shù)據(jù)表,再導入數(shù)據(jù)表,以清除數(shù)據(jù)表中存在的碎片。1.1.7. 死鎖規(guī)避設計原則1) 如果一次事務中的需要修改多個數(shù)據(jù)表的記錄,應有一個關鍵表;關鍵表的一條記錄,可以唯一的對應事務中多個數(shù)據(jù)表的記錄。2) 如果一次事務中,需要修改一張表的多條記錄,應有一個關鍵表;關鍵表的一條記錄,可以唯一對應事務中的多條記錄。3) 在數(shù)據(jù)庫設計中,應根據(jù)業(yè)務特點,明文約定業(yè)務處理中:a) 不同數(shù)據(jù)表的處理順序。b) 同一張表的多條記錄修改時的排序字段。1.1.8. s國標/行標字段的使用1.1.8.1. 背景1) 公安部門目

14、前制定了不少行業(yè)標準的編碼體系。2) 目前單位存儲容量的價格已經(jīng)非常便宜;可以考慮適當?shù)娜哂?,換取較高的系統(tǒng)響應性能、數(shù)據(jù)可閱讀性能。1.1.8.2. 目標1) 每個庫結(jié)構應該具備公安編碼字段,以加強后期與公安不同系統(tǒng)之間可交互能力。2) 每個庫結(jié)構同時具備編碼字段、明文字段。公安標準一般為數(shù)字編碼,本身沒有實際意義;為加強系統(tǒng)查詢執(zhí)行效率,避免過多取值關聯(lián)造成的查詢效率的下降,同時加強系統(tǒng)記錄的可讀能力,在具備編碼字段的同時,每個編碼字段都應該具備一個明文字段。如:性別,公安部有編碼標準;此時應該有兩個字段:sexCode 性別編碼 sex 性別明文。1.1.8.3. 命名規(guī)則公安部編碼字段

15、,一般采用 xxxCode ,明文字段為 xxx 如:性別編碼字段 sexCode , 性別明文字段 sex 1.2. 標識符命名的基本原則1.2.1. 總則數(shù)據(jù)庫主要標識符包括:表名、字段名、索引名稱等。1) 盡可能采用英文命名,不能采用中文簡寫或其他無法準確表達標識符含義的方法。2) 為了增加數(shù)據(jù)結(jié)構的可讀性,標識符的命名必須能夠大致準確表達標識符所表達的作用或內(nèi)容;不允許出現(xiàn)意義模糊的命名方式,特別是不允許出現(xiàn)一些毫無含義的標識符。舉例 合法:D_SrcOrg - 源庫所在機構表D_SrcTable - 源庫定義非法: D_Ybszjg -源庫所在機構表-非法,使用中文簡寫,非項目成員無

16、法在沒有文檔的情況下得知-該表的作用 D_A001 - 源庫定義-非法,根本無法根據(jù)標志符得知該表的作用1.2.2. 表的命名1.2.2.1. 主要原則1) 表的命名根據(jù)業(yè)務特點分組,能夠根據(jù)表名得知該表所在的功能或業(yè)務組,便于數(shù)據(jù)表的組織管理2) 可以按多級分組來組織表的命名1.2.2.2. 分割符的使用1) 上級分組與下級的分組間的分割符為下劃線 “_”2) 只有第1級分組才能使用分隔符1.2.2.3. 目前的分組D_數(shù)據(jù)管理所使用的數(shù)據(jù)表1.2.3. 常用單詞1.2.3.1. 常用單詞縮寫序號單詞全稱說明1IDIdentify唯一標識ID 號一般用于系統(tǒng)內(nèi)部生成的唯一標識號,不能被用戶修

17、改。2NONo.編碼一般用于用戶輸入的對象編碼??梢孕薷?,一般也有一定的唯一性。一般與其他單詞聯(lián)合使用。如DeptNo, WkNo3NumNumber 數(shù)量,靜態(tài)數(shù)量.一般指某種物品或者對象的數(shù)量。4CntCount計數(shù)器。一般用于狀態(tài)計數(shù),指某種動作或者某種狀態(tài)發(fā)生變化的次數(shù)。如 PrnCnt : 打印計數(shù) ChgCnt : 變動計數(shù)5TotTotal總數(shù)。用戶輸入的某些數(shù)值的總數(shù)。6SumSum總數(shù)和。系統(tǒng)自動累加的總數(shù)值7NaName名稱縮寫,與其他單詞聯(lián)合使用,不能單獨使用。如:WkNa :員工名稱 DeptNa : 單位名稱8NameName名稱??梢耘c其他單詞聯(lián)合使用,也可以單獨使

18、用。如:WorkName , DeptName9DeptDept單位一般用于用戶對外單位時使用: 如:DeptNo : 單位編碼DeptNa : 單位名稱內(nèi)部單位(權限)一般使用Grp10GrpGroup工作組,團隊一般用于用戶內(nèi)部單位如:GrpNo : 部門號 GrpNa : 部門名稱11WkWorker工人(員工)如:WkNo :工號 WkNa : 員工名稱1.2.3.2. 業(yè)務系統(tǒng)常用單詞序號單詞全稱說明45671.2.4. 系統(tǒng)中使用的表空間名稱一般大小作用2. 數(shù)據(jù)字典2.1. 字典分類12.1.1. 字典1字典名稱引用標準編碼規(guī)則編碼對照表序號編碼明文備注2.1.2. 字典2字典名稱引用標準編碼規(guī)則編碼對照表序號編碼明文備注3. 業(yè)務大類13

溫馨提示

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

評論

0/150

提交評論