日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

access数据库拆分的用途_聊聊数据库设计一些经验 条条都是干货

發布時間:2025/3/21 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 access数据库拆分的用途_聊聊数据库设计一些经验 条条都是干货 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

無論什么web編程,還是應用開發,都離不開數據庫,數據庫是數據存儲的中心,缺了數據,編程就無從談起。

有些項目團隊有專門的DB工程師,來負責數據庫的設計與優化,有些項目沒有專門的DB人員,是由開發人員一同設計了,今天聊一聊數據庫設計中一些經驗與原則(以MySql為例)。

數據庫設計文檔,這個一定得有,得詳細記錄每個表是干什么的,每個字段的類型、名稱、長度及備注說明。

設計原則

  • 單表字段數量盡可能控制在50個以內,如果比較多,考慮拆分表。比如交易表存儲的字段比較多,可以拆分為tb_trade,tb_trade_status 一個代表交易表,一個代表交易狀態表。
  • 按常規存儲與經常更新存儲拆分表,比如用戶表可以拆分為tb_user,tb_user_data,一個保存用戶常規表,這里面數據一般不會變動更新,一個是更新比較頻繁表單獨保存。
  • 盡可能不使用text類型,如果非用不可,也不經常有,建議拆表,把text字段的單獨建一張表。
  • 如果有自定義字段表,建議拆表,把自定義字段表單獨建一張表。
  • 字段類型用盡量小的存儲空間來存一個字段的數據;能用int,就不用varchar,能用varchar(40)就不用varchar(255)。比如IP地址等。
  • 字段類型固定長度的最好使用char,比如城市編碼,郵編等等。
  • 字段類型能使用tinyint就不用smallint,int,如果業務上不出現負數,就限制不允許負數,這樣可以把最大值擴大一倍。
  • 字段可以設置默認值就設置一個默認值,能不允許為空就不能為空。
  • 字段枚舉值之間預留一些值便于后續擴展,比如交易狀態表0代表關閉,5代表待付款,10代表已付款,15代表已經發貨,20代表已經收貨等。#說明#這樣做的好處是便于后續擴展,萬一后續業務需求,多出一個狀態值,可以很容易的定義。
  • 每個表創建一個遞增主鍵id索引(原因可以查查innodb的索引原理就明白了)。
  • 如果有業務單號字段,在單號上創建unique索引。
  • 合理使用索引,不是越多越好。
  • 每個表保留created_at,updated_at,分別保留創建時間,最后更新時間#說明#為后續的API接口開發預留,因為后續接口是需要抓取增量數據的,全是依靠updated_at來完成的。
  • 數據一經產生,不能刪除,可以考慮用一個字段標識是否刪除,比如is_deleted#說明#一則為了數據完整性,后續可查。再則如果有API接口,數據刪除后,第三方系統只能傻傻的認為數據還存在,就不可能保證數據一致性了。
  • 盡可能的滿足數據庫范式要求,但適當冗余保存一些字段也是可以的。#說明#適當保存一些冗余方便后續的查詢,再者有些數據具有及時性,只代表數據產生那一刻的數據,比如交易明細中商品就是明顯的代表。
  • 不要使用存儲過程,如果是mssql可以使用,但要注意存儲過程的編寫方法,后續會寫到。
  • 合理使用事務,把一些條件及判斷,盡可能在事務開始之前完成,避免事務占用時間過長導致堵塞。

數據庫命名原則

數據庫命名

  • 采用英文字母、下劃線、數字;
  • 命名要簡潔易懂,不要過長。如user_db,weixin_db,trade_db,當然也可以直接為user,weixin,trade等等;
  • 除非是一些分庫或備份庫,可以加0-9的自然數,如user_db_202012,除此之外,不要使用數字#說明#數字一般代表的是序號,日期等,便于理解,除此之外,沒有什么意義,加上了有些畫蛇添足的味道。

表名命名

  • 采用26個英文字母(區分大小寫)、0-9數字、下劃線"_"組成;
  • 命名簡潔易懂,多個單詞之間用下劃線分隔,如user_log#說明#不建議使用駝峰法,如userLog,因為有些數據庫是區分大小寫的,userlog,userLog代表不同的表,如果在開發中不小心把userLog寫成了userlog就會出現異常,沒必要給項目挖坑。更不建議直接使用userlog,這種寫法不便于讀。
  • 建議系統表使用統一前綴,比如tb_user_log,tb_trade等#說明#使用前綴的好處是,一則查看的時候會自動排序,把相同的一類排在一塊,再者一看就知道是系統表,不能輕易動,后續在使用過程中,可能會出現一些臨時表,測試表等,這些表在用完后是需要刪除的,也許在使用后暫時忘記了處理,回關一看就知道是什么用途。
  • 相同業務類型的使用統一前綴,比如tb_user,tb_user_data,tb_user_log等等#說明#這樣做的好處是便于查看。

字段命名

  • 采用26個英文字母、下劃線、0-9自然數(如不需要盡量不用)
  • 命名簡潔易懂,多個單詞之間用下劃線分隔;#說明#不建議使用駝峰法,比如fName,原因上述已經說明了。
  • 不要使用關鍵字沖突字段,比如sum,distinct等等,有些項目在字段名上統一加上了前綴f_,比如f_name,f_mobile等,其實這樣做的目的就是防止與關鍵字沖突了,可以根據個人喜好是否統一加前綴。

總結

以上是生活随笔為你收集整理的access数据库拆分的用途_聊聊数据库设计一些经验 条条都是干货的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。