<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        數據庫設計的重要性和設計原則

        來源:懂視網 責編:小采 時間:2020-11-09 16:21:11
        文檔

        數據庫設計的重要性和設計原則

        數據庫設計的重要性和設計原則:說起數據庫設計,相信大家都明白怎么回事,但說起數據庫設計的重要性,我想大家也只是停留在概念上而已,到底如何重要?怎么重要呢? 一個不良的數據庫設計,必然會造成很多問題,輕則增減字段,重則系統無法運行。先來說說數據庫設計不合理的表現吧: 1、與
        推薦度:
        導讀數據庫設計的重要性和設計原則:說起數據庫設計,相信大家都明白怎么回事,但說起數據庫設計的重要性,我想大家也只是停留在概念上而已,到底如何重要?怎么重要呢? 一個不良的數據庫設計,必然會造成很多問題,輕則增減字段,重則系統無法運行。先來說說數據庫設計不合理的表現吧: 1、與

        說起數據庫設計,相信大家都明白怎么回事,但說起數據庫設計的重要性,我想大家也只是停留在概念上而已,到底如何重要?怎么重要呢? 一個不良的數據庫設計,必然會造成很多問題,輕則增減字段,重則系統無法運行。先來說說數據庫設計不合理的表現吧: 1、與

         說起數據庫設計,相信大家都明白怎么回事,但說起數據庫設計的重要性,我想大家也只是停留在概念上而已,到底如何重要?怎么重要呢?

          一個不良的數據庫設計,必然會造成很多問題,輕則增減字段,重則系統無法運行。先來說說數據庫設計不合理的表現吧:

          1、與需求不符

          因為這個原因造成的改動量往往是最大。如果進入編碼階段的話,很可能會直接讓你崩潰掉。

          2、性能低下

          含有大數據量的表之間的關聯過多;沒有合理的字段設計來用于查詢而造成的SQL查詢語句很復雜;對于大數據量的表沒有采用有效的手段去處理;濫用視圖等。

          3、數據完整性喪失

          含有主外鍵關系的表之間關聯字段的設計方式不合理,造成更新與刪除操作后程序容易出錯或不完善;使用了已經刪除或丟失掉的數據。

          4、可擴展性性太差

          表設計的與業務綁定的太緊密、單一,造成表的可拓展性、可修改性太差,無法新需求的要求。

          5、非必要數據冗余量太大

          沒用的垃圾數據存儲過多,不僅占用資源,還影響查詢效率。

          6、不利于計算或統計

          缺少必要的聯系性或統計性字段或用于計算統計的字段分散于多個表中,造成計算統計的步驟繁瑣,甚至無法計算統計。

          7、沒有詳盡的數據記錄信息

          缺少必要的字段,造成無法跟蹤數據變化、用戶操作,也無法進行數據分析。

          8、表之間的耦合性太大

          多張表之間關聯的過于緊密,造成一張表發生變化而影響到其他表。

          9、字段設計考慮不周

          字段長度過短或字段類型過于明確,造成可發揮、可拓展的空間太小。

          大多數的程序員對于軟件開發的出發點認識不是很明確,總是認為實現功能才是重要的,在簡單了解完基本需求后就急忙進入編碼階段,對于數據庫設計思考的比較少、比較簡單,大多設計都只停留在表面上,這往往是要命的,會為系統留下很多隱患。要么是寫代碼開發過程中才發現問題,要么就是系統上線運轉后沒多久就出現問題,還有可能給后期維護增加了很多工作量。如果到了那個時候再想修改數據庫設計或進行優化等同于推翻重來。

          數據庫是整個軟件應用的根基,是軟件設計的起點,它起著決定性的質變作用,因此我們必須對數據庫設計高度重視起來,培養設計良好數據庫的習慣,是一個優秀的軟件設計師所必須具備的基本素質條件!

          那么我們要做到什么程度才是對的呢?下面就說說數據庫設計的原則:

          1、數據庫設計最起碼要占用整個項目開發的40%以上的時間

          數據庫是需求的直觀反應和表現,因此設計時必須要切實符合用戶的需求,要多次與用戶溝通交流來細化需求,將需求中的要求和每一次的變化都要一一體現在數據庫的設計當中。如果需求不明確,就要分析不確定的因素,設計表時就要事先預留出可變通的字段,正所謂“有備無患”。

          2、數據庫設計不僅僅停留于頁面demo的表面

          頁面內容所需要的字段,在數據庫設計中只是一部分,還有系統運轉、模塊交互、中轉數據、表之間的聯系等等所需要的字段,因此數據庫設計絕對不是簡單的基本數據存儲,還有邏輯數據存儲。

          3、數據庫設計完成后,項目80%的設計開發在你腦海中就已經完成了

          每個字段的設計都是有他必要的意義的,你在設計每一個字段的同時,就應該已經想清楚程序中如何去運用這些字段,多張表的聯系在程序中是如何體現的。換句話說,你完成數據庫設計后,程序中所有的實現思路和實現方式在你的腦海中就已經考慮過了。如果達不到這種程度,那當進入編碼階段后,才發現要運用的技術或實現的方式數據庫無法支持,這時再改動數據庫就會很麻煩,會造成一系列不可預測的問題。

          4、數據庫設計時就要考慮到效率和優化問題

          一開始就要分析哪些表會存儲較多的數據量,對于數據量較大的表的設計往往是粗粒度的,也會冗余一些必要的字段,已達到盡量用最少的表、最弱的表關系去存儲海量的數據。并且在設計表時,一般都會對主鍵建立聚集索引,含有大數據量的表更是要建立索引以提供查詢性能。對于含有計算、數據交互、統計這類需求時,還要考慮是否有必要采用存儲過程。

          5、添加必要的(冗余)字段

          像“創建時間”、“修改時間”、“備注”、“操作用戶IP”和一些用于其他需求(如統計)的字段等,在每張表中必須都要有,不是說只有系統中用到的數據才會存到數據庫中,一些冗余字段是為了便于日后維護、分析、拓展而添加的,這點是非常重要的,比如黑客攻擊,篡改了數據,我們便就可以根據修改時間和操作用戶IP來查找定位。

          6、設計合理的表關聯

          若多張表之間的關系復雜,建議采用第三張映射表來關聯維護兩張表之間的關系,以降低表之間的直接耦合度。若多張表涉及到大數據量的問題,表結構盡量簡單,關聯也要盡可能避免。

          7、設計表時不加主外鍵等約束性關聯,系統編碼階段完成后再添加約束性關聯

          這樣做的目的是有利于團隊并行開發,減少編碼時所遇到的問題,表之間的關系靠程序來控制。編碼完成后再加關聯并進行測試。不過也有一些公司的做法是干脆就不加表關聯。

          8、選擇合適的主鍵生成策略

          主鍵生成策略大致可分:int自增長類型(identity、sequence)、手動增長類型(建立單獨一張表來維護)、手動維護類型(如userId)、字符串類型(uuid、guid)。int型的優點是使用簡單、效率高,但多表之間數據合并時就很容易出現問題,手動增長類型和字符串類型能很好解決多表數據合并的問題,但同樣也都有缺點:前者的缺點是增加了一次數據庫訪問來獲取主鍵,并且又多維護一張主鍵表,增加了復雜度;而后者是非常占用存儲空間,且表關聯查詢的效率低下,索引的效率也不高,跟int類型正好相反。

          終上所述,我們可見數據庫設計在整個軟件開發的起到的舉足輕重的作用,尤其是我說的設計原則的第一點,數據庫與需求是相輔相成的,我經常把軟件開發比作汽車制造。汽車制造會經過圖紙設計,模型制作,樣車制造,小批量試生產,最后是批量生產等步驟。整個過程環環相扣,后一過程是建立在前一過程正確的前提基礎之上的。如果在圖紙設計階段發現了一個紕漏,我們可以重新進行圖紙設計,如果到了樣車制造階段發現這個錯誤,那么我們就要把從圖紙設計到樣車制造的階段重來,越到后面發現設計上的問題,所付出的代價越大,修改的難度也越大。

          數據庫設計難度其實要比單純的技術實現的難很多,他充分體現了一個人的全局設計能力和掌控能力,所以在今后的項目中大家一定要著重培養這方面的能力,這里我將我的經驗分享給了大家,希望能對大家有所幫助。

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        數據庫設計的重要性和設計原則

        數據庫設計的重要性和設計原則:說起數據庫設計,相信大家都明白怎么回事,但說起數據庫設計的重要性,我想大家也只是停留在概念上而已,到底如何重要?怎么重要呢? 一個不良的數據庫設計,必然會造成很多問題,輕則增減字段,重則系統無法運行。先來說說數據庫設計不合理的表現吧: 1、與
        推薦度:
        標簽: 設計 大家 數據庫
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 国产国产人免费视频成69大陆| 国产精品视频免费一区二区三区 | 亚洲伊人久久精品| 亚洲AV无码一区二区大桥未久| 国产又黄又爽胸又大免费视频| 亚洲免费福利在线视频| 毛茸茸bbw亚洲人| 亚洲人成网站在线播放2019| 少妇性饥渴无码A区免费| 国产成人免费手机在线观看视频| 亚洲欧洲精品成人久久曰| 日韩一级在线播放免费观看| 久久久亚洲AV波多野结衣| 一级毛片人与动免费观看| 两个人的视频高清在线观看免费| 亚洲国产精品无码成人片久久| 久久水蜜桃亚洲AV无码精品| 国产免费一区二区三区VR| 亚洲剧场午夜在线观看| 免费鲁丝片一级观看| 亚洲国产情侣一区二区三区| 久久WWW色情成人免费观看| 麻豆亚洲AV成人无码久久精品| 精品女同一区二区三区免费站| 亚洲成色WWW久久网站| 84pao强力永久免费高清| 亚洲国产一成人久久精品| 美女黄色免费网站| 在线免费一区二区| 亚洲日韩久久综合中文字幕| 免费观看日本污污ww网站一区| 亚洲高清免费视频| 亚洲另类少妇17p| 国产精品国产亚洲区艳妇糸列短篇| vvvv99日韩精品亚洲| 亚洲熟妇自偷自拍另欧美| 最新欧洲大片免费在线| 亚洲国产乱码最新视频| 成人毛片免费观看视频在线| 亚洲狠狠成人综合网| 亚洲毛片网址在线观看中文字幕|