日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

在軟件應(yīng)用開發(fā)過程中經(jīng)常出現(xiàn)因數(shù)據(jù)庫表、數(shù)據(jù)庫表字段格式不規(guī)則而影響開發(fā)進(jìn)度的問題。在維護(hù)應(yīng)用使用原來數(shù)據(jù)庫表時,也會因?yàn)閿?shù)據(jù)庫表的可讀性不夠高,表字段規(guī)則不統(tǒng)一,造成數(shù)據(jù)查詢,數(shù)據(jù)使用效率低的問題,所以有必要整理出一套合適的數(shù)據(jù)庫表字段命名規(guī)范來解決優(yōu)化這些問題。

MySQL 數(shù)據(jù)庫、表、字段的命名建議規(guī)范

 

本文介紹了數(shù)據(jù)庫命名、數(shù)據(jù)庫表命名、數(shù)據(jù)庫表字段命名及SQL語言編碼的規(guī)范文檔,針對研發(fā)中易產(chǎn)生的問題和常見錯誤做了一個整理和修改,為日后涉及到數(shù)據(jù)庫相關(guān)的研發(fā)工作做好準(zhǔn)備。當(dāng)然,這些只是建議規(guī)范,約定俗成而已。

 

一、數(shù)據(jù)庫命名規(guī)范

采用26個英文字母(區(qū)分大小寫)和0-9的自然數(shù)(經(jīng)常不需要)加上下劃線組成,命名簡潔明確,多個單詞用下劃線 '_' 分隔,一個業(yè)務(wù)項(xiàng)目一個數(shù)據(jù)庫,多個業(yè)務(wù)項(xiàng)目慎用同一個數(shù)據(jù)庫。

二、數(shù)據(jù)庫表命名規(guī)范

1. 數(shù)據(jù)表命名規(guī)范

(1)采用26個英文字母(區(qū)分大小寫)和0-9的自然數(shù)(經(jīng)常不需要)加上下劃線'_'組成,命名簡潔明確,多個單詞用下劃線'_'分隔。

(2)全部小寫命名,禁止出現(xiàn)大寫。

(3)禁止使用數(shù)據(jù)庫關(guān)鍵字,如:name,time ,datetime,password等。

(4)表名稱不應(yīng)該取得太長(一般不超過三個英文單詞)。

(5)表的名稱一般使用名詞或者動賓短語。

(6)用單數(shù)形式表示名稱,例如,使用 employee,而不是 employees。

明細(xì)表的名稱為:主表的名稱+字符dtl(detail縮寫)

例如:采購定單的名稱為:po_order,則采購定單的明細(xì)表為:po_orderdtl。

(7)表必須填寫描述信息(使用SQL語句建表時)。

 

2. 表設(shè)計(jì)

(1)表必須定義主鍵,默認(rèn)為ID,整型自增,如果不采用默認(rèn)設(shè)計(jì)必須咨詢DBA進(jìn)行設(shè)計(jì)評估。

(2)ID字段作為自增主鍵。一般所有表都要有id, id必為主鍵,類型為bigint unsigned,單表時自增、步長為1。一般情況下主鍵id和業(yè)務(wù)沒關(guān)系的。

(3)強(qiáng)烈建議不使用外鍵, 數(shù)據(jù)的完整性靠程序來保證。

(4)多表中的相同列,必須保證列定義一致。

(5)國內(nèi)表默認(rèn)使用InnoDB,表字符集默認(rèn)使用gbk,國際默認(rèn)使用utf8的表。

(6)一般情況下每張表都有著四個字段create_id,create_time,update_id,update_time, 其中create_id表示創(chuàng)建者id,create_time表示創(chuàng)建時間,update_id表示更新者id,update_time表示更新時間,這四個字段的作用是為了能夠追蹤數(shù)據(jù)的來源和修改。

(7)單表一到兩年內(nèi)數(shù)據(jù)量超過500w或數(shù)據(jù)容量超過10G考慮分表,且需要提前考慮歷史數(shù)據(jù)遷移或應(yīng)用自行刪除歷史數(shù)據(jù)。

(8)單條記錄大小禁止超過8k, 一方面字段不要太多,有的都能上百,甚至幾百個,另一方面字段的內(nèi)容不易過大,像文章內(nèi)容等這種超長內(nèi)容的需要單獨(dú)存到另一張表。

(9)日志類數(shù)據(jù)不建議存儲在MySQL上,優(yōu)先考慮Hbase或OB,如需要存儲請找DBA評估使用壓縮表存儲。

(10)為了提高查詢效率,可以適當(dāng)?shù)臄?shù)據(jù)冗余,注意是適當(dāng)。

 

三、數(shù)據(jù)庫字段命名規(guī)范

1. 字段命名規(guī)范

(1)采用26個英文字母(區(qū)分大小寫)和0-9的自然數(shù)(經(jīng)常不需要)加上下劃線'_'組成,命名簡潔明確,多個單詞用下劃線'_'分隔。

(2)全部小寫命名,禁止出現(xiàn)大寫。

(3)字段必須填寫描述信息。

(4)禁止使用數(shù)據(jù)庫關(guān)鍵字,如:name,time ,datetime password 等。

(5)字段名稱一般采用名詞或動賓短語。

(6)采用字段的名稱必須是易于理解,一般不超過三個英文單詞。

(7)在命名表的列時,不要重復(fù)表的名稱。

例如,在名employe的表中避免使用名為employee_lastname的字段。

(8)不要在列的名稱中包含數(shù)據(jù)類型。

(9)字段命名使用完整名稱,禁止縮寫。

 

2. 字段名命名示例

(1)使用下劃線進(jìn)行分隔,提升可讀性。

例如,user_name,user_id,is_friend,is_good。

(2)使用完整名稱,提高可讀性。

例如,uid修改為user_id,pid修改為person_id。

 

3. 字段設(shè)計(jì)

(1)表被索引列必須定義為not null,并設(shè)置default值。

(2)禁止使用float、double類型,建議使用decimal或者int替代。

(3)禁止使用blob、text類型保留大文本、文件、圖片,建議使用其他方式存儲,MySQL只保存指針信息。

(4)禁止使用varchar類型作為主鍵。

 

四、SQL語言編碼規(guī)范

大小寫規(guī)范:

(1)所有關(guān)鍵字必須大寫,如:INSERT、UPDATE、DELETE、SELECT及其子句,IF……ELSE、CASE、DECLARE等。

SELECT COUNT(*) FROM `cdb_members` WHERE `user_name` = 'aeolus';

(2)所有函數(shù)及其參數(shù)中除用戶變量以外的部分必須大寫。

(3)在定義變量時用到的數(shù)據(jù)類型必須小寫。


語句設(shè)計(jì):

(1)數(shù)據(jù)更新建議使用二級索引先查詢出主鍵,再根據(jù)主鍵進(jìn)行數(shù)據(jù)更新。

(2)禁止使用非同類型的列進(jìn)行等值查詢。

分享到:
標(biāo)簽:命名 MySQL
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運(yùn)動步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定