## 1.數據庫版本
1. mysql 5.6以上
## 2.數據庫排序規則
1. utf_general_ci
## 3. 命名規則
**_一律使用小寫字母+數字_**
1.數據庫命名規范
數據庫,數據表一律使用前綴
正式數據庫名使用小寫英文以及下劃線組成,盡量說明是那個應用或者系統在使用的.比如:
db\_itboye\_com
itboye\_
備份數據庫名使用正式庫名加上備份時間組成,如:
db\_itboye\_com
db\_itboye\_com
itboye\_20150403
2.數據庫表命名規范
數據表名使用小寫英文以及下劃線組成,盡量說明是那個應用或者系統在使用的.
相關應用的數據表使用同一前綴,如論壇的表使用cdb_前綴,博客的數據表使用supe_前綴,前綴名稱一般不超過5字
比如:
web\_user
web\_group
supe\_userspace
備份數據表名使用正式表名加上備份時間組成,如:
web\_user_20070403
web\_group_20070403
supe\_userspace_20070403
3.字段命名規范
字段名稱使用單詞組合完成,首字母小寫,后面單詞的首字母下劃杠+小寫,最好是帶表名前綴.
如 web_user 表的字段:
user\_id
user\_name
user\_password
表與表之間的相關聯字段要用統一名稱,
如 web\_user 表里面的 user\_id 和 web\_group 表里面的 user\_id 相對應
4.字段類型規范
規則:用盡量少的存儲空間來存數一個字段的數據.
比如能用int的就不用char或者varchar
能用tinyint的就不用int
能用varchar(20)的就不用varchar(255)
時間戳字段盡量用int型,如created:表示從'1970-01-01 08:00:00'開始的int秒數,采用英文單詞的過去式;gmt\_created:表示datetime類型的時間,即形如'1980-01-01 00:00:00'的時間串,Java中對應的類型為Timestamp
## 4.數據庫設計文檔規范
所有數據庫表設計要寫數據表注釋.大致格式如下:
'-------------------------------------------
' 表名: web_user
' 作者: 貝貝
' 日期: 2015-04-11
' 版本: 1.0
' 描述: 保存用戶資料
' 具體內容:
' user\_id int,自動增量 用戶代碼
' user\_name char(12) 用戶名字
' ......
'--------------------------------------------
## 5. 其它
1.索引使用原則:
1) 邏輯主鍵使用唯一的成組索引,對系統鍵(作為存儲過程)采用唯一的非成組索引,對任何外鍵列采用非成組索引.考慮數據庫的空間有多大,表如何進行訪問,還有這些訪問是否主要用作讀寫.
2) 大多數數據庫都索引自動創建的主鍵字段,但是可別忘了索引外鍵,它們也是經常使用的鍵,比如運行查詢顯示主表和所有關聯表的某條記錄就用得上.
3) 不要索引blob/text等字段,不要索引大型字段(有很多字符),這樣作會讓索引占用太多的存儲空間.
4) 不要索引常用的小型表
不要為小型數據表設置任何鍵,假如它們經常有插入和刪除操作就更別這樣作了.對這些插入和刪除操作的索引維護可能比掃描表空間消耗更多的時間.
2.sql語句規范
所有sql關鍵詞全部大寫,比如SELECT,UPDATE,FROM,ORDER,BY等,所有的表名和庫名都要用\`\`包含
如:
SELECT COUNT(*) FROM `cdb_members` WHERE `user\_name` = 'beibei';
3.其他設計技巧
1) 避免使用觸發器
觸發器的功能通常可以用其他方式實現.在調試程序時觸發器可能成為干擾.假如你確實需要采用觸發器,你最好集中對它文檔化.
2) 使用常用英語(或者其他任何語言)而不要使用編碼或者拼音首字母縮寫
在創建下拉菜單、列表、報表時最好按照英語名排序.假如需要編碼或者拼音首字母縮寫,可以在旁邊附上用戶知道的英語.
3) 保存常用信息
讓一個表專門存放一般數據庫信息非常有用.在這個表里存放數據庫當前版本、最近檢查/修復(對Access)、關聯設計文檔的名稱、客戶等信息.這樣可以實現一種簡單機制跟蹤數據庫,當客戶抱怨他們的數據庫沒有達到希望的要求而與你聯系時,這樣做對非客戶機/服務器環境特別有用.
4) 包含版本機制
在數據庫中引入版本控制機制來確定使用中的數據庫的版本.時間一長,用戶的需求總是會改變的.最終可能會要求修改數據庫結構.把版本信息直接存放到數據庫中更為方便.
5) 編制文檔
對所有的快捷方式、命名規范、限制和函數都要編制文檔.
采用給表、列、觸發器等加注釋的數據庫工具.對開發、支持和跟蹤修改非常有用.
對數據庫文檔化,或者在數據庫自身的內部或者單獨建立文檔.這樣,當過了一年多時間后再回過頭來做第2 個版本,犯錯的機會將大大減少.
6) 測試、測試、反復測試
建立或者修訂數據庫之后,必須用用戶新輸入的數據測試數據字段.最重要的是,讓用戶進行測試并且同用戶一道保證選擇的數據類型滿足商業要求.測試需要在把新數據庫投入實際服務之前完成.
7) 檢查設計
在開發期間檢查數據庫設計的常用技術是通過其所支持的應用程序原型檢查數據庫.換句話說,針對每一種最終表達數據的原型應用,保證你檢查了數據模型并且查看如何取出數據.