當前位置:成語大全網 - 新華字典 - 數據庫設計需要遵守的設計規範?

數據庫設計需要遵守的設計規範?

數據庫的開發對於後臺編程程序員來說是必備能力之壹了,而今天我們就壹起來了解壹下,關於數據庫開發的設計規範都有哪些類型,沙河北大青鳥希望通過對本文的閱讀,大家對於數據庫開發有更多的了解。

壹、數據庫命令規範

所有數據庫對象名稱必須使用小寫字母並用下劃線分割

所有數據庫對象名稱禁止使用mysql保留關鍵字(如果表名中包含關鍵字查詢時,需要將其用單引號括起來)

數據庫對象的命名要能做到見名識意,並且後不要超過32個字符

臨時庫表必須以tmp_為前綴並以日期為後綴,備份表必須以bak_為前綴並以日期(時間戳)為後綴

所有存儲相同數據的列名和列類型必須壹致(壹般作為關聯列,如果查詢時關聯列類型不壹致會自動進行數據類型隱式轉換,會造成列上的索引失效,導致查詢效率降低)

二、數據庫基本設計規範

1、所有表必須使用Innodb存儲引擎

沒有特殊要求(即Innodb無法滿足的功能如:列存儲,存儲空間數據等)的情況下,所有表必須使用Innodb存儲引擎(mysql5.5之前默認使用Myisam,5.6以後默認的為Innodb)Innodb支持事務,支持行級鎖,更好的恢復性,高並發下性能更好

2、數據庫和表的字符集統壹使用UTF8

兼容性更好,統壹字符集可以避免由於字符集轉換產生的亂碼,不同的字符集進行比較前需要進行轉換會造成索引失效

3、所有表和字段都需要添加註釋

使用comment從句添加表和列的備註從壹開始就進行數據字典的維護

4、盡量控制單表數據量的大小,建議控制在500萬以內

500萬並不是MySQL數據庫的限制,過大會造成修改表結構,備份,恢復都會有很大的問題

可以用歷史數據歸檔(應用於日誌數據),分庫分表(應用於業務數據)等手段來控制數據量大小

5、謹慎使用MySQL分區表

分區表在物理上表現為多個文件,在邏輯上表現為壹個表謹慎選擇分區鍵,跨分區查詢效率可能更低建議采用物理分表的方式管理大數據

6、盡量做到冷熱數據分離,減小表的寬度

MySQL限制每個表多存儲4096列,並且每壹行數據的大小不能超過65535字節減少磁盤IO,保證熱數據的內存緩存命中率(表越寬,把表裝載進內存緩沖池時所占用的內存也就越大,也會消耗更多的IO)更有效的利用緩存,避免讀入無用的冷數據經常壹起使用的列放到壹個表中(避免更多的關聯操作)