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