溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

SQLServer數(shù)據(jù)庫有哪些設(shè)計(jì)規(guī)范

發(fā)布時(shí)間:2021-06-24 14:46:49 來源:億速云 閱讀:191 作者:Leah 欄目:數(shù)據(jù)庫

這篇文章給大家介紹SQLServer數(shù)據(jù)庫有哪些設(shè)計(jì)規(guī)范,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。

  SQLServer數(shù)據(jù)庫的設(shè)計(jì)規(guī)范有什么

  1、對(duì)象注釋規(guī)則:

  注釋頭:注釋頭應(yīng)該表明此對(duì)象具體實(shí)現(xiàn)功能,與之相關(guān)的對(duì)象以及操作參數(shù)、作者及最后修改時(shí)間。

  存儲(chǔ)過程:CalLnIncome

  相關(guān)數(shù)據(jù):

  LnLineInfo,lnStation:提供線路及線路分成信息。

  pbTransportBill,pbTrnasInfo:提供運(yùn)量單數(shù)據(jù)。

  lnInComeList:計(jì)算結(jié)果保存在此表中。

  執(zhí)行成功標(biāo)記:lnCostList表內(nèi)有最新時(shí)段的加總分成數(shù)據(jù)最后修改:Byyczyk,2003.11.20

  注釋內(nèi)容:系統(tǒng)操作類一般都寫在語句開始和最后,它與具體業(yè)務(wù)語句用分隔符分開!

  SETQUOTED_IDENTIFIERONSETANSI_NULLSONSETANSI_WARNINGSONSETXACT_ABORTONdeclare@ServerNamevarchar(50),@UserNamevarchar(20),@Passwordvarchar(20),@DBNamevarchar(30),@TableQueryvarchar(4000)--參數(shù)定義select@ServerName=vcComputer,@UserName=vcUserName,@Password=vcPassword,@DBName=vcDataBasefromsmDataParamset@TableQuery='select*into##QJGroupInfofromopendatasource('+'''SQLOLEDB'','+'''DataSource='+rtrim(@ServerName)+';UserID='+rtrim(@UserName)+';Password='+rtrim(@Password)+''').'+rtrim(@DBName)+'.dbo.QJGroupInfo'--將數(shù)據(jù)導(dǎo)到當(dāng)前連接服務(wù)器的全局臨時(shí)表中備用,以后只要操作##QJGroupInfo表就可以exec(@TableQuery)updatesmDeptsetvcDeptName=t.GroupNamefrom(selectm.vcTransDeptNo,g.GroupNamefrom##QJGroupInfoginnerjoinsmDeptRelatemonm.vcSourceDeptNo=g.GroupIDwherem.RelateKind=0)astwherecDeptNo=t.vcTransDeptNo

  SQLServer數(shù)據(jù)庫的設(shè)計(jì)規(guī)范有什么

  2、數(shù)據(jù)庫設(shè)計(jì)規(guī)范數(shù)據(jù)庫設(shè)計(jì)分為邏輯設(shè)計(jì)和物理設(shè)計(jì)

  一般建議先對(duì)數(shù)據(jù)庫進(jìn)行邏輯建模,再將邏輯上的設(shè)計(jì)映射于物理設(shè)計(jì)。在邏輯設(shè)計(jì)時(shí),請(qǐng)注意對(duì)象之間的關(guān)聯(lián)性和數(shù)據(jù)的冗余性。表設(shè)計(jì)原則:每個(gè)表中都可以考慮添加的3個(gè)有用的字段。

  ?RecoredID,記錄唯一編號(hào),不建議采用業(yè)務(wù)數(shù)據(jù)作為記錄的唯一編號(hào)。

  ?CreationDate,而在SQLServer下默認(rèn)為GETDATE()。

  ?RecordCreator,在SQLServer下默認(rèn)為NOTNULLDEFAULTUSER。

  ?RecordVersion,記錄的版本標(biāo)記;有助于準(zhǔn)確說明記錄中出現(xiàn)null數(shù)據(jù)或者丟失數(shù)據(jù)的原因數(shù)據(jù)類型:一般不建議采用char而采用varchar數(shù)據(jù)類型,除非當(dāng)這列數(shù)據(jù)的長度特別固定時(shí)可以考慮用char。

  char存在不足數(shù)值類型

  假如表示金額貨幣建議用money型數(shù)據(jù),假如表示科學(xué)記數(shù)建議用numeric數(shù)據(jù)類型。一般采用int類型標(biāo)識(shí)唯一一行記錄。此列是否采用自動(dòng)累增視具體情況而定。假如需要在保存之前得到此標(biāo)記次序,假如你要嚴(yán)格控制記錄的加入次序,也不能用自動(dòng)累增類型。

  所有的表都應(yīng)該有一個(gè)主鍵索引,這對(duì)提高數(shù)據(jù)庫的性能很有幫助。假如表中能夠用幾個(gè)字段確定一筆記錄,可以考慮建立唯一索引,但建立了唯一索引后就有了一個(gè)約束,如,假如一個(gè)表記錄數(shù)過多,而自己如何建立索引不太熟悉,可以考慮在查詢分析器里索引優(yōu)化向?qū)У玫絊QLServer。你可以在分析器里執(zhí)行指定語句的查詢執(zhí)行計(jì)劃,根據(jù)執(zhí)行計(jì)劃顯示的查詢成本來調(diào)整相應(yīng)的查詢語句。

  保證數(shù)據(jù)的一致性和完整性:

  主外鍵關(guān)聯(lián)

  建立主外鍵關(guān)聯(lián)可以降低數(shù)據(jù)冗余,提高查詢效率。雖然平時(shí)我們可以用join語句在不同的表之間進(jìn)行關(guān)聯(lián),以在設(shè)計(jì)完表后通過企業(yè)管理器的關(guān)系圖統(tǒng)一建立好關(guān)聯(lián)圖。所有的關(guān)聯(lián)都建立好了后,我們可以在視圖的建立里表中就應(yīng)該記錄當(dāng)時(shí)的商品售價(jià)了。

  建立約束實(shí)現(xiàn)數(shù)據(jù)有效性檢測(cè)

  你可以為某一列特別重要的值建立好約束。例如,你需要憑數(shù)據(jù)庫里面的SaleKind列數(shù)據(jù)判定銷售類別,你有0值為門店銷售,1為網(wǎng)上銷售。你系統(tǒng)只有這兩種銷售渠道,你就應(yīng)該為它建立約束,它的值只能在0和1之間。即SaleKind>0andSaleKind<3。設(shè)置默認(rèn)值操作數(shù)據(jù)庫不建議用SA用戶,因?yàn)镾A用戶權(quán)限過大。具體的應(yīng)用應(yīng)該創(chuàng)建相應(yīng)的數(shù)據(jù)庫操作用戶,并只賦給它指定了異常建議寫入數(shù)據(jù)庫的日志表,查詢?nèi)罩颈硪园l(fā)現(xiàn)自己程序中操作數(shù)據(jù)庫中的失誤。  

關(guān)于SQLServer數(shù)據(jù)庫有哪些設(shè)計(jì)規(guī)范就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI