資料庫設計規範

2021-09-01 03:38:32 字數 2687 閱讀 1495

資料庫設計規範

**:資料庫表命名規範

此規範包括表名命名規範,索引命名規範,外來鍵命名規範和欄位名命名規範。

表名命名規則

資料庫表的命名以是名詞的複數形式且都為小寫,如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__,其中是建立索引的表名,是建立索引的欄位名

索引名限制在30個字元內。當索引名超過30字元時,可用縮寫來減少索引名的長度,如description --> desc;information --> info;address --> addr等

主鍵、外來鍵命名規則

主鍵按照pk_的規則命名,其中為資料庫表名

唯一鍵按照uk__的規則命名,其中為資料塊表名,為欄位名

外來鍵按照fk___的規則命名,其中為父表名,為子表名,為序列號

資料庫規範化設計的一些基本要求:

一、表中應該避免可為空的列。

雖然表中允許空列,但是,空字段是一種比較特殊的資料型別。資料庫在處理的時候,需要進行特殊的處理。如此的話,就會增加資料庫處理記錄的複雜性。當表中有比較多的空字段時,在同等條件下,資料庫處理的效能會降低許多。

解決方法:一是通過設定預設值的形式,來避免空字段的產生。二是若一張表中,允許為空的列比較多,接近表全部列數的三分之一。而且,這些列在大部分情況下,都是可有可無的。若資料庫管理員遇到這種情況,建議另外建立一張副表,以儲存這些列。

二、表不應該有重複的值或者列。

三、表中記錄應該有乙個唯一的識別符號。

四、資料庫物件要有統一的字首名。

五、盡量只儲存單一實體型別的資料。

六、盡量符合資料庫的幾個正規化。

設計規範

所有欄位在設計時,除以下資料型別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)檢查設計。在開發期間檢查資料庫設計的常用技術是通過其所支援的應用程式原型檢查資料庫。換句話說,針對每一種最終表達資料的原型應用,保證你檢查了資料模型並且檢視如何取出資料。

資料庫設計規範

使用明確 統一的標明和列名,例如 school,schoolcourse,courceid。資料表名使用單數而不是複數,例如 studentcourse,而不是studentcourses。資料表名不要使用空格。資料表名不要使用不必要的字首或者字尾,例如使用school,而不是tblschool,或...

資料庫設計規範

csm簡寫會方便很多 就不要用member id,一致性方便大家理解 system.currenttimemillis 進行儲存text查詢是會產生臨時磁碟檔案,效能差進行擷取儲存型別 占用位元組 範圍tinyint 1 128 127 smallint 2 32768 32767 mediumin...

資料庫設計規範

1 基本需求 某學校設計學生教學管理系統。學生實體包括學號 姓名 性別 生日 民族 籍貫 簡歷 登記照,每名學生選擇乙個主修專業,專業包括專業編號和名稱,乙個專業可以屬於 乙個學院,乙個學院可以有若干個專業。學院資訊要儲存學院號 學院名 院長。教學管理還要管理課程表和學生成績。課程表包括課程號 課程...