国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題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關(guān)鍵字專題關(guān)鍵字專題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
當(dāng)前位置: 首頁(yè) - 科技 - 知識(shí)百科 - 正文

數(shù)據(jù)庫(kù)設(shè)計(jì)的重要性和設(shè)計(jì)原則

來源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-09 16:21:11
文檔

數(shù)據(jù)庫(kù)設(shè)計(jì)的重要性和設(shè)計(jì)原則

數(shù)據(jù)庫(kù)設(shè)計(jì)的重要性和設(shè)計(jì)原則:說起數(shù)據(jù)庫(kù)設(shè)計(jì),相信大家都明白怎么回事,但說起數(shù)據(jù)庫(kù)設(shè)計(jì)的重要性,我想大家也只是停留在概念上而已,到底如何重要?怎么重要呢? 一個(gè)不良的數(shù)據(jù)庫(kù)設(shè)計(jì),必然會(huì)造成很多問題,輕則增減字段,重則系統(tǒng)無(wú)法運(yùn)行。先來說說數(shù)據(jù)庫(kù)設(shè)計(jì)不合理的表現(xiàn)吧: 1、與
推薦度:
導(dǎo)讀數(shù)據(jù)庫(kù)設(shè)計(jì)的重要性和設(shè)計(jì)原則:說起數(shù)據(jù)庫(kù)設(shè)計(jì),相信大家都明白怎么回事,但說起數(shù)據(jù)庫(kù)設(shè)計(jì)的重要性,我想大家也只是停留在概念上而已,到底如何重要?怎么重要呢? 一個(gè)不良的數(shù)據(jù)庫(kù)設(shè)計(jì),必然會(huì)造成很多問題,輕則增減字段,重則系統(tǒng)無(wú)法運(yùn)行。先來說說數(shù)據(jù)庫(kù)設(shè)計(jì)不合理的表現(xiàn)吧: 1、與

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

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

  一個(gè)不良的數(shù)據(jù)庫(kù)設(shè)計(jì),必然會(huì)造成很多問題,輕則增減字段,重則系統(tǒng)無(wú)法運(yùn)行。先來說說數(shù)據(jù)庫(kù)設(shè)計(jì)不合理的表現(xiàn)吧:

  1、與需求不符

  因?yàn)檫@個(gè)原因造成的改動(dòng)量往往是最大。如果進(jìn)入編碼階段的話,很可能會(huì)直接讓你崩潰掉。

  2、性能低下

  含有大數(shù)據(jù)量的表之間的關(guān)聯(lián)過多;沒有合理的字段設(shè)計(jì)來用于查詢而造成的SQL查詢語(yǔ)句很復(fù)雜;對(duì)于大數(shù)據(jù)量的表沒有采用有效的手段去處理;濫用視圖等。

  3、數(shù)據(jù)完整性喪失

  含有主外鍵關(guān)系的表之間關(guān)聯(lián)字段的設(shè)計(jì)方式不合理,造成更新與刪除操作后程序容易出錯(cuò)或不完善;使用了已經(jīng)刪除或丟失掉的數(shù)據(jù)。

  4、可擴(kuò)展性性太差

  表設(shè)計(jì)的與業(yè)務(wù)綁定的太緊密、單一,造成表的可拓展性、可修改性太差,無(wú)法新需求的要求。

  5、非必要數(shù)據(jù)冗余量太大

  沒用的垃圾數(shù)據(jù)存儲(chǔ)過多,不僅占用資源,還影響查詢效率。

  6、不利于計(jì)算或統(tǒng)計(jì)

  缺少必要的聯(lián)系性或統(tǒng)計(jì)性字段或用于計(jì)算統(tǒng)計(jì)的字段分散于多個(gè)表中,造成計(jì)算統(tǒng)計(jì)的步驟繁瑣,甚至無(wú)法計(jì)算統(tǒng)計(jì)。

  7、沒有詳盡的數(shù)據(jù)記錄信息

  缺少必要的字段,造成無(wú)法跟蹤數(shù)據(jù)變化、用戶操作,也無(wú)法進(jìn)行數(shù)據(jù)分析。

  8、表之間的耦合性太大

  多張表之間關(guān)聯(lián)的過于緊密,造成一張表發(fā)生變化而影響到其他表。

  9、字段設(shè)計(jì)考慮不周

  字段長(zhǎng)度過短或字段類型過于明確,造成可發(fā)揮、可拓展的空間太小。

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

  數(shù)據(jù)庫(kù)是整個(gè)軟件應(yīng)用的根基,是軟件設(shè)計(jì)的起點(diǎn),它起著決定性的質(zhì)變作用,因此我們必須對(duì)數(shù)據(jù)庫(kù)設(shè)計(jì)高度重視起來,培養(yǎng)設(shè)計(jì)良好數(shù)據(jù)庫(kù)的習(xí)慣,是一個(gè)優(yōu)秀的軟件設(shè)計(jì)師所必須具備的基本素質(zhì)條件!

  那么我們要做到什么程度才是對(duì)的呢?下面就說說數(shù)據(jù)庫(kù)設(shè)計(jì)的原則:

  1、數(shù)據(jù)庫(kù)設(shè)計(jì)最起碼要占用整個(gè)項(xiàng)目開發(fā)的40%以上的時(shí)間

  數(shù)據(jù)庫(kù)是需求的直觀反應(yīng)和表現(xiàn),因此設(shè)計(jì)時(shí)必須要切實(shí)符合用戶的需求,要多次與用戶溝通交流來細(xì)化需求,將需求中的要求和每一次的變化都要一一體現(xiàn)在數(shù)據(jù)庫(kù)的設(shè)計(jì)當(dāng)中。如果需求不明確,就要分析不確定的因素,設(shè)計(jì)表時(shí)就要事先預(yù)留出可變通的字段,正所謂“有備無(wú)患”。

  2、數(shù)據(jù)庫(kù)設(shè)計(jì)不僅僅停留于頁(yè)面demo的表面

  頁(yè)面內(nèi)容所需要的字段,在數(shù)據(jù)庫(kù)設(shè)計(jì)中只是一部分,還有系統(tǒng)運(yùn)轉(zhuǎn)、模塊交互、中轉(zhuǎn)數(shù)據(jù)、表之間的聯(lián)系等等所需要的字段,因此數(shù)據(jù)庫(kù)設(shè)計(jì)絕對(duì)不是簡(jiǎn)單的基本數(shù)據(jù)存儲(chǔ),還有邏輯數(shù)據(jù)存儲(chǔ)。

  3、數(shù)據(jù)庫(kù)設(shè)計(jì)完成后,項(xiàng)目80%的設(shè)計(jì)開發(fā)在你腦海中就已經(jīng)完成了

  每個(gè)字段的設(shè)計(jì)都是有他必要的意義的,你在設(shè)計(jì)每一個(gè)字段的同時(shí),就應(yīng)該已經(jīng)想清楚程序中如何去運(yùn)用這些字段,多張表的聯(lián)系在程序中是如何體現(xiàn)的。換句話說,你完成數(shù)據(jù)庫(kù)設(shè)計(jì)后,程序中所有的實(shí)現(xiàn)思路和實(shí)現(xiàn)方式在你的腦海中就已經(jīng)考慮過了。如果達(dá)不到這種程度,那當(dāng)進(jìn)入編碼階段后,才發(fā)現(xiàn)要運(yùn)用的技術(shù)或?qū)崿F(xiàn)的方式數(shù)據(jù)庫(kù)無(wú)法支持,這時(shí)再改動(dòng)數(shù)據(jù)庫(kù)就會(huì)很麻煩,會(huì)造成一系列不可預(yù)測(cè)的問題。

  4、數(shù)據(jù)庫(kù)設(shè)計(jì)時(shí)就要考慮到效率和優(yōu)化問題

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

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

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

  6、設(shè)計(jì)合理的表關(guān)聯(lián)

  若多張表之間的關(guān)系復(fù)雜,建議采用第三張映射表來關(guān)聯(lián)維護(hù)兩張表之間的關(guān)系,以降低表之間的直接耦合度。若多張表涉及到大數(shù)據(jù)量的問題,表結(jié)構(gòu)盡量簡(jiǎn)單,關(guān)聯(lián)也要盡可能避免。

  7、設(shè)計(jì)表時(shí)不加主外鍵等約束性關(guān)聯(lián),系統(tǒng)編碼階段完成后再添加約束性關(guān)聯(lián)

  這樣做的目的是有利于團(tuán)隊(duì)并行開發(fā),減少編碼時(shí)所遇到的問題,表之間的關(guān)系靠程序來控制。編碼完成后再加關(guān)聯(lián)并進(jìn)行測(cè)試。不過也有一些公司的做法是干脆就不加表關(guān)聯(lián)。

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

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

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

  數(shù)據(jù)庫(kù)設(shè)計(jì)難度其實(shí)要比單純的技術(shù)實(shí)現(xiàn)的難很多,他充分體現(xiàn)了一個(gè)人的全局設(shè)計(jì)能力和掌控能力,所以在今后的項(xiàng)目中大家一定要著重培養(yǎng)這方面的能力,這里我將我的經(jīng)驗(yàn)分享給了大家,希望能對(duì)大家有所幫助。

聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

數(shù)據(jù)庫(kù)設(shè)計(jì)的重要性和設(shè)計(jì)原則

數(shù)據(jù)庫(kù)設(shè)計(jì)的重要性和設(shè)計(jì)原則:說起數(shù)據(jù)庫(kù)設(shè)計(jì),相信大家都明白怎么回事,但說起數(shù)據(jù)庫(kù)設(shè)計(jì)的重要性,我想大家也只是停留在概念上而已,到底如何重要?怎么重要呢? 一個(gè)不良的數(shù)據(jù)庫(kù)設(shè)計(jì),必然會(huì)造成很多問題,輕則增減字段,重則系統(tǒng)無(wú)法運(yùn)行。先來說說數(shù)據(jù)庫(kù)設(shè)計(jì)不合理的表現(xiàn)吧: 1、與
推薦度:
  • 熱門焦點(diǎn)

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 欧美在线视频网站 | 2021精品国内一区视频自线 | 亚洲国产成人久久一区久久 | 能看毛片的网站 | 日韩网站在线观看 | 亚洲一区自拍 | 日韩爱爱 | 国产色综合久久无码有码 | 国内精品视频在线播放 | 国产精品久久久久a影院 | 国产欧美曰韩一区二区三区 | 国产99久久九九精品免费 | 天天色啪| 在线观看国产精品入口 | 91久久九九精品国产综合 | 精品视频第一页 | 国产三级一区二区 | 久久91精品国产99久久yfo | zozozo性欧美禽交3 | 欧美性xxxxx极品老少 | 国产日产精品_国产精品毛片 | 91久久国产口精品久久久久 | 亚洲国产成人精彩精品 | 国产成人精品一区二区 | 欧美日韩亚洲区久久综合 | 欧美在线观看一区二区 | 国产日韩一区二区三区在线观看 | 午夜三级视频 | 全黄a一级毛片 | 亚欧日韩 | 久久香蕉热| 日韩黄色网页 | 国产一区精品在线观看 | 欧美国产第一页 | 国产精品成久久久久三级 | 久久久久女人精品毛片九一 | 国产视频首页 | a色视频| 国产一区二区三区免费视频 | 黑丝草逼| 在线国产观看 |