五月天堂网_免费看影片_1024手机看毛片_亚洲综合四区_男人的天堂影院_在线亚洲自拍

中培偉業IT資訊頻道
您現在的位置:首頁 > IT資訊 > 數據庫 > 【中培課堂】詳解設計數據庫時應該注意的相關問題

【中培課堂】詳解設計數據庫時應該注意的相關問題

2017-01-19 14:18:46 | 來源:中培企業IT培訓網

數據庫作為目前收集、存儲數據信息的重要平臺,在信息爆炸的當今時代,其作用和價值也日益凸顯。那么設計數據庫時應該注意哪些問題呢,中培偉業“大數據”專家鐘老師在這里就事務型數據庫設計過程中應注意的問題進行了解答。

1.是否使用聯合主鍵?

采用聯合主鍵是比較理想的選擇。因為這樣會降低索引的效率,聯合主鍵一般都要用到至少一個業務字段,往往是字符串型的,而且理論上多字段的索引比單字段的索引要慢些??瓷先ニ坪跻膊荒敲辞逅?。

在實際的設計中,我盡量避免使用聯合主鍵,有些時候“不得不”使用聯合主鍵。

2.PK采用無意義的字段(邏輯主鍵)還是有意義的字段(業務主鍵)?

“邏輯主鍵”應該,理由是這樣設計出的數據庫模型結構清晰、關系脈絡清楚,往往更符合“第三范式”(雖然不是故意的,呵呵)。而且更容易避開“聯合主鍵”,而且可以使用索引效率高的字段類型,比如intlongnumber。缺點是用無意義的字段建立表間的關系,使跨表查詢增多,效率下降。(矛盾無處不在,前面剛說完可以提高效率,這里馬上又降低效率)。“業務主鍵”可以提升查詢編碼的簡潔度和效率。

總體來說“邏輯主鍵”比“業務主鍵”執行效率低,但不會低到無法滿足需求。采用“邏輯主鍵”比采用“業務主鍵”更利于數據庫模型的結構、關系清晰,也更便于維護。

對于分析型數據庫,如數據倉庫,千萬不要這樣做。

3.不要使用多對多關系?

少使用多對多關系。這個問題其實不是數據庫設計的問題了,在數據庫設計中,多對多關系也僅僅存在于邏輯模型(E-R)階段,物理模型不在有多對多關系,實際數據庫中也不會有“多對多”關系。這是使用ORM時的問題,比如使用Hibernate,多對多關系有時會使編碼看起來靈活一些,代價是效率的明顯降低。

設計時基本不考慮多對多關系,但編碼時總會有小組成員使用一些多對多關系,自己建立多對多的ORM,使自己編碼方便些,用在數據量小的地方,影響不大。大數據量,則“禁止使用”。

4.為每個表增加一個state字段?

設計時給每個表設一個state字段,取值,默認值為,具體業務意義或操作上的意義可以自定義??梢宰鳛橐粋€狀態控制字段,如查詢、更新、刪除條件,單據是否有效(業務單據對應的表會有業務意義上的“有無效”或“狀態”字段,這種情況下,我還是會再加一個state字段),甚至僅僅是控制一條數據是否“有效”(有效的意義你自己定)。在數據遷移(如轉入分析用的數據庫)時也可能會發揮作用。

5.為每個表設置一些備用字段?

沒辦法,我總是設計不出“完美”的數據表,給每個表加幾個備用字段(我一般用字符串型,隨你)可以應付“不時之需”,尤其是需要長期維護的、業務可能有臨時性變動的系統。

6.盡量不要在一個表中存入其關聯表的字段?

建議不存!這樣做確實可以提高查詢效率,但在一個有很多表,并且關聯表多的情況下,很難保持數據的一致性!數據庫結構也比較糟糕。而且不存,也不會使效率十分低下。

7.不要去直接修改數據庫?

這點很重要,當需要修改時,應該先去修改模型,然后同步物理數據庫,尤其是團隊開發,否則要多做更多的事情來搞定,也可能會引入更多的錯誤。

標簽: 設計數據庫
主站蜘蛛池模板: 欧美xxxx中国 | 国产私拍大尺度在线视频 | 在线观看黄色影片 | 亚洲一区精彩视频 | 久久激情免费视频 | 中文字幕日本免费毛片全过程 | 男人舔女人高潮视频 | 九九热在线观看 | 女神呻吟娇喘高潮毛片 | 2024亚洲男人天堂 | 亚洲区欧美区综合区自拍区 | 国产精品毛片a∨一区二区三区 | 日本黄色三及片 | 久久精品久久99 | 亚洲av天海翼一级毛片 | 亚洲日韩精品无码专区加勒比 | chinabdsm国产调教 | 夜影院黄色 | 中文一区一区三区免费在线观看 | 亚洲综合在线网站 | 国产又黄又爽又猛免费视频 | 国产精品自拍小视频 | 福利影院在线 | 有码+日韩+在线观看 | 四虎成人精品一区二区免费网站 | 91原创| 国产美女主播在线 | 免费视频久久久 | 天堂精品一区二区三区 | 久久夜色精品国产亚洲 | 国产精品久久久久久一区二区 | 大陆一级毛片 | 男人的天堂97 | 果冻传媒精选一区二区 | 免费观看高清视频的网站 | av在线免费播放不卡 | 美女网站色av | а√天堂中文官网8 | 欧美成人国产精品高潮 | 91影视在线观看 | 国产精品久久久久久久白皙女 |