
- 數(shù)據(jù)庫設(shè)計(jì)得怎么樣 是一款程序穩(wěn)定性 可擴(kuò)展性 易用性等等一切優(yōu)秀的基石. 沒有數(shù)據(jù)庫的規(guī)范也就沒有了所有的規(guī)范
- 理解約定的含義 很多規(guī)范往往不是最好的 但就是這么約定的
- 除專有名詞可以用拼音(全拼)外 數(shù)據(jù)庫名 表名 字段名 變量名等 全部以英文命名 對于不確定的英文單詞 先查單詞表 單詞表內(nèi)沒有合適的再查詞典 最后把新單詞加入單詞表
- 拼音的字與字之間使用下劃線隔開 英文單詞與單詞之間也用下劃線隔開 全部小寫 不允許使用駝峰等其它方式
- 庫名 表名 字段名見名知意 建議使用名詞而不是動(dòng)詞
- 禁止在數(shù)據(jù)庫中存儲(chǔ)圖片、文件 。
- 除ID字段外 每個(gè)字段都要有COMMENT注釋 表也要有COMMENT 并要表達(dá)清楚 準(zhǔn)確
- 每個(gè)字段定義除特殊要求外 要有default值 數(shù)值類型默認(rèn)值一般為’0/1’. 如: 用戶可用默認(rèn)狀態(tài)為可用 值為1(排序字段sort默認(rèn)值為50) 字符串類型一般為’’ 字段默認(rèn)值除必須為NULL時(shí)不能為NULL
- Bool類型用tinyint(1)類型代替 0為false 1為true
- 【大數(shù)據(jù)|艾思軟件數(shù)據(jù)庫規(guī)范2.0】所有日期時(shí)間類型用時(shí)間格式(datatime) 名稱以_time后綴結(jié)尾 如:create_time創(chuàng)建時(shí)間 update_time更新時(shí)間
- 數(shù)據(jù)表ENGINE使用InnoDB格式CHARSET使用utf8mb4格式
- url類型一般為varchar(255) 如: http地址 頭像圖片地址等
- 主鍵名統(tǒng)一使用: id int 自增
- 類型字段不得使用字符串保存. 如:
- 禁用/正常(可用)狀態(tài)的字段 字段名統(tǒng)一使用: usable tinyint(1) not null default 0/1 comment “是否禁用: 0為禁用 1為正常”.
- 性別使用: sex tinyint(1) not null default 0 comment “性別: 0為未知 1為男 2為女”
- 是/否狀態(tài)的字段 字段名統(tǒng)一使用is_開頭 如是否是菜單 是否是會(huì)員: is_*** tinyint(1) not null default 0/1 comment “是否可用: 0為否 1為是”;
- 在不可控的情況下 比方說要對接第三方接口 這種情況是屬于盡量避免數(shù)據(jù)類型轉(zhuǎn)化為原則
- 表名前綴分為兩級(jí) 一級(jí)前綴為ln_ 二級(jí)前綴為模塊名稱: 如core_核心模塊 im_為聊天模塊 cms_客戶管理
- 常用固定字段示例:
- input_user_id: `input_user_id` int(10) NOT NULL DEFAULT 0 COMMENT ‘新聞錄入用戶’
- create_time update_time(前端不建議傳遞這兩個(gè)參數(shù) 如果需要自定義創(chuàng)建時(shí)間 需要另外建立字段 如新聞發(fā)布日期)
- id: `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'ID'
- quantity: `quantity` int(10) NOT NULL DEFAULT 0 COMMENT ‘購買數(shù)量 無單位’
- user_id: `user_id` int(10) NOT NULL DEFAULT 0 COMMENT ‘客戶所屬用戶’
- product_id: `product_id` int(10) NOT NULL DEFAULT 0 COMMENT ‘定單購買產(chǎn)品ID’
- 關(guān)于軟刪除問題: 有回收站機(jī)制的 使用假刪 沒有回收站的使用直刪 但刪除之前要判斷關(guān)聯(lián)表的數(shù)據(jù)已經(jīng)沒有關(guān)聯(lián)數(shù)據(jù) 如果有關(guān)聯(lián)數(shù)據(jù) 要求用戶先刪除關(guān)聯(lián)數(shù)據(jù)再來刪除數(shù)據(jù). 比仿說 要?jiǎng)h除一條新聞分類 要判斷這個(gè)分類下是否有新聞 如果新聞就提示用戶先刪除新聞; 刪除新聞時(shí)再判斷新聞是否是收藏記錄和評(píng)論記錄 如果有 要先刪收藏記錄和評(píng)論記錄再刪除新聞 以此類推.
- 禁止在線上做數(shù)據(jù)庫壓力測試 如有特殊需要 需提前報(bào)備. 禁止客戶端直接操作測試生產(chǎn)數(shù)據(jù)庫.
相關(guān)經(jīng)驗(yàn)推薦
- 千元手機(jī)|PCIe 5.0 SSD搶先發(fā)布!4TB大容量、沖上10GB/s
- OLED|發(fā)布一年下跌4500元,OLED+120HZ,索尼A80J無奈價(jià)格大跳水
- 英偉達(dá)|NVIDIA再次強(qiáng)調(diào):我們真不知道礦卡影響有多大
- 手機(jī)廠商|手機(jī)廠商來造車,汽車圈大佬反攻造手機(jī)?它們到底想干什么?
- 維信諾|超炫酷!維信諾發(fā)布12.3英寸卷屏,卷上后僅熒光筆大小,業(yè)內(nèi)首創(chuàng)
- 音箱|你真的懂音響嗎?初燒需要了解這四大音箱選擇指標(biāo)
- Windows|速看!只需一條命令,干掉Windows大部分惡意流氓軟件
- 徠卡|華碩無畏Pro14銳龍版,OLED屏幕70Wh大電池,工作娛樂體驗(yàn)更舒服
- 顯卡|微孔零下巴+6050mAh,榮耀X40Max放大招
- 數(shù)據(jù)倉庫|這些數(shù)據(jù)開發(fā)的術(shù)語 ,你都知道嗎?
