資料庫設計規範

2021-09-02 16:37:08 字數 3859 閱讀 2737

資料庫設計表及字段命名規範(我整理的,望大家多多提建議)

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)對觸發器各引數及變數的中文註解

資料庫設計規範

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

資料庫設計規範

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

資料庫設計規範

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