在設計資料庫時常常會碰到Table,Column,View,Index,Function...命名的問題,因為每個DBA的習慣不同,造成有很多不一致的情況,例如大小寫、縮寫、分隔符號、單複數、prefix等,請問有沒有一套通用且容易使用的資料庫物件命名原則?
可以考慮統一用匈牙利命名法
http://blog.xuite.net/shian5/CodingStyle/3617347
有寫過程式的人應該都會有聽過所謂的匈牙利命名法,這是由微軟的程式設計師 Charles Simonyi 所發明的,幾乎在所有程式語言的入門書都會提到。依照書中所寫,所謂的匈牙利命名法便是在變數前面加上該變數的型別,例如:
int iCount;
char szName[100];
整數型別就加上個 "i";以 NULL 字元結尾的字串就加上個 "sz"。C 語言中的基本型別並不多,因此對於程式設計師來說,使用這個命名法也不會太麻煩。隨著 Windows 的普及,在 Win32 中大量導入 Handle 的概念,視窗有視窗的 handle(HWND),Process 有 Process 的 handle(HANDLE)。為了要區別這些變數,開始有人建議在這些變數也加上前綴字元,於是就出現這樣的變數:
HWND hwndMainWin;
HANDLE hProcess;
好吧,就算是再加入這幾種型別也還在程式設計師的記憶體範圍內,大家也都還能接受,於是匈牙利命名法著實風光了一陣子。然而隨著 C++ 的出現,匈牙利命名法受到史無前例的挑戰。
我的習慣是看資料庫建構的時候看該資料庫是拿來做甚麼用,
就給予甚麼英文名稱
大部分都是給小寫~但是我喜歡駝峰式寫法~大概是寫程式的習慣一起帶過去
(大部分看到好像資料庫建立都是全小寫居多)
但是大部分的人命名原則都不太一樣~所以...這種事情可以彼此有個共識比較好
給你參考一下
資料庫的命名一般都是一設計師習慣
沒有一定的,但是例如基本上常用的幾個都差不多
例如人員、計數、部門、職稱等等一般都相同
除非就是那些公司內較為不同的設計與名稱
才回依照公司需求或是設計師來命名
畢竟有時候不想讓USER或是閱讀者知道資料庫名稱
所以隨意取一個名字
我自己的習慣是在 View 方面以 vw_ 為 prefix
Trigger -> tri_
Stored Procedure -> sp_
Index -> idx_
Table -> tbl_ (比較少用,通常以其命名為主,不做區分,因為還是以 Table 為主體)
Function -> fn_
User Defined Type -> udt_
這樣的好處是,您在程式中有撰寫 SQL Statement時,可以很清楚知道他是放在什麼位置的
我的 RDBMS 通常為 MS SQL Server