資料庫命名規範
一.實體和屬性的命名
1. 常用單詞已經進行了縮寫,在命名過程當中,根據語義拼湊縮寫即可。注意,由於orcal資料庫會將欄位名稱統一成大寫或者小寫中的一種,所以要求加上下劃線
舉例:定義的縮寫 sales: sal 銷售;
order: ord 訂單;
detail: dtl 明細;
則銷售訂單名細表命名為:sal_ord_dtl;
2. 如果表或者是字段的名稱僅有乙個單詞,那麼建議不使用縮寫,而是用完整的單詞。
舉例:定義的縮寫 material ma 物品;
物品表名為:material, 而不是 ma.
但是字段物品編碼則是:ma_id;而不是material_id
3. 所有的儲存值列表的表前面加上字首z
目的是將這些值列表類排序在資料庫最後。
4. 所有的冗餘類的命名(主要是累計表)前面加上字首x
冗餘類是為了提高資料庫效率,非規範化資料庫的時候加入的字段。或者表
5. 關聯類通過用下劃線連線兩個基本類之後,再加字首r的方式命名,後面按照字母順序羅列兩個表名或者表名的縮寫。
關聯表用於儲存多對多關係。
如果被關聯的表名大於10個字母,必須將原來的表名的進行縮寫。如果沒有其他原因,建議都使用縮寫。
舉例:表object與自身存在多對多的關係,則儲存多對多關係的表命名為:r_object;
表 depart和employee;存在多對多的關係;則關聯表命名為r_dept_emp
6. 每乙個表都將有乙個自動id作為主健,邏輯上的主健作為第一組候選主健來定義,如果是資料庫自動生成的編碼,統一命名為:id;如果是自定義的邏輯上的編碼則用縮寫加「id」的方法命名。
舉例:銷售訂單的編號字段命名:sal_ord_id;如果還存在乙個資料庫生成的自動編號,則命名為:id。
7. 所有的屬性加上有關型別的字尾,型別字尾的縮寫定義見檔案《型別字尾縮寫定義》,注意,如果還需要其它的字尾,都放在型別字尾之前。
二.關係的命名
關係的命名基本上按照;如有特殊情況,可以靈活處理.
[must/may/can/should][verb/verb+prep][a/many/exatly num][or a/many]的結構命名
三.域的命名
四.觸發器的命名
五.有關於預設的幾點說明
1. 嚴格依賴關係的主細表,主表的字尾main可以不寫。
2. 資料型別是文字的字段,型別字尾tx可以不寫。
3. 有些型別比較明顯的字段,可以不寫型別字尾。
4. 非常明顯的關係,可以不寫
///另一文章//
資料庫設計規範
資料庫表命名規範
此規範包括表名命名規範,索引命名規範,外來鍵命名規範和欄位名命名規範。
表名命名規則
資料庫表的命名以是名詞的複數形式且都為小寫,如cities, categories, friends等等
如果表名由幾個單詞組成,則單詞間用下劃線("_")分割,如subscribed_pois,poi_categories等
表名盡量用全名
表名限制在30個字元內。當表的全名超過30字元時,可用縮寫來減少表名的長度,如description
--> desc;information --> info;address --> addr等
表欄位名命名規則
欄位名為小寫
欄位名為有意義的單詞,或單詞的縮寫
如果欄位由幾個單詞組成,則單詞間用下劃線("_")分割,如client_id,post_code等
欄位名限制在30個字元內。當欄位名超過30字元時,可用縮寫來減少欄位名的長度,如description
--> desc;information --> info;address --> addr等
索引命名規則
索引須按照idx_table_
<
column
>
_<
column
>
,其中<
table
>
是建立索引的表名,
<
column
>
是建立索引的欄位名
索引名限制在30個字元內。當索引名超過30字元時,可用縮寫來減少索引名的長度,如description
--> desc;information --> info;address --> addr等
主鍵、外來鍵命名規則
主鍵按照pk_
<
table
>
的規則命名,其中
<
table
>
為資料庫表名
唯一鍵按照uk_
<
table
>
_<
column
>
的規則命名,其中
<
table
>
為資料塊表名,
<
column
>
為欄位名
外來鍵按照fk_
<
pppp
>
_<
cccc
>
_<
nn>
的規則命名,其中
<
pppp
>
為父表名,
<
cccc
>
為子表名,
<
nn>
為序列號
資料庫規範化設計的一些基本要求:
一、表中應該避免可為空的列。
雖然表中允許空列,但是,空字段是一種比較特殊的資料型別。資料庫在處理的時候,需要進行特殊的處理。如此的話,就會增加資料庫處理記錄的複雜性。當表中有比較多的空字段時,在同等條件下,資料庫處理的效能會降低許多。
解決方法:一是通過設定預設值的形式,來避免空字段的產生。二是若一張表中,允許為空的列比較多,接近表全部列數的三分之一。而且,這些列在大部分情況下,都是可有可無的。若資料庫管理員遇到這種情況,建議另外建立一張副表,以儲存這些列。
二、表不應該有重複的值或者列。
三、表中記錄應該有乙個唯一的識別符號。
四、資料庫物件要有統一的字首名。
五、盡量只儲存單一實體型別的資料。
六、盡量符合資料庫的幾個正規化。
設計規範
所有欄位在設計時,除以下資料型別timestamp、
image
、datetime
、smalldatetime
、uniqueidentifier
、binary
、sql_variant、
binary
、varbinary外,必須有預設值。字元型的預設值為乙個空字元值串』』;數值型的預設值為數值0;邏輯型的預設值為數值0;
其中:系統中所有邏輯型中數值0表示為「假」;數值1表示為「真」。
datetime
、smalldatetime型別的字段沒有預設值,必須為null。
當欄位定義為字串形時建議使用varchar而不用nvarchar。
欄位的描述
資料庫中每個欄位的描述(description)如下:
表內的每乙個值只能被表達一次
表內的每一行都應當被唯一的標示
表內不應該儲存依賴於其他鍵的非鍵資訊
如果字段事實上是與其它表的關鍵字相關聯而未設計為外來鍵引用,需建索引。
如果欄位與其它表的字段相關聯,需建索引。
sql 開發**規範
我們規定sql語句編碼的時候程式設計師需要遵循以下規範:
a 所有的關鍵字的所有字母必須大寫。如果乙個常量由幾個詞組成,我們規定兩個詞之間使用下劃線(_)來劃分。表名、列名、檢視名或它們的別名必須和它們的定義保持一致。
b 注釋必須要規範。
其他設計技巧
1)避免使用觸發器
觸發器的功能通常可以用其他方式實現。在除錯程式時觸發器可能成為干擾。假如你確實需要採用觸發器,你最好集中對它文件化。
2)使用常用英語(或者其他任何語言)而不要使用編碼在建立下拉列表、列表、報表時最好按照英語名排序。假如需要編碼,可以在編碼旁附上使用者知道的英語。
3)儲存常用資訊。讓乙個表專門存放一般資料庫資訊非常有用。在這個表裡存放資料庫當前版本、最近檢查
/修復、關聯設計文件的名稱、客戶等資訊。這樣可以實現一種簡單機制跟蹤資料庫,當客戶抱怨他們的資料庫沒有達到希望的要求而與你聯絡時,這樣做對非客戶機
/伺服器環境特別有用。
4)包含版本機制。在資料庫中引入版本控制機制來確定使用中的資料庫的版本。時間一長,使用者的需求總是會改變的。最終可能會要求修改資料庫結構。把版本資訊直接存放到資料庫中更為方便。
5)編制文件。對所有的快捷方式、命名規範、限制和函式都要編制文件。採用給表、列、觸發器等加注釋的資料庫工具。對開發、支援和跟蹤修改非常有用。對資料庫文件化,或者在資料庫自身的內部或者單獨建立文件。這樣,當過了一年多時間後再回過頭來做第2 個版本,犯錯的機會將大大減少。
6)測試、測試、反覆測試。建立或者修訂資料庫之後,必須用使用者新輸入的資料測試資料字段。最重要的是,讓使用者進行測試並且同使用者一道保證選擇的資料型別滿足商業要求。測試需要在把新資料庫投入實際服務之前完成。
7)檢查設計。在開發期間檢查資料庫設計的常用技術是通過其所支援的應用程式原型檢查資料庫。換句話說,針對每一種最終表達資料的原型應用,保證你檢查了資料模型並且檢視如何取出資料。
資料庫命名規範(表 欄位名)
資料庫命名規範 一 實體和屬性的命名 1 常用單詞已經進行了縮寫,在命名過程當中,根據語義拼湊縮寫即可。注意,由於orcal資料庫會將欄位名稱統一成大寫或者小寫中的一種,所以要求加上下劃線 舉例 定義的縮寫 sales sal 銷售 order ord 訂單 detail dtl 明細 則銷售訂單名...
資料庫表字段命名規範
摘要 當前研發工作中經常出現因資料庫表 資料庫表字段格式不規則而影響開發進度的問題,在後續開發使用原來資料庫表時,也會因為資料庫表的可讀性不夠高,表字段規則不統一,造成資料查詢,資料使用效率低的問題,所以有必要整理出一套合適的資料庫表字段命名規範來解決優化這些問題。本文是一篇包含了資料庫命名 資料庫...
資料庫表字段命名規範
摘要 當前研發工作中經常出現因資料庫表 資料庫表字段格式不規則而影響開發進度的問題,在後續開發使用原來資料庫表時,也會因為資料庫表的可讀性不夠高,表字段規則不統一,造成資料查詢,資料使用效率低的問題,所以有必要整理出一套合適的資料庫表字段命名規範來解決優化這些問題。本文是一篇包含了資料庫命名 資料庫...