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

下載本文檔

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

文檔簡介

數(shù)據(jù)庫設計規(guī)范1編寫目的本文的目的是提出針對Oracle數(shù)據(jù)庫的設計規(guī)范,使利用Oracle數(shù)據(jù)庫進行設計開發(fā)的系統(tǒng)嚴格遵守本規(guī)范的相關約定,建立統(tǒng)一規(guī)范、穩(wěn)定、優(yōu)化的數(shù)據(jù)模型。參照以下原則進行數(shù)據(jù)庫設計:1)方便業(yè)務功能實現(xiàn)、業(yè)務功能擴展;2)方便設計開發(fā)、增強系統(tǒng)的穩(wěn)定性和可維護性;3)保證數(shù)據(jù)完整性和準確性;4)提高數(shù)據(jù)存儲效率,在滿足業(yè)務需求的前提下,使時間開銷和空間開銷達到優(yōu)化平衡。2數(shù)據(jù)庫策略1)數(shù)據(jù)模型全局單一,所有公共的數(shù)據(jù)模型得到共享。2)數(shù)據(jù)庫建模要基于統(tǒng)一的元數(shù)據(jù)管理機制。3)數(shù)據(jù)庫設計遵循關系數(shù)據(jù)庫的規(guī)范化理論。4)OLTP與OLAP分開設計。2.1數(shù)據(jù)庫對象長度策略數(shù)據(jù)庫字段的長度要考慮業(yè)務對象的類型、數(shù)據(jù)庫所用字符集、時間格式來設定出相對準確的長度,滿足業(yè)務需要,同時保證數(shù)據(jù)庫的高效,避免不必要的開銷。2.2數(shù)據(jù)完整性策略1)必須遵循數(shù)據(jù)庫設計的第二范式,根據(jù)業(yè)務需要盡量滿足第三范式。2)數(shù)據(jù)完整性盡量通過業(yè)務邏輯實現(xiàn),數(shù)據(jù)庫設計應盡量避免使用大量的外鍵約束,避免使用觸發(fā)器。2.3規(guī)范化設計與性能之間的權衡策略數(shù)據(jù)的標準化有助于消除數(shù)據(jù)庫中的數(shù)據(jù)冗余。如果數(shù)據(jù)冗余低,數(shù)據(jù)的一致性容易得到保證,如無特殊理由,OLTP系統(tǒng)的設計應當遵循第三范式,對于OLAP系統(tǒng),為了減少表間連接查詢的操作,提高系統(tǒng)的響應時間,合理的數(shù)據(jù)冗余是必要的。2.4字段類型的定義與使用策略1)數(shù)據(jù)類型的選用原則數(shù)據(jù)類型使用說明CHAR根據(jù)業(yè)務數(shù)據(jù)的特征決定是否使用CHAR類型,例如靜態(tài)編碼、固定年月日的時間字段等,避免數(shù)據(jù)變長的情況下使用CHAR類型VARCHAR2(N)Oracle數(shù)據(jù)庫VARCHAR2類型,根據(jù)業(yè)務數(shù)據(jù)特征定義適當?shù)拈L度,定義成偶數(shù)長度。REAL、FLOAT、INTEGER、NUEBEROracle數(shù)據(jù)庫必須使用NUEBERNUMBER(P,S)、NUMERIC(P,S)、DECIMAL(P,S)Oracle數(shù)據(jù)庫必須使用NUMBERDATE時間類型必須使用DATEBLOB(二進制數(shù)據(jù))、CLOB(字符數(shù)據(jù))2)數(shù)據(jù)類型長度的選用參考:如果以下字段類型和長度能滿足設計要求,必須遵循以下字段選用原則數(shù)據(jù)類型常用類型CHARCHAR(1)本規(guī)范不推薦長度不為1的字段使用char類型VARCHAR2(N)VARCHAR2(2)VARCHAR2(4)VARCHAR2(8)VARCHAR2(10)VARCHAR2(16)VARCHAR2(20)VARCHAR2(30)VARCHAR2(40)VARCHAR2(50)VARCHAR2(100)VARCHAR2(200)VARCHAR2(400)VARCHAR2(1000)VARCHAR2(2000)NUMBERNUMBER(P,S)DATEBLOB3)常用字段定義:l涉及銷售額等金額的數(shù)值:NUMBER(16,2)l涉及稅率、比例、分成的數(shù)值:NUMBER(10,6)l涉及貨物單價的數(shù)值:NUMBER(16,6)l涉及人數(shù)的數(shù)值:NUMBER(10)l涉及人名的:VARCHAR2(50)l涉及單位名稱、地址的:VARCHAR2(100)l涉及說明、理由、意見的:VARCHAR2(200)loptr_code,建議在業(yè)務表中增加該字段,表示操作員工號;lopt_date,建議在業(yè)務表中增加該字段,表示操作時間;lremark,建議在業(yè)務表中增加該字段,作為備用字段;lstand,建議在業(yè)務表中增加該字段,作為備注;l描述“是、否”類型的字段命名,避免使用“IS_”開頭。3命名規(guī)范3.1數(shù)據(jù)庫命名規(guī)則數(shù)據(jù)庫命名規(guī)則如下:項目簡稱+1位數(shù)據(jù)庫類型代碼+識別代碼+序號數(shù)據(jù)庫類型代碼:1)T:業(yè)務型數(shù)據(jù)庫2)A:分析型數(shù)據(jù)庫3)H:歷史數(shù)據(jù)庫識別代碼:1)DEV:開發(fā)數(shù)據(jù)庫2)TEST:測試數(shù)據(jù)庫如果一種類型的數(shù)據(jù)庫一個數(shù)據(jù)庫,則不加序號,否則末尾增加序號。如果是生產(chǎn)庫則不加識別代碼,否則需要增加愛識別代碼DEV或TEST如果只作歷史庫,部分生產(chǎn)、開發(fā)或者測試,則只需要項目簡稱+H+序號舉例:出入系統(tǒng)業(yè)務生產(chǎn)庫:AOCT、AOCT1、AOCT2出入系統(tǒng)業(yè)務開發(fā)庫:AOCTDEV、AOCTDEV1、AOCTDEV2出入系統(tǒng)業(yè)務測試庫:AOCTTEST、AOCTTEST1、AOCTTEST23.2數(shù)據(jù)庫對象命名的一般原則數(shù)據(jù)庫對象的命名應該以最少的字母達到最容易理解的意義。如果沒有特殊規(guī)定,數(shù)據(jù)庫對象及其屬性的命名應滿足如下條件:1)命名不推薦使用保留字;2)數(shù)據(jù)庫實體統(tǒng)一采用英文命名;3)對象命名長度最好不要超過18個字符,縮寫要易于理解,符合通用的習慣,例如部門編碼縮寫:dept_code,組織機構編碼縮寫:org_code。4)前導字符為A至Z5)非前導字符可以為:lA至Zl0至9l_(下劃線字符)3.3表空間(Tablespace)命名規(guī)則1)表空間l表空間的描述規(guī)則統(tǒng)一為:TS_業(yè)務規(guī)則。l例如:TS_CRM等2)臨時表空間臨時表空間的描述規(guī)則統(tǒng)一為:TS_TMP_業(yè)務規(guī)則。3.4表(Table)命名規(guī)則1)業(yè)務數(shù)據(jù)庫中的數(shù)據(jù)表命名規(guī)則:子系統(tǒng)簡稱_業(yè)務含義2)分析型數(shù)據(jù)庫中的數(shù)據(jù)表操作型數(shù)據(jù)存儲區(qū)中的數(shù)據(jù)表:ODS_業(yè)務規(guī)則。事實表:FACT_業(yè)務規(guī)則。維表數(shù)據(jù):DIM_業(yè)務規(guī)則。中間表:MID_業(yè)務規(guī)則。3.5字段命名規(guī)則1)主鍵與外鍵必須使用相同的字段名和數(shù)據(jù)類型(含數(shù)據(jù)精度);盡量少使用聯(lián)合主鍵;主鍵的命名有一定的含義,不要只寫成“ID”之類的字段名;主鍵的生成規(guī)則有一定的含義,比如前綴+流水號規(guī)則,不要使用自增主鍵,不要使用數(shù)字類型。2)凡與業(yè)務含義無關的主鍵一律加_ID后綴。如PARTY_ID;3)凡是具有業(yè)務含義的編碼(或代碼)等字段一律加_CODE后綴。如PARTY_CODE;4)凡是名稱、姓名等字段一律加_NAME后綴。如PARTY_NAME;3.6視圖(View)命名規(guī)則命名規(guī)則:VW_子系統(tǒng)簡稱_業(yè)務含義。3.7序列(Sequence)命名規(guī)則命名規(guī)則:SEQ_表名。3.8存儲過程(Procedure)的命名規(guī)則命名規(guī)則:PRC_子系統(tǒng)簡稱_業(yè)務含義。3.9函數(shù)(Function)的命名規(guī)則命名規(guī)則:FUN_子系統(tǒng)簡稱_業(yè)務含義。3.10索引(Index)命名規(guī)范命名規(guī)則:IDX_表名_有關字段。不允許使用自動生成的索引。3.11約束(Constraint)命名規(guī)范主鍵(PrimaryKeyConstraint):PK_表名,需要考慮主鍵長度太長無法創(chuàng)建的情況,表名部分要盡量簡化且易于區(qū)分。外鍵(ForeignKeyConstraint):FK_表名_字段_被參照(referenced)表名,需要考慮外鍵長度太長無法創(chuàng)建的情況,表名部分要盡量簡化且易于區(qū)分。4數(shù)據(jù)模型產(chǎn)出物規(guī)范1)PDM文件數(shù)據(jù)模型產(chǎn)出物統(tǒng)一為PDM文件。各個項目根據(jù)情況,可以區(qū)分概念模型和物理模型;2)XML文件數(shù)據(jù)模型需要產(chǎn)出相應的XML文件,通過PDM進行轉換,具體xml使用說明參照附錄A。3)建表腳本數(shù)據(jù)庫的建表腳本作為數(shù)據(jù)庫設計的規(guī)范產(chǎn)出物,需要嚴格進行版本控制,有統(tǒng)一的命名規(guī)范,命名規(guī)范如下:l創(chuàng)建表腳本:項目簡稱_create_table.sql。l修改表腳本:項目簡稱_alter_table.sql,在原有表的基礎上做的修改,增加字段、主鍵、外鍵、索引等。l創(chuàng)建存儲過程腳本:項目簡稱_create_prc.sql,所有涉及存儲過程的創(chuàng)建和修改,必須實時更新此文件。l創(chuàng)建函數(shù)腳本:項目簡稱_create_fu

溫馨提示

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

評論

0/150

提交評論