<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    qileilove

    blog已經(jīng)轉(zhuǎn)移至github,大家請訪問 http://qaseven.github.io/

    靈活運用數(shù)據(jù)庫主外鍵

    靈活運用數(shù)據(jù)庫主外鍵

     在最近的工作中發(fā)現(xiàn),公司現(xiàn)有表都是沒有主外鍵關(guān)系的,也就是沒有加數(shù)據(jù)庫主外鍵約束,全部都是采用程序來控制數(shù)據(jù)的一致性。這點讓我很是不解,從當(dāng)初學(xué)習(xí)數(shù)據(jù)庫,到參加工作使用數(shù)據(jù)庫和設(shè)計數(shù)據(jù)庫,一直都遵循數(shù)據(jù)庫的三范式,表之間的關(guān)聯(lián)采用數(shù)據(jù)庫的主外鍵約束(請理解這是數(shù)據(jù)庫的約束,而不是我們程序控制的約束)。于是查找了一些資料,現(xiàn)在的疑惑才慢慢解開。下面我將對數(shù)據(jù)庫的作用,以及為什么出現(xiàn)應(yīng)用程序,再到真正開發(fā)時如何設(shè)計數(shù)據(jù)庫的一些理解和大家分享下,歡迎提出不同的見解。

      數(shù)據(jù)庫是什么

      數(shù)據(jù)庫,是計算機中運行的一個進程,它可以完成數(shù)據(jù)存儲,查找,分析,數(shù)據(jù)挖掘等我們通常使用的功能(大家可以聯(lián)想access數(shù)據(jù)庫),只是其操作起來對人員的要求較高,必須要懂得sql語句的寫法,深刻理解表之間的關(guān)系,當(dāng)然也可以請專門的人員來幫忙將數(shù)據(jù)導(dǎo)出來,這樣的工作實施起來麻煩還是比較大的。并不是每個人都懂sql語法,專門的人員(DBA)一般公司請不起,簡單的操作人員,工作效率是個問題。數(shù)據(jù)庫的功能是強大,但是面向的人群較為苛刻。所以在我的思維習(xí)慣中,數(shù)據(jù)庫往往是一種后臺的服務(wù)(不直接操作它,但是使用其提供的服務(wù),sql語句就是它提供的接口),不過現(xiàn)在不能再這么認為了,我們可以僅僅利用數(shù)據(jù)庫各種數(shù)據(jù)的操作,比如數(shù)據(jù)的錄入,數(shù)據(jù)的分析等,但是這樣的效率太低了,如果每天有上千條的數(shù)據(jù)(這里說少點)需要保持,那么單純來使用數(shù)據(jù)庫這將是一項浩大的工程,分析也一樣,而且分析得出的數(shù)據(jù)用戶不一定能看懂。于是有了我們的應(yīng)用程序。

      數(shù)據(jù)庫之上的應(yīng)用系統(tǒng)

      如果單從數(shù)據(jù)庫應(yīng)用程序的角度來考慮,而不談其它應(yīng)用系統(tǒng),其作用可以為我們提供一個透明的簡單的數(shù)據(jù)錄入,查詢和分析。用戶只需要點擊某一個按鈕就可以得到想要的結(jié)果。而且其面向的人群更大眾化,正是有這樣的特性,才使計算機真正的為更多人服務(wù),用戶完全可以認為不存在數(shù)據(jù)庫,無論是網(wǎng)上購物,還是自己的數(shù)據(jù)備忘,抑或是分析最近關(guān)注信息的走勢,都是一個按鈕解決問題。再回到技術(shù)上,系統(tǒng)要想做到方便用戶使用,到底應(yīng)該怎么做?

      需要知道的兩個概念

      OLAP和OLTP。一個是聯(lián)機分析處理,一個是聯(lián)機事務(wù)處理。聯(lián)機分析強調(diào)的是數(shù)據(jù)查詢和整合分析,數(shù)據(jù)修改較少,而聯(lián)機事務(wù)則強調(diào)數(shù)據(jù)修改較多,對數(shù)據(jù)一致性要求較高。這就對應(yīng)著兩個系統(tǒng),一個系統(tǒng)對查詢的性能要求很高,方便數(shù)據(jù)的可移植,一個系統(tǒng)對數(shù)據(jù)完整性和一致性要求較高。因此我們在做系統(tǒng)設(shè)計時必須搞清楚系統(tǒng)的特性,如果是查詢性能高而且數(shù)據(jù)結(jié)構(gòu)的修改較多,數(shù)據(jù)移植頻繁,那么在數(shù)據(jù)庫的設(shè)計時就不能完全遵循三范式,因為這樣數(shù)據(jù)庫會有一定的自檢策略而且比較豪性能,相反則更能很好的保證數(shù)據(jù)的正確性。

      結(jié)論

      知識還是要靈活運用的,范式在數(shù)據(jù)庫中是真理,但是當(dāng)和其它系統(tǒng)集成的時候就不一定完全合理,比如數(shù)據(jù)的冗余,如果經(jīng)常做統(tǒng)計查詢,那么將統(tǒng)計結(jié)果放到一張表中比關(guān)聯(lián)幾張表來查詢快多了,而且用戶看中的就是這個,其它讓我們大膽相信自己的程序能夠控制后,做好數(shù)據(jù)準(zhǔn)確的把門將軍。讓數(shù)據(jù)庫的最后一道關(guān)用在其它地方吧。

    posted on 2012-06-19 09:31 順其自然EVO 閱讀(1232) 評論(0)  編輯  收藏 所屬分類: 數(shù)據(jù)庫

    <2012年6月>
    272829303112
    3456789
    10111213141516
    17181920212223
    24252627282930
    1234567

    導(dǎo)航

    統(tǒng)計

    常用鏈接

    留言簿(55)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲熟妇久久精品| 成年女人视频网站免费m| 色欲aⅴ亚洲情无码AV蜜桃| 亚洲视频中文字幕| 国产午夜亚洲精品午夜鲁丝片| 免费看大美女大黄大色| 57pao一国产成永久免费| 国产啪精品视频网站免费尤物 | 免费一区二区三区| 一级毛片免费毛片毛片| 无码亚洲成a人在线观看| 亚洲精品福利你懂| 亚洲国产成人手机在线电影bd| 亚洲AV永久纯肉无码精品动漫| 国产乱辈通伦影片在线播放亚洲| 日韩免费无砖专区2020狼| 久久久久久99av无码免费网站| xxxx日本免费| 亚洲精品免费在线| 国产精品成人观看视频免费 | 亚洲不卡中文字幕无码| 亚洲熟女少妇一区二区| 亚洲天堂在线视频| 亚洲国产精品无码久久九九| 国产一级高清视频免费看| 热久久精品免费视频| 在线精品免费视频无码的| 成年性午夜免费视频网站不卡| 成年女人毛片免费观看97| 四虎影视大全免费入口| 成人免费视频软件网站| 天天摸夜夜摸成人免费视频| 成年在线观看免费人视频草莓| 啦啦啦中文在线观看电视剧免费版| 国产男女爽爽爽爽爽免费视频| 人与禽交免费网站视频| 成人免费一级毛片在线播放视频 | 亚洲伊人久久大香线蕉| 亚洲天堂2017无码中文| 亚洲AV无码国产剧情| 青青免费在线视频|