數據庫命名規則

一.數據庫:

1. 基本命名規則

 

 1. 基本數據庫對象命名

       數據庫對象

前綴

 (Table)

字段(Column)

視圖 (View)

存儲過程 (Stored procedure)

觸發器(Trigger)

索引(Index)

主鍵(Primary key)

外鍵(Foreign key)

Check 約束(Check Constraint)

Default 約束(Default Constraint)

用戶定義數據類型 (User-defined data type)

用戶定義函數 (User-defined function)

tbl_

viw_

prd_

trg_

idx_

pk_

fk_

ck_

df_

udt_

fun_

 

2. 關於命名的約定

 

變量 (T-SQL 編程中聲明的變量 ) 、過程 ( 存儲過程或觸發器等 ) 、實體 ( 表、字段 ) 應該根據他們所代表的實體意義和進程作用來命名:

 2. 好的命名 和 不好的命名 範例

好的命名

不好的命名

@CurrentDate

@ActivityCount

@EquipmentType

prCalculateTotalPrice

@D

@ActNum

@ET

@prRunCalc

a. 動賓形式:動詞放前面,名詞放後面。eg:prd_GetProductById

b. 不要使用計算機術語,儘量使用面向公司業務的術。

c. 採用縮寫

如果完全根據上一條的要求,那麼根據業務描述的過程名可能會變得很冗長,比如下面:

prCountTotalAmountOfMonthlyPayments ( 計算每月付費的總金額)

prGetParentOrganizationalUnitName ( 獲取上級單位名稱)

Ø         如果可以在字典裏找到一個詞的縮寫,就用這個做爲縮寫,比如:Mon(Monday)、Dec(December)

Ø         可以刪除單詞元音(詞首字母除外)和每個單詞的重複字母來縮寫一個單詞。比如:Current = Crnt、Address = Adr、Error = Err、Average = Avg

Ø         不要使用有歧異的縮寫(一般是語音上的歧義)。比如b4(before)、xqt(execute),4tran(Fortran)

3. 數據庫命名

根據項目的實際意義來命名

4. 表命名

“tbl_”+ 名稱(名稱儘量使用英文單詞,每個單詞的首字母大寫)

5. 字段命名

表名(去掉前綴)縮寫 + ”_”+ 屬性名稱(每個單詞的首字母大寫)

縮寫:五筆拆字法取字母

一個單詞:取前四個字母

二個單詞:取每個單詞的前兩個字母

三個單詞:取前兩個單詞的首字母和第三個單詞的前兩個字母。

四或四個以上:取前三個單詞的首字母和最後一個單詞的首字母。

6. 主鍵命名

主鍵是針對一個表的, 而不是針對一個字段,因爲主鍵是唯一的,一個表只能有一個主鍵。

a. 一般主鍵命名: 主鍵的命名爲 pk_TableName。

b. 複合主鍵:  pk_  +  字段名 

e.g.: Constraint pk_StudentCourse Primary key(Stud_Id, Cour_Id)

主鍵pk_StudentCourse,包含了兩個字段 Stud_Id  Cour_Id

7. 外鍵命名

外鍵的命名爲 fk_外鍵所在的表名_外鍵引用的表名 。因爲外鍵所在的表爲從表,所以上式可以寫爲 fk_ 從表名_主表名 

8.Check 約束命名

 ck_   +  表名   _  +  字段名 

e.g.: ck_tbl_Company_Comp_Zip

9.Default 約束命名

 df_   +  表名   _  +  字段名 

e.g.: df_tbl_News_News_Hit

10. 觸發器命名

 trg_  +  表名  +  後綴 

a. 前綴-  trg_  , 描述了數據庫對象的類型。

b. 基本部分,描述觸發器所加的表。

c. 後綴(_I、_U、_D),顯示了修改語句(Insert, Update及Delete)

11. 存儲過程命名

命名的規則:見名知意.

 prd_  +  說明 

說明:動賓結構(動詞+名詞)

e.g.:prd_GetProductById

12. 存儲過程中參數的命名

與其對應的字段名相同,第一個單詞小寫.

 .程序設計

以微軟 3.0文檔爲主

1. 項目名稱

公司名稱 ” + “項目實際意義名稱 

e.g.:qikingYellowPage

2. 頁面命名

規則 :每個單詞的首字母大寫,因爲它是類。

a.       父頁面——使用名詞進行描述

b.       子頁面 _列表—— “List” + “父頁面 

c.       子頁面 _詳細——  “Show”+ “父頁面 

3 頁面傳值

“Id_” + “頁面名稱 

4. 錯誤頁面命名

Error.aspx

5. 用戶登錄

UserLogin.aspx

6. 文件夾命名

單詞首字母大寫

單數或複數 ,根據實際需要而定 .

 :其中一部分參考了 張子陽的《數據庫對象命名參考》 Second Edition http://www.cnblogs.com/JimmyZhang/archive/2007/08/30/875504.html

根據個人的習慣增加、修改了一些。

