首页
/
每日頭條
/
科技
/
mysql數據庫的建立和配置
mysql數據庫的建立和配置
更新时间:2025-12-14 01:23:06
數據庫設計規範

首先我們先看一下,标準規範的建表SQL語句的是什麼樣子的,如下:

mysql數據庫的建立和配置(MySQL數據庫創建庫表的基本規範)1

庫名規範

mysql數據庫的建立和配置(MySQL數據庫創建庫表的基本規範)2

  1. 庫命名應該在30個字符以内,存在關聯關系的表在命名時盡量體現關聯關系,如user表與user_registry表。
  2. 庫名稱格式應遵循“業務系統名稱_子系統名稱”,相同模塊的表名盡量使用統一前綴。
  3. 創建數據庫時應該顯式指定字符集,并且字符集隻能是 utf8或者 utf8mb4。

建表規範

mysql數據庫的建立和配置(MySQL數據庫創建庫表的基本規範)3

  1. 表命名和字段命名應該控制在30個字符以内,使用英文小寫單詞,表名應由字母、數字和下劃線組成,禁止使用中文命名,如果有多個單詞需使用下劃線隔開。
  2. 創建表時,表命名時應該用英文單詞的單數形式,如學生信息表命名,應該為student而不是students。
  3. 創建表時,對相關功能的表應當使用相同前綴,前綴通常為這個表的模塊或依賴主實體對象的名稱縮寫,如物資系統采用”wz_”作為前綴。
  4. 創建表時,表字段命名不建議使用數據庫關鍵字,如:name,time ,datetime
  5. 創建表時,應該顯式申明字符集為 utf8或 utf8mb4,如 DEFAULT CHARSET=utf8
  6. 創建表時,應該對字段和表添加COMMENT。
  7. 創建表時,應該創建主鍵,建議使用 auto_increment的 id作為主鍵(與業務無關,與業務相關字段應創建唯一索引),類型應為 intbigint。推薦使用bigint類型,因為無符号int存儲範圍為-2147483648~2147483647,溢出後會導緻報錯。
  8. 創建表時,應該有創建時間字段create_time和更新時間字段update_time。
  9. 創建表時,必填字段應該盡量設置NOT NULL屬性,同時根據實際業務需要定義DEFAULT值。盡量避免使用NULL,因為使用NULL需要占用額外的空間存儲、聚合函數計算結果偏差,同時含有NULL值的列,會對SQL優化産生影響,尤其是組合索引中。
  10. 創建表時,不推薦使用blob,text類型,比較浪費硬盤和内存空間,在加載表數據時,會讀取大字段到内存裡從而浪費内存空間,影響系統性能。建議對表中的blob、text等大字段,垂直拆分到其他表裡,僅在需要讀這些對象的時候才去查詢。
  11. 創建表時,對需要頻繁JOIN查詢的字段,建議在其他表裡冗餘存儲。如 username 字段在user_account,user_registry等表裡冗餘存儲username ,減少JOIN查詢。
  12. 創建表時,表與表之間的相關聯字段盡量使用統一名稱,如 user_account 表 裡面的 username 和 user_registry表裡面的 username 相對應。
  13. 創建表時,文本數據盡量用varchar存儲,時間類型盡量選取timestamp。
  14. 創建中間表時,表名稱建議以 tmp_開頭,時間結尾,需定期清理。
  15. 創建備份表時,表名稱建議以bak_開頭,時間結尾,需定期清理。
  16. 創建表時,應該顯式申明存儲引擎類型,表引擎取決于實際應用場景及當前數據庫中的已經存在的存儲引擎,我們通常使用InnoDB存儲引擎。Innodb存儲引擎支持事務、行級鎖、更好的恢複性、高并發下性能更好,對多核、大内存、SSD等硬件支持更好。

索引規範

mysql數據庫的建立和配置(MySQL數據庫創建庫表的基本規範)4

  1. 主鍵索引的名稱建議以"pk_"開頭,唯一索引以"uq_"開頭,非唯一索引以"idx_"開頭,以表名、字段的名稱或縮寫作為後綴,索引名稱必須使用小寫。
  2. 創建索引時,多考慮建立聯合索引,并把字段值去重之後的個數多的放在前面。
  3. 單索引中每個索引值的長度建議不超過64KB,不要索引blob、text等大字段,這樣作會讓索引占用太多的存儲空間.。
  4. 單個表上的索引個數建議不超過5個,唯一索引由3個以下字段組成,并且字段都是整形時,使用唯一鍵作為主鍵。
  5. 在多表 JOIN的SQL語句裡,保證被驅動表的連接列上有索引,這樣JOIN執行效率最高。
  6. 避免存在冗餘索引,合理創建聯合索引(避免冗餘),如果表裡已經存在key(a,b),則key(a)為冗餘索引,需要删除key(a)。

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
realme x50 pro 5g試用
realme x50 pro 5g試用
2020年的第一場手機發布會由realmeX50揭開面紗。從屏幕尺寸規格,前置雙攝,後置四攝。屏幕刷新率的提升,乃至售價都是圍繞着友商K305G版本來的,看來今年5G市場必定血雨腥風。那麼我們通過一篇測評文章來帶你了解一下這款隻說真話的真我...
2025-12-14
思維導圖在中學數學中的應用
思維導圖在中學數學中的應用
思維導圖是基于對人腦的模拟,所以這一“數據庫”的儲存方式和組織結構和思維導圖的“構圖”方式不謀而合。數學中的形象思維主要包含直觀形象,經驗形象,創新形象,意會形象。利用這些與思維導圖相聯系是可行的。本文以較難的數學為例,講述數學思維導圖的作...
2025-12-14
客如雲超市收銀系統好用嗎
客如雲超市收銀系統好用嗎
收銀系統千千萬,常常讓商戶老闆挑得眼花缭亂,不少老闆反饋,不知道怎麼挑選收銀系統軟件才能不踩雷。本期小編收集了市場受歡迎度較高的五個收銀系統軟件,整理了它們各自的優勢和劣勢,供大家參考。第一名:秦絲收銀系統軟件秦絲軟件是進銷存軟件中的佼佼者...
2025-12-14
質子治療系統排名
質子治療系統排名
9月26日,國家藥品監督管理局批準了上海艾普強粒子設備有限公司生産的“質子治療系統”創新産品注冊申請。該産品是“十三五”期間科技部重點研發計劃“數字診療裝備專項”的重點支持項目,也是我國首台獲準上市的國産質子治療系統。該産品的獲批上市,标志...
2025-12-14
什麼地方要裝防火窗
什麼地方要裝防火窗
随着人們消防安全意識的增強,選擇安裝防火窗的用戶越來越多,那麼大家都知道安裝防火窗時應該注意些什麼嗎[what]?今天小編就帶大家來了解一下[靈光一閃]。一、檢查防火窗在儲存或者運輸過程中有可能會不慎導緻窗框、窗扇翹曲、變形、玻璃破損,所以...
2025-12-14
Copyright 2023-2025 - www.tftnews.com All Rights Reserved