小編給大家分享一下MySQL數(shù)據(jù)庫表設(shè)計規(guī)范是怎么樣的,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
1、一般都使用 INNODB 存儲引擎,除非讀寫比率<1%,才考慮使用 MYISAM 存儲引擎;其 他存儲引擎請在 DBA 的建議下使用。
2、Stored procedure (包括存儲過程,函數(shù),觸發(fā)器)對于 MYSQL 來說還不是很成熟, 沒有完善的出錯記錄處理,不建議使用。
3、UUID(),USER()這樣的MySQL INSIDE 函數(shù)對于復(fù)制來說是很危險的,會導(dǎo)致主備數(shù)據(jù)不一致,所以請不要使用。如果一定要使用UUID作為主鍵,讓應(yīng)用程序來產(chǎn)生。
4、請不要使用外鍵約束,如果數(shù)據(jù)存在外鍵關(guān)系,請在程序?qū)用鎸崿F(xiàn)。
5、必須采用 UTF8 編碼。
a)在設(shè)計時盡量包含兩個日期字段:crt_time(創(chuàng)建日期),upd_time(修改日期)且 非空, 對表的記錄進行更新的時候,必須包含對 upd_time字段的更新。
b)必須要有主鍵,主鍵盡量用自增字段類型,推薦類型為INT或者BIGINT類型。
c)需要多表join的字段,數(shù)據(jù)類型保持絕對一致。
d)Mysql 的表盡量設(shè)置成 KV(Key-Value)結(jié)構(gòu),這樣便于擴展和維護。
e)當表的字段數(shù)非常多時,可以將表分成兩張表,一張作為條件查詢表,一張作為詳細內(nèi)容表(主要是為了性能考慮)。
f)當字段的類型為枚舉型或布爾型時,建議使用 char(1)類型。
g)同一表中,所有varchar字段的長度加起來,不能大于65535.如果有這樣的需求,請使用 TEXT/LONGTEXT 類型。
h)由于MYSQL表DDL維護成本很高,所以在適當?shù)臅r候,可以有一定的字段容余。 比如:Value1,Value2,Value3 這樣的字段。
命名
a)同一個模塊的表盡可能使用相同的前綴,表名盡可能表達含義,例如: CRM_SAL_FUND_ITEM。
b)字段命名應(yīng)盡可能使用表達實際含義的英文單詞或縮寫, 如,公司 ID,不要使用:corporation_id, 而用:corp_id 即可。
c)布爾值類型的字段命名為is+描述。如member表上表示是否為enabled的會員的字 段命名為 IsEnabled。
命名
a) _ind,各部分以下劃線()分割。
b) 多單詞組成的columnname,取前幾個單詞首字母,加末單詞組成column_name。如: sample 表 member_id 上的索引:sample_mid_ind。
設(shè)計
a) 主鍵最好是無意義的,由Sequence產(chǎn)生的ID字段,類型為number,不建議使用組合主鍵。
b) 若要達到唯一性限制的效果,不要創(chuàng)建uniqueindex,必須顯式創(chuàng)建普通索引和約束 (pk 或 uk),即先創(chuàng)建一個以約束名命名的普通索引,然后創(chuàng)建一個約束,用 using index …指定索引。
c) 當刪除約束的時候,為了確保不影響到 index,最好加上 keep index 參數(shù)。
d) 主鍵的內(nèi)容不能被修改。
e) 外鍵約束一般不在數(shù)據(jù)庫上創(chuàng)建,只表達一個邏輯的概念,由程序控制。
f) 當萬不得已必須使用外健的話,必須在外健列創(chuàng)建 INDEX。
命名
a) 主鍵約束: pk 結(jié)尾,_pk;
b) unique 約束:_uk 結(jié)尾,uk;
c) check 約束: _ck 結(jié)尾,ck;
d) 外鍵約束: _fk 結(jié)尾,以 pri 連接本表與主表,_pri_fk;
看完了這篇文章,相信你對“MySQL數(shù)據(jù)庫表設(shè)計規(guī)范是怎么樣的”有了一定的了解,如果想了解更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道,感謝各位的閱讀!
標題名稱:MySQL數(shù)據(jù)庫表設(shè)計規(guī)范是怎么樣的-創(chuàng)新互聯(lián)
當前URL:http://aaarwkj.com/article34/ccjgse.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、搜索引擎優(yōu)化、網(wǎng)站建設(shè)、小程序開發(fā)、網(wǎng)站內(nèi)鏈、網(wǎng)站策劃
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容