1、編寫目的
本文檔是項(xiàng)目方案的重要組成部分,編寫數(shù)據(jù)庫設(shè)計(jì)文檔的目的是:明確數(shù)據(jù)庫的表名、字段名等數(shù)據(jù)信息,用來指導(dǎo)后期的數(shù)據(jù)庫腳本開發(fā)、本文檔遵循《數(shù)據(jù)庫設(shè)計(jì)和開發(fā)規(guī)范》。使用對(duì)象是需求人員、系統(tǒng)設(shè)計(jì)人員、開發(fā)人員、測(cè)試人員。
2、術(shù)語表
定義文檔中涉及的重要術(shù)語,為使用者在閱讀時(shí)提供必要的參考信息。
術(shù)語表
3、參考資料
參考資料
數(shù)據(jù)庫環(huán)境說明
備注:在實(shí)際開發(fā)中可能需要DBA配合
提示:如果本數(shù)據(jù)庫的命名規(guī)則與實(shí)際不一致,請(qǐng)做出解釋。
1、基本命名原則
?規(guī)范:字母全部小寫原則
所有數(shù)據(jù)庫對(duì)象命名字母全部小寫,統(tǒng)一大小寫有助于在多數(shù)據(jù)庫間轉(zhuǎn)移。
?規(guī)范:字符范圍原則
只能使用英文字母、下劃線、數(shù)字進(jìn)行命名,且首位字符必須是英文字母。
?規(guī)范:分段命名原則
命名中多個(gè)單詞間采用下劃線分割,以便閱讀同時(shí)方便某些工具對(duì)數(shù)據(jù)庫對(duì)象的映射。例如:user_name。
?規(guī)范:不要用保留詞
數(shù)據(jù)庫對(duì)象命名不能直接使用數(shù)據(jù)庫保留關(guān)鍵字,但分段中可以使用。如user不能用于表名、列名等,但是user_name可以用于列名,user_info也可以用于表名。
?規(guī)范:同義性原則
對(duì)于同一含義盡量使用相同的單詞命名,不管使用英文單詞、英文縮寫還是拼音首字母,以免引起誤解。如telphone的A表中表示固定電話號(hào)碼,在B表中就不應(yīng)該用于表示移動(dòng)電話號(hào)碼。盡量避免同一單詞表示多種含義的情況。
?規(guī)范:命名方式一致原則在一個(gè)系統(tǒng)、一個(gè)項(xiàng)目中盡量采用一致的命名方式,都采用英文單詞或者拼音首字母。尤其要避免在一個(gè)對(duì)象命名中同時(shí)采用英文單詞和拼音首字母。如確實(shí)需要在一個(gè)項(xiàng)目中采用兩種命名方式,考慮系統(tǒng)功能設(shè)計(jì)相關(guān)表(開發(fā))使用英文單詞命名,業(yè)務(wù)相關(guān)的表(實(shí)施)使用拼音首字母。
2、命名前綴規(guī)范
?規(guī)范:以下對(duì)象命名采用固定前綴進(jìn)行命名,前綴表示數(shù)據(jù)庫對(duì)象的類型,前綴代碼規(guī)范如下:
命名前綴規(guī)范
3、表和列規(guī)范
3.1 表規(guī)范
?規(guī)范:表名采用多段式命名,各單詞間用下劃線分隔;
?規(guī)范:表名只允許用英文字母、下劃線、數(shù)字進(jìn)行命名,不允許用中文或者其他符號(hào);
?規(guī)范:表名全部字母小寫;
?規(guī)范:根據(jù)歷史習(xí)慣各系統(tǒng)常用表類前綴作如下約定:
表規(guī)范
?建議:表名也用于相關(guān)索引、分區(qū)、分區(qū)表空間、約束、主鍵等命名,因此為了避免相關(guān)對(duì)象命名長(zhǎng)度超過限制,建議表名長(zhǎng)度不要超過20。
3.2 列規(guī)范
?建議:列名只允許用英文字母、下劃線、數(shù)字進(jìn)行命名,不允許用中文或者其他符號(hào)。
?規(guī)范:列名字母全部小寫。
?規(guī)范:列名采用多段式命名時(shí),各單詞間用下劃線分隔;
?規(guī)范:列名不能直接使用數(shù)據(jù)庫保留字;
?規(guī)范:日期類型字段推薦以“_date”結(jié)尾的名字命名,時(shí)間類型的字段推薦以“_time”結(jié)尾的名字命名。
3.3 常用字段規(guī)范
常用字段規(guī)范
4.1 用戶信息表
用戶信息表
MySQL腳本:
create table sys_user( id varchar(32) not null comment '主鍵id' primary key, user_name varchar(30) not null comment '用戶名', mobile int(11) null comment '手機(jī)號(hào)碼', password varchar(30) null comment '密碼', status char(2) default '0' null comment '狀態(tài)(0-可用,1-不可用,2-刪除)', create_time timestamp default CURRENT_TIMESTAMP null comment '創(chuàng)建時(shí)間', update_time timestamp default CURRENT_TIMESTAMP null on update CURRENT_TIMESTAMP comment '更新時(shí)間') comment '用戶信息表';
聯(lián)系客服