資料庫設計表及字段命名規範(我整理的,望大家多多提建議)
1.資料庫表命名規範:
(1)表名前應該加上字首,表的字首乙個用系統或模組的英文名稱縮寫,字首全部大寫或首字母大寫,表名中包含的單詞首字母大寫。
(2)資料庫表名應該有意義,並且易於理解
,最好使用可以表達功能的英文單詞或縮寫,如果用英文單詞表示,建議使用完整的英文單詞。
(3)表名不可以太長,最好不要超過
3個英文單詞長度(
22個字母)。
(4)在資料庫表命名時應該用英文單詞的單數形式,如員工表命名:應該為
employee
而不是employees .
(5)如果是後台表命名時應該在表名基礎上加上字尾
_b(back
首字母)
(6)在表建立完成前,應該為表新增表的注釋。
2.表字段命名規範:
(1)資料庫表字段應該是有意義而且易於理解
的,最好是能夠表達字段含義的英文本母
(有人認為如果用英文單詞作為字段,因為翻譯工具不同,而字段不統一建議使用漢語拼音首字母縮寫
;有人認為用漢語拼音縮寫看起來不直觀,老半天也不知道到底這個欄位是幹什麼的
)(2)
系統中所有屬於內碼,即僅用於標識唯一性和程式內部用到的標識性欄位,欄位名稱建議取為
id ,採用型別為整型或長整型.
(3)系統中屬於是業務內的編號字段,代表一定業務資訊,建議字段命名為
code ,
如工作單編號
wf_code .
(4)
不要在資料庫表字段(列名)中包含資料型別,如:
datetime
(5)不要在資料庫表字段(列名)命名時重複表名,可以使用表名首字母(不包含資料庫表名字首)
注意:不要在資料庫表字段(列名)命名時
不建議使用資料庫關鍵字,如:
name,time ,datetime password 等3.
表設計規範:
(1)所有欄位在設計時,除以下資料型別
timestamp
、image
、datetime
、smalldatetime
、uniqueidentifier
、binary
、sql_variant
、binary
、varbinary
外,必須有預設值。字元型的預設值為乙個空字元值串』』;數值型的預設值為數值
0;邏輯型的預設值為數值0;
其中:系統中所有邏輯型中數值
0表示為「假」;數值
1表示為「真」。
datetime
、smalldatetime
型別的字段沒有預設值,必須為
null
。(2)
當欄位定義為字串形時建議使用
varchar
而不用nvarchar。注
:在mysql5.0
以上的版本中,
varchar
資料型別的長度支援到了
65535
,也就是說可以存放
65532
個位元組的資料,起始位和結束位占去了3個
位元組。(3)
建議在大多數表中(如工作單),應都有以下字段:
欄位名說明型別預設值
creatorid
建立者int
預設值為0
createdtime
建立時間
datetime
預設值為
null
(4)欄位的描述
a.欄位必須填寫描述資訊(注釋)
b.盡量遵守第三正規化的標準(
3nf)
表內的每乙個值只能被表達一次(列名不重複)
表內的每一行都應當被唯一的標示(標識唯一性,如
自動增長
主鍵)表內不應該儲存依賴於其他鍵的非鍵資訊
(5)加索引規則
a.表建好後資料庫自動為表生成乙個索引(為
自動增長的列生成唯一索引),如果在對這列新增索引,資料庫會給乙個警告
,內容大概是,已經為這列新增了索引,建議修改索引名稱和自動增長列名保持一致,為了方便使用。
b.如果在新增索引時,建議索引名稱和資料庫列名保持一致,為了方便使用
c.如果字段事實上是與其它表的關鍵字相關聯而未設計為外來鍵引用,需建索引。
d.如果欄位與其它表的字段相關聯,需建索引。
e.如果欄位需做模糊查詢之外的條件查詢,需建索引。f.
除了主關鍵字允許建立簇索引外,其它欄位所建索引必須為非簇索引。
4.儲存過程命名規範
(1)存貯過程的命名請遵循以下命名規範:
usp_ +
系統模組縮寫(與表字首類似)
+_ +
功能標識
+ 代表存貯過程操作的主要表名(不帶字首)或功能的英文單詞或英文單詞縮寫。
如果乙個存貯過程只對乙個表進行操作,建議存貯過程的名稱就用存貯過程所操作的表的表名(不帶字首)。這樣有利於根據表名找到相應的存貯過程。例如:
用於新增的存貯過程
usp_message_add_model
用於修改的存貯過程
usp_ message_upt_model
用於刪除的存貯過程
usp_ message_del_ modele 注:
usp是
user
stored procedure
縮寫5.
儲存過程設計規範
在存貯過程中必須說明以下內容:
(1)目的:說明此存貯過程的作用。
(2)(3)
建立日期:建立存貯過程時的日期。
(4)修改記錄:
修改記錄需包含修改順序號、修改者、修改日期、修改原因,修改時不能直接在原來的**上修改,也不能刪除原來的**,只能先將原來的**注釋掉,再重新增加正確的**。修改順序號的形式為:
log1
,log2
,log3
。。。,根據修改次數順序增加,同時在注釋掉的原來的**塊和新增的正確**塊前後註明修改順序號。
(5)對存貯過程各引數及變數的中文註解。
建議:在資料庫中建立乙個文字檔案儲存建立指令碼
6.檢視命名規範
檢視的命名請遵循以下命名規範:
uv _ +
系統模組縮寫(與表字首類似)
+_ +
功能標識
+ 代表檢視查詢的主要表名(不帶字首)或功能的英文單詞或英文單詞縮寫。
如果乙個檢視只對乙個表進行查詢,建議檢視的名稱就用檢視所查詢的表的表名(不帶字首)。這樣有利於根據表名找到相應的檢視。
注:uv
是userview
縮寫7.
檢視設計規範
在檢視中必須說明以下內容:
(1)目的:說明此檢視的作用。
(2)建立者:首次建立此檢視的人的姓名。在此請使用中文全名,不允許使用英文簡稱。
(3)修改者、修改日期、修改原因:如果有人對此檢視進行了修改,則必須在此檢視的前面加註修改者姓名、修改日期及修改原因。
(4)對檢視各引數及變數的中文註解
建議:在資料庫中建立乙個文字檔案儲存建立指令碼
8.觸發器命名規範
insert
觸發器加
'_i'
,delete
觸發器加
'_d'
,update
觸發器加
'_u' 9.
觸發器設計規範
在檢視中必須說明以下內容:
(1)目的:說明此觸發器的作用。
(2)建立者:首次建立此觸發器的人的姓名。在此請使用中文全名,不允許使用英文簡稱。
(3)修改者、修改日期、修改原因:如果有人對此觸發器進行了修改,則必須在此觸發器的前面加註修改者姓名、修改日期及修改原因。
(4)對觸發器各引數及變數的中文註解
建議:在資料庫中建立乙個文字檔案儲存建立指令碼
資料庫表及字段命名規範
資料庫設計表及字段命名規範 我整理的,望大家多多提建議 1.資料庫表命名規範 1 表名前應該加上字首,表的字首乙個用系統或模組的英文名稱縮寫,字首全部大寫或首字母大寫,表名中包含的單詞首字母大寫。2 資料庫表名應該有意義,並且易於理解,最好使用可以表達功能的英文單詞或縮寫,如果用英文單詞表示,建議使...
資料庫表字段命名規範
摘要 當前研發工作中經常出現因資料庫表 資料庫表字段格式不規則而影響開發進度的問題,在後續開發使用原來資料庫表時,也會因為資料庫表的可讀性不夠高,表字段規則不統一,造成資料查詢,資料使用效率低的問題,所以有必要整理出一套合適的資料庫表字段命名規範來解決優化這些問題。本文是一篇包含了資料庫命名 資料庫...
資料庫表字段命名規範
摘要 當前研發工作中經常出現因資料庫表 資料庫表字段格式不規則而影響開發進度的問題,在後續開發使用原來資料庫表時,也會因為資料庫表的可讀性不夠高,表字段規則不統一,造成資料查詢,資料使用效率低的問題,所以有必要整理出一套合適的資料庫表字段命名規範來解決優化這些問題。本文是一篇包含了資料庫命名 資料庫...