您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關(guān)數(shù)據(jù)庫命名規(guī)范有哪些,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
采用26個(gè)英文字母(區(qū)分大小寫)和0-9的自然數(shù)(經(jīng)常不需要)加上下劃線組成,命名簡(jiǎn)潔明確,多個(gè)單詞用下劃線'_'分隔,一個(gè)業(yè)務(wù)項(xiàng)目一個(gè)數(shù)據(jù)庫,多個(gè)業(yè)務(wù)項(xiàng)目慎用同一個(gè)數(shù)據(jù)庫。
數(shù)據(jù)表命名規(guī)范
?。?)采用26個(gè)英文字母(區(qū)分大小寫)和0-9的自然數(shù)(經(jīng)常不需要)加上下劃線'_'組成,命名簡(jiǎn)潔明確,多個(gè)單詞用下劃線'_'分隔。
?。?)全部小寫命名,禁止出現(xiàn)大寫。
(3)禁止使用數(shù)據(jù)庫關(guān)鍵字,如:name,time,datetime,password等。
?。?)表名稱不應(yīng)該取得太長(一般不超過三個(gè)英文單詞)。
?。?)表的名稱一般使用名詞或者動(dòng)賓短語。
?。?)用單數(shù)形式表示名稱,例如,使用employee,而不是employees。
明細(xì)表的名稱為:主表的名稱+字符dtl(detail縮寫)
例如:采購定單的名稱為:po_order,則采購定單的明細(xì)表為:po_orderdtl。
(7)表必須填寫描述信息(使用SQL語句建表時(shí))。
表設(shè)計(jì)
(1)表必須定義主鍵,默認(rèn)為ID,整型自增,如果不采用默認(rèn)設(shè)計(jì)必須咨詢DBA進(jìn)行設(shè)計(jì)評(píng)估。
?。?)ID字段作為自增主鍵。一般所有表都要有id,id必為主鍵,類型為bigintunsigned,單表時(shí)自增、步長為1。一般情況下主鍵id和業(yè)務(wù)沒關(guān)系的。
?。?)強(qiáng)烈建議不使用外鍵,數(shù)據(jù)的完整性靠程序來保證。
?。?)多表中的相同列,必須保證列定義一致。
?。?)國內(nèi)表默認(rèn)使用InnoDB,表字符集默認(rèn)使用gbk,國際默認(rèn)使用utf8的表。
(6)一般情況下每張表都有著四個(gè)字段create_id,create_time,update_id,update_time,其中create_id表示創(chuàng)建者id,create_time表示創(chuàng)建時(shí)間,update_id表示更新者id,update_time表示更新時(shí)間,這四個(gè)字段的作用是為了能夠追蹤數(shù)據(jù)的來源和修改。
(7)單表一到兩年內(nèi)數(shù)據(jù)量超過500w或數(shù)據(jù)容量超過10G考慮分表,且需要提前考慮歷史數(shù)據(jù)遷移或應(yīng)用自行刪除歷史數(shù)據(jù)。
(8)單條記錄大小禁止超過8k,一方面字段不要太多,有的都能上百,甚至幾百個(gè),另一方面字段的內(nèi)容不易過大,像文章內(nèi)容等這種超長內(nèi)容的需要單獨(dú)存到另一張表。
?。?)日志類數(shù)據(jù)不建議存儲(chǔ)在MySQL上,優(yōu)先考慮Hbase或OB,如需要存儲(chǔ)請(qǐng)找DBA評(píng)估使用壓縮表存儲(chǔ)。
?。?0)為了提高查詢效率,可以適當(dāng)?shù)臄?shù)據(jù)冗余,注意是適當(dāng)。
字段命名規(guī)范
(1)采用26個(gè)英文字母(區(qū)分大小寫)和0-9的自然數(shù)(經(jīng)常不需要)加上下劃線'_'組成,命名簡(jiǎn)潔明確,多個(gè)單詞用下劃線'_'分隔。
(2)全部小寫命名,禁止出現(xiàn)大寫。
?。?)字段必須填寫描述信息。
?。?)禁止使用數(shù)據(jù)庫關(guān)鍵字,如:name,time,datetimepassword等。
(5)字段名稱一般采用名詞或動(dòng)賓短語。
(6)采用字段的名稱必須是易于理解,一般不超過三個(gè)英文單詞。
?。?)在命名表的列時(shí),不要重復(fù)表的名稱。
例如,在名employe的表中避免使用名為employee_lastname的字段。
?。?)不要在列的名稱中包含數(shù)據(jù)類型。
?。?)字段命名使用完整名稱,禁止縮寫。
字段名命名示例
(1)使用下劃線進(jìn)行分隔,提升可讀性。
例如,user_name,user_id,is_friend,is_good。
(2)使用完整名稱,提高可讀性。
例如,uid修改為user_id,pid修改為person_id。
字段設(shè)計(jì)
(1)表被索引列必須定義為notnull,并設(shè)置default值。
?。?)禁止使用float、double類型,建議使用decimal或者int替代。
?。?)禁止使用blob、text類型保留大文本、文件、圖片,建議使用其他方式存儲(chǔ),MySQL只保存指針信息。
(4)禁止使用varchar類型作為主鍵。
以上就是數(shù)據(jù)庫命名規(guī)范有哪些,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見到或用到的。希望你能通過這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。