數(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頁,還剩6頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

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

溫馨提示

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

評論

0/150

提交評論