人的一生應該這樣度過:當他回首往事的時候,不會因爲虛度年華而悔恨,也不會因爲碌碌無爲而羞愧。

1      概述

編寫此數據庫命名規範的目的,就是提供較爲形象、易於閱讀、簡單明瞭和原則性一致的數據庫命名方法。從而能夠方便項目相關人員直觀的瞭解數據庫中的所有對象表示的意義,方便大家交流。

這裏主要描述以下的7類常見的數據庫對象:

1.     表(Table

2.     字段(Fields

3.     視圖(Views

4.     存儲過程(Stored Procedures

5.     索引(Indexes

6.     關聯(Relationships

7.     觸發器(Trigger

這一部分描述了數據庫命名規範的一般性規則。

1.1    字符集合

1.     26個小寫字母(a-z

2.     26個大寫字母(A-Z

3.     10個數字字符(0-9

4.     下劃線(_

1.2    數據庫對象

對象名字由前綴和實際名字組成,前綴和實際名字之間加下劃線。

注意:不要在對象名的字符之間出現空格,長度不要超過30個字符。

[對象名字]= [前綴] _ [實際名字]

前綴縮寫規則:使用小寫字母,針對不同的數據庫對象,以下表規範命名。

對象

前綴

tb

視圖

vi

索引

idx

關聯

rl

存儲過程

sp

函數

fn

觸發器

tr

實際名字:儘量能夠描述實體的內容,由單詞或單詞組合組成。採用Camel規則書寫,即:第一個單詞的首字母小寫,而後的每個單詞的首字母都要大寫。

注意:不要以數字和下劃線開頭,單詞之間也不要用下劃線分隔。還要避免使用保留關鍵字和中文拼音,例如:ui_pk_userIdui_firstNameui_lastNametb_userInfo

1.3    SQL語句書寫規則

SQL語句中所有保留關鍵字均用大寫字母書寫。

本部分詳細描述了ITSM系統中可能涉及的數據庫對象的命名規則。

1.1    表命名規範

[表名]=tb_[實際名字]

對於表來說,有如下的規則:

1.     使用前綴tb

2.     在表名中儘量少使用複數;

3.     實際名字部分不要使用下劃線;

4.         實際名字部分儘量避免縮寫,能明確表明其含義的除外,如:tb_userInfo

另外,對於從其它數據庫同步獲得數據的表,除了以上的命名規則外,還要在[實際名字]後加下劃線,然後再加[數據來源的數據庫名]

如:tb_assetInfo_croom,表示資產信息表來源於CRoom數據庫。

1.2    字段命名規範

[字段名]=[表名簡寫]_[字段實際名字][字段數據類型縮寫]

表名簡寫部分,由表名的實際名字部分的各個單詞的小寫首字母順序組合構成。

1.     如果字段是主鍵則:[字段實際名字]=pk+_+[實際名字]

2.     如果字段是外鍵則:[字段實際名字]=fk+_+[實際名字]

3.     如果字段是組合鍵則:[字段實際名字]=ck+_+[實際名字]

如:ui_pk_userId ui_lastName

另外,對於數據來源於其它數據庫的字段,在上述的字段命名規範的最後加下劃線,然後再加[數據來源的數據庫名]

如:ai_assetName_croom,表示資產名稱字段來源於CRoom數據庫。

注意:如果在多個表中出現表達意義類似的或者相同的字段,這些字段必須具有相同的字段屬性。如:text類型,具有相同的最大長度設置。

[視圖名]=vi_[實際名字]

1.     使用vi作爲前綴;

2.     實際名字儘量體現視圖的功能,並且用下劃線分隔列出所有相關的表名;

3.     其它命名要求與表的命名要求一致;

1.1    存儲過程命名規範

[存儲過程名]=sp_[實際名字]

1.     使用sp作爲前綴;

2.     實際名字中要體現這個存儲過程所要進行的操作(UpdateDeleteInsert Into等);

3.     對於存儲過程來說,實際名字組成由操作和表名構成;

如:sp_updateUserInfo

1.2    索引命名規範

[索引名]=idx[0-9]_[表名簡寫]_[實際名字]

1.     使用idx作爲前綴;

2.     [0-9]用來區分表的多個索引;

3.     [實際名字]是指相關的字段或索引含義;

如:idx0_ui_firstName

1.3    關聯命名規範

[關聯名]=rl_[主表名簡寫]_[從表名簡寫]

關聯關係是指數據庫表間的外鍵關係。

如:rl_loginInfo_userInfo

1.4    觸發器命名規範

[觸發器名]=tr_[實際名字]

1.     使用tr作爲前綴;

2.     實際名字中要描述觸發器的操作(InsertUpdate等等);

3.     對於觸發器來說,實際名字由操作和對應的表名構成;

1.5    函數命名規範

[函數名]=fn_[實際名字]

1.     使用fn作爲前綴;

2.     實際名字描述該函數具體行爲(getset等等),做到見名釋義;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章