OICS-01-05-數(shù)據(jù)庫開發(fā)規(guī)范v_第1頁
OICS-01-05-數(shù)據(jù)庫開發(fā)規(guī)范v_第2頁
OICS-01-05-數(shù)據(jù)庫開發(fā)規(guī)范v_第3頁
OICS-01-05-數(shù)據(jù)庫開發(fā)規(guī)范v_第4頁
免費預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

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

文檔簡介

1、.運行內(nèi)控系統(tǒng)項目數(shù)據(jù)庫開發(fā)規(guī)范OICS-01-05-數(shù)據(jù)庫開發(fā)規(guī)范v1.01微軟(中國)有限公司顧問咨詢部2021年11月修改日期修改人修改內(nèi)容2007-7-31戴輝江V1.00發(fā)布2007-9-11陸敏杰V1.01發(fā)布,增加存儲過程開發(fā)規(guī)范一、數(shù)據(jù)庫的概念設(shè)計概念設(shè)計的目標(biāo)是反映系統(tǒng)信息需求的系統(tǒng)概念結(jié)構(gòu),概念模型不依賴于具體的計算機(jī)系統(tǒng)核數(shù)據(jù)庫產(chǎn)品。將概念模型從具體的數(shù)據(jù)庫表結(jié)構(gòu)中提煉出來,不但能夠有效的降低數(shù)據(jù)庫設(shè)計的復(fù)雜性,而且為產(chǎn)品的可移植性打下了良好的基礎(chǔ)。同時由于概念模型中不含具體數(shù)據(jù)庫產(chǎn)品的技術(shù)細(xì)節(jié),更容易為用戶所理解,因而更有可能準(zhǔn)確反映用戶的需求。概念設(shè)計采用好的工具可體

2、改設(shè)計的效率和工作質(zhì)量,本系統(tǒng)概念設(shè)計統(tǒng)一使用MS VISIO 2003。二、數(shù)據(jù)庫的邏輯設(shè)計邏輯設(shè)計又稱為實現(xiàn)設(shè)計,邏輯設(shè)計的目的是從概念結(jié)構(gòu)中導(dǎo)出特定的關(guān)系數(shù)據(jù)庫產(chǎn)品可實現(xiàn)的數(shù)據(jù)邏輯模式結(jié)構(gòu)和功能。這些模式在功能、性能、完整性、一致性約束和數(shù)據(jù)庫的可擴(kuò)展性等方面均應(yīng)滿足用戶的各種要求。關(guān)系數(shù)據(jù)庫產(chǎn)品的選擇是一個至關(guān)重要的問題,綜合考慮,本系統(tǒng)采用MS SQL2005。數(shù)據(jù)庫對象命名規(guī)范:命名要素命名要求示例備注表名名詞Order視圖vw+_+表名vw_Order過程usp+_+動詞名詞usp_InsertOrder參數(shù)名采用第一個字母小寫的Camel函數(shù)fn+_+動詞名詞fn_Insert

3、Order參數(shù)名采用第一個字母小寫的Camel索引ix+_+表名+_字段名ix_Order_ID觸發(fā)器tg+_+表名+觸發(fā)事件類型tg_Order_Add邏輯設(shè)計評審后提交文檔:1) 數(shù)據(jù)庫設(shè)計文檔所有數(shù)據(jù)庫對象設(shè)計說明:表(table)、索引(index)、限制(constraint)、觸發(fā)器(trigger)、存儲(store procedure)過程等的功能說明、使用方法、注意事項的綜合說明文檔2) 數(shù)據(jù)庫對象登記表3) 各存儲過程和觸發(fā)器腳本三、數(shù)據(jù)存儲過程開發(fā)規(guī)范Stored Procedure names should follow this syntax:usp_ Action

4、MainTableName By FieldName(optional)  1     2              3                   4           1 All stored p

5、rocedures must have the prefix of 'usp_'. All internal SQL Server stored procedures are prefixed with "sp_", and it is recommended not to prefix stored procedures with this as it is a little slower. 2 The action which this Stored Procedure performs. 3 The name of the table that the

6、 Stored Procedure accesses.4 (optional) The name of the field that are in the WHERE clause. ie. Usp_SelectClientByClientIDIf Stored Procedure returns a recordset then suffix is 'Select'.If Stored Procedure returns an output parameter and nothing else then make the suffix is 'Get'.If

7、Stored Procedure inserts data then suffix is 'Insert'.If Stored Procedure updates data then suffix is 'Update'.If Stored Procedure Inserts and updates then suffix is 'Save'.If Stored Procedure deletes data then suffix is 'Delete'. If Stored Procedure refreshes data (i

8、e. drop and create) a table then suffix is 'Create'.存儲過程編寫注意問題(1)、對于所有的查詢語句,如果不會產(chǎn)生數(shù)據(jù)問題,必須使用nolock方式。 比如:   Select MistakeNo from MistakeBook With (nolock)。 (2)、所有對表的查詢語句,查詢時必須帶主鍵。如果不是,通過討論認(rèn)可才可以。 (3)、所有的語句不能使用模糊匹配(即用“%”,包括通用查詢中)。若需要模糊匹配,必須通過討論審批才可以。 (4)、不能使用 In (

9、Select CPCTaskId from WorkflowTaskData)這種In的寫法,而必須使用join的寫法。 (5)、不能采用Not In, Distinct的寫法。 (6)、為了判別某條語句是否存在,請使用Exists (select 關(guān)鍵字字段或者一個常數(shù)的1等),不要采用其它字段。對于Select Count也是如此,不能使用Count(*),而要使用Count(select 關(guān)鍵字字段或者一個常數(shù)的1等)。 (7)、在Where條件中,不允許對數(shù)據(jù)庫字段使用Function。比如:Where Year(LoginDateTime)>2008年是不允許的。 (8)、在Where條件中,不允許在條件中有不同的數(shù)據(jù)類型。比如:不能用Where LoginDateTime>2005-09-09而必須是Where LoginDateTime>Cas

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論