国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

MYSQL 數據庫命名與設計規范

2020-01-19 00:22:11
字體:
來源:轉載
供稿:網友
1.設計原則
1) 標準化和規范化

數據的標準化有助于消除數據庫中的數據冗余。標準化有好幾種形式,但Third Normal Form(3NF)通常被認為在性能、擴展性和數據完整性方面達到了最好平衡。簡單來說,遵守3NF 標準的數據庫的表設計原則是:“One Fact in One Place”即某個表只包括其本身基本的屬性,當不是它們本身所具有的屬性時需進行分解。表之間的關系通過外鍵相連接。它具有以下特點:有一組表專門存放通過鍵連接起來的關聯數據。
舉例:某個存放客戶及其有關定單的3NF 數據庫就可能有兩個表:Customer和Order。Order表不包含定單關聯客戶的任何信息,但表內會存放一個鍵值,該鍵指向Customer表里包含該客戶信息的那一行。
事實上,為了效率的緣故,對表不進行標準化有時也是必要的。
2) 數據驅動
采用數據驅動而非硬編碼的方式,許多策略變更和維護都會方便得多,大大增強系統的靈活性和擴展性。
舉例,假如用戶界面要訪問外部數據源(文件、XML 文檔、其他數據庫等),不妨把相應的連接和路徑信息存儲在用戶界面支持表里。還有,如果用戶界面執行工作流之類的任務(發送郵件、打印信箋、修改記錄狀態等),那么產生工作流的數據也可以存放在數據庫里。角色權限管理也可以通過數據驅動來完成。事實上,如果過程是數據驅動的,你就可以把相當大的責任推給用戶,由用戶來維護自己的工作流過程。
3) 考慮各種變化
在設計數據庫的時候考慮到哪些數據字段將來可能會發生變更。
舉例,姓氏就是如此(注意是西方人的姓氏,比如女性結婚后從夫姓等)。所以,在建立系統存儲客戶信息時,在單獨的一個數據表里存儲姓氏字段,而且還附加起始日和終止日等字段,這樣就可以跟蹤這一數據條目的變化。
2.數據庫涉及字符規范
采用26個英文字母(區分大小寫)和0-9這十個自然數,加上下劃線'_'組成,共63個字符.不能出現其他字符(注釋除外).
注意事項:
1) 以上命名都不得超過30個字符的系統限制.變量名的長度限制為29(不包括標識字符@).
2) 數據對象、變量的命名都采用英文字符,禁止使用中文命名.絕對不要在對象名的字符之間留空格.
3) 小心保留詞,要保證你的字段名沒有和保留詞、數據庫系統或者常用訪問方法沖突
5) 保持字段名和類型的一致性,在命名字段并為其指定數據類型的時候一定要保證一致性.假如數據類型在一個表里是整數,那在另一個表里可就別變成字符型了.
3.數據庫命名規范
數據庫,數據表一律使用前綴
正式數據庫名使用小寫英文以及下劃線組成,盡量說明是那個應用或者系統在使用的.比如:
web_19floor_net
web_car
備份數據庫名使用正式庫名加上備份時間組成,如:
web_19floor_net_20070403
web_car_20070403
4.數據庫表命名規范
數據表名使用小寫英文以及下劃線組成,盡量說明是那個應用或者系統在使用的.
相關應用的數據表使用同一前綴,如論壇的表使用cdb_前綴,博客的數據表使用supe_前綴,前綴名稱一般不超過5字
比如:
web_user
web_group
supe_userspace
備份數據表名使用正式表名加上備份時間組成,如:
web_user_20070403
web_group_20070403
supe_userspace_20070403
5.字段命名規范
字段名稱使用單詞組合完成,首字母小寫,后面單詞的首字母大寫,最好是帶表名前綴.
如 web_user 表的字段:
userId
userName
userPassword
表與表之間的相關聯字段要用統一名稱,
如 web_user 表里面的 userId 和 web_group 表里面的 userId 相對應
6.字段類型規范
規則:用盡量少的存儲空間來存數一個字段的數據.
比如能用int的就不用char或者varchar
能用tinyint的就不用int
能用varchar(20)的就不用varchar(255)
時間戳字段盡量用int型,如created:表示從'1970-01-01 08:00:00′開始的int秒數,采用英文單詞的過去式;gmtCreated:表示datetime類型的時間,即形如'1980-01-01 00:00:00′的時間串,Java中對應的類型為Timestamp
7.數據庫設計文檔規范
所有數據庫設計要寫成文檔,文檔以模塊化形式表達.大致格式如下:
‘――――――――――――――-
‘ 表名: web_user
‘ 作者: Aeolus(傻魚)
‘ 日期: 2007-04-11
‘ 版本: 1.0
‘ 描述: 保存用戶資料
‘ 具體內容:
‘ UserID int,自動增量 用戶代碼
‘ UserName char(12) 用戶名字
‘ ……
‘―――――――――――――― 主站蜘蛛池模板: 闵行区| 临洮县| 内丘县| 阜城县| 繁峙县| 桃园市| 濉溪县| 海门市| 丹江口市| 合作市| 武功县| 沿河| 英超| 水城县| 海伦市| 旬邑县| 华宁县| 壶关县| 太保市| 永德县| 美姑县| 屯门区| 双城市| 襄垣县| 天峨县| 尼勒克县| 奉新县| 兴宁市| 和平县| 当涂县| 武威市| 益阳市| 方城县| 东乡县| 青龙| 即墨市| 会泽县| 玉屏| 格尔木市| 天长市| 清流县|