新聞中心
我們在設(shè)計SQL Server數(shù)據(jù)庫的時候,要遵循一定的設(shè)計規(guī)范,這樣設(shè)計出來的數(shù)據(jù)庫才能高效、安全、可靠。本文我們就介紹一下SQL Server數(shù)據(jù)庫的設(shè)計規(guī)范,接下來就讓我們來一起了解一下這部分內(nèi)容。

站在用戶的角度思考問題,與客戶深入溝通,找到隆林網(wǎng)站設(shè)計與隆林網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都網(wǎng)站制作、成都網(wǎng)站設(shè)計、外貿(mào)營銷網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、域名申請、虛擬主機、企業(yè)郵箱。業(yè)務(wù)覆蓋隆林地區(qū)。
1、對象注釋規(guī)則:
注釋頭:注釋頭應(yīng)該表明此對象具體實現(xiàn)功能,與之相關(guān)的對象以及操作參數(shù)、作者及最后修改時間。
存儲過程:CalLnIncome
相關(guān)數(shù)據(jù):
LnLineInfo,lnStation:提供線路及線路分成信息。
pbTransportBill,pbTrnasInfo:提供運量單數(shù)據(jù)。
lnInComeList:計算結(jié)果保存在此表中。
執(zhí)行成功標記:lnCostList表內(nèi)有最新時段的加總分成數(shù)據(jù)最后修改:By yczyk,2003.11.20
注釋內(nèi)容:系統(tǒng)操作類一般都寫在語句開始和最后,它與具體業(yè)務(wù)語句用分隔符分開!
- SET QUOTED_IDENTIFIER ON
- SET ANSI_NULLS ON
- SET ANSI_WARNINGS ON
- SET XACT_ABORT ON declare @ServerName varchar(50),@UserName varchar(20),@Password varchar(20),@DBName varchar(30),
- @TableQuery varchar(4000)--參數(shù)定義
- select @ServerName=vcComputer,@UserName=vcUserName,@Password=vcPassword,@DBName=vcDataBase
- from smDataParam set @TableQuery='select * into ##QJGroupInfo from opendatasource('+'''SQLOLEDB'','+'''Data
- Source='+rtrim(@ServerName)+';User ID='+rtrim(@UserName)+';Password='
- +rtrim(@Password)+''').'+rtrim(@DBName)+'.dbo.QJGroupInfo'
- --將數(shù)據(jù)導到當前連接服務(wù)器的全局臨時表中備用,以后只要操作##QJGroupInfo表就可以
- exec (@TableQuery) update smDept set vcDeptName=t.GroupName from (
- select m.vcTransDeptNo,g.GroupName from ##QJGroupInfo g inner join smDeptRelate m
- on m.vcSourceDeptNo=g.GroupID where m.RelateKind=0)as t where cDeptNo=t.vcTransDeptNo
2、數(shù)據(jù)庫設(shè)計規(guī)范數(shù)據(jù)庫設(shè)計分為邏輯設(shè)計和物理設(shè)計
一般建議先對數(shù)據(jù)庫進行邏輯建模,再將邏輯上的設(shè)計映射于物理設(shè)計。在邏輯設(shè)計時,請注意對象之間的關(guān)聯(lián)性和數(shù)據(jù)的冗余性。 表設(shè)計原則:每個表中都可以考慮添加的3個有用的字段。
? RecoredID ,記錄唯一編號,不建議采用業(yè)務(wù)數(shù)據(jù)作為記錄的唯一編號。
? CreationDate,而在SQL Server 下默認為GETDATE()。
? RecordCreator,在SQL Server 下默認為NOT NULL DEFAULT USER。
? RecordVersion,記錄的版本標記;有助于準確說明記錄中出現(xiàn)null 數(shù)據(jù)或者丟失數(shù)據(jù)的原因數(shù)據(jù)類型:一般不建議采用char而采用varchar數(shù)據(jù)類型,除非當這列數(shù)據(jù)的長度特別固定時可以考慮用char。
char存在不足數(shù)值類型
如果表示金額貨幣建議用money型數(shù)據(jù),如果表示科學記數(shù)建議用numeric數(shù)據(jù)類型。一般采用int類型標識唯一一行記錄。此列是否采用自動累增視具體情況而定。如果需要在保存之前得到此標記次序,如果你要嚴格控制記錄的加入次序,也不能用自動累增類型。
所有的表都應(yīng)該有一個主鍵索引,這對提高數(shù)據(jù)庫的性能很有幫助。如果表中能夠用幾個字段確定一筆記錄,可以考慮建立唯一索引,但建立了唯一索引后就有了一個約束,如,如果一個表記錄數(shù)過多,而自己如何建立索引不太熟悉,可以考慮在查詢分析器里索引優(yōu)化向?qū)У玫絊QLServer 。你可以在分析器里執(zhí)行指定語句的查詢執(zhí)行計劃,根據(jù)執(zhí)行計劃顯示的查詢成本來調(diào)整相應(yīng)的查詢語句。
保證數(shù)據(jù)的一致性和完整性:
主外鍵關(guān)聯(lián)
建立主外鍵關(guān)聯(lián)可以降低數(shù)據(jù)冗余,提高查詢效率。雖然平時我們可以用join語句在不同的表之間進行關(guān)聯(lián),以在設(shè)計完表后通過企業(yè)管理器的關(guān)系圖統(tǒng)一建立好關(guān)聯(lián)圖。所有的關(guān)聯(lián)都建立好了后,我們可以在視圖的建立里表中就應(yīng)該記錄當時的商品售價了。
建立約束實現(xiàn)數(shù)據(jù)有效性檢測
你可以為某一列特別重要的值建立好約束。例如,你需要憑數(shù)據(jù)庫里面的SaleKind列數(shù)據(jù)判定銷售類別,你有0值為門店銷售,1為網(wǎng)上銷售。你系統(tǒng)只有這兩種銷售渠道,你就應(yīng)該為它建立約束,它的值只能在0和1之間。即SaleKind>0 and SaleKind<3 。設(shè)置默認值操作數(shù)據(jù)庫不建議用SA用戶,因為SA用戶權(quán)限過大。具體的應(yīng)用應(yīng)該創(chuàng)建相應(yīng)的數(shù)據(jù)庫操作用戶,并只賦給它指定了異常建議寫入數(shù)據(jù)庫的日志表,查詢?nèi)罩颈硪园l(fā)現(xiàn)自己程序中操作數(shù)據(jù)庫中的失誤。
關(guān)于SQL Server數(shù)據(jù)庫的設(shè)計規(guī)范的知識就介紹到這里了,希望本次的介紹能夠?qū)δ兴斋@!更多SQL Server數(shù)據(jù)庫的知識,請參考:http://database./sqlserver/。
【編輯推薦】
- SQL Server 2008數(shù)據(jù)庫學習筆記
- SQL Server 2005數(shù)據(jù)庫nolock使用詳解
- SQL Server如何啟用Ad Hoc Distributed Queries?
- SQL Server 2008用存儲過程實現(xiàn)插入更新數(shù)據(jù)的實例
- 含有GROUP BY子句的查詢中如何顯示COUNT()為0的結(jié)果
網(wǎng)頁名稱:SQL Server數(shù)據(jù)庫的設(shè)計規(guī)范簡介
標題URL:http://m.fisionsoft.com.cn/article/cddocpo.html


咨詢
建站咨詢
