• <sup id="azsug"></sup>

    <menu id="azsug"></menu><dfn id="azsug"><li id="azsug"></li></dfn>
      <td id="azsug"></td>
      <sup id="azsug"></sup>
    1. 丰满无码人妻热妇无码区,亚洲国产欧美一区二区好看电影,大地资源中文第二页日本,亚洲色大成网站WWW永久麻豆,中文字幕乱码一区二区免费,欧美人妻在线一区二区,草裙社区精品视频播放,精品日韩人妻中文字幕
      24周年

      財稅實務 高薪就業 學歷教育
      APP下載
      APP下載新用戶掃碼下載
      立享專屬優惠

      安卓版本:8.8.30 蘋果版本:8.8.30

      開發者:北京正保會計科技有限公司

      應用涉及權限:查看權限>

      APP隱私政策:查看政策>

      HD版本上線:點擊下載>

      大型ERP等數據庫系統常見的幾種設計

      來源: 和訊 編輯: 2009/11/23 08:35:38  字體:

      選課中心

      實務會員買一送一

      選課中心

      資料專區

      需要的都在這里

      資料專區

      課程試聽

      搶先體驗

      課程試聽

      高薪就業

      從零基礎到經理

      高薪就業

        1. 自增長primary key

        采用自增長primary key主要是性能。早期的數據庫系統,經常采用某種編號,比如身份證號碼,公司編號等等作為數據庫表的 primary key。然而,很快,大家就發現其中的不利之處。

        比如早期的醫院管理系統,用身份證號碼作為病人表的 primary key。然而,第一,不是每個人都有身份證;第二,對于國外來的病人,不同國家的病人的證件號碼并不見得沒有重復。因此,用身份證號碼作為病人表的primary key是一個非常糟糕的設計。考慮到沒有醫生或者護士會刻意去記這些號碼,使用自增長primary key是更好的設計。

        公司編號采用某種特定的編碼方法,這也是早期的數據庫系統常見的做法。它的缺點也顯而易見:很容易出現像千年蟲的軟件問題,因為當初設計數據庫表的時候設計的位數太短,導致系統使用幾年后不能滿足要求,只有修改程序才能繼續使用。問題在于,任何人設計系統的時候,在預計某某編號多少位可以夠用的時候,都存在預計不準的風險。而采用自增長 primary key 則不存在這種問題。同樣的道理,沒有人可以去記這些號碼。

        使用自增長primary key另外一個原因是性能問題。略有編程常識的人都知道,數字大小比較比字符串大小比較要快得多。使用自增長primary key可以大大地提高數據查找速度。

        2. 避免用復合主鍵 (compound primary key)

        這主要還是因為性能問題。數據檢索是要用到大量的 primary key 值比較,只比較一個字段比比較多個字段快很多。使用單個 primary key 從編程的角度也很有好處, sql 語句中 where 條件可以寫更少的代碼,這意味著出錯的機會大大減少。

        3. 雙主鍵

        雙主鍵是指數據庫表有兩個字段,這兩個字段獨立成為主鍵,但又同時存在。 數據庫系統的雙主鍵最早用在用戶管理模塊。最早的來源可能是參照操作系統的用戶管理模塊。

        操作系統的用戶管理有兩個獨立的主鍵:操作系統自己自動生成的隨機ID (Linux, windows的SID),login id。這兩個ID 都必須是唯一的,不同的是,刪除用戶 test 然后增加一個用戶test,SID 不同,login id 相同。采用雙主鍵主要目的是為了防止刪除后增加同樣的login id 造成的混亂。比如銷售經理hellen 本機共享文件給總經理peter,一年后總經理離開公司,進來一個普通員工peter ,兩個peter 用同樣的 login id,如果只用login id 作操作系統的用戶管理主鍵,則存在漏洞:普通員工peter 可以訪問原來只有總經理才能看的文件。操作系統自己自動生成的隨機ID 一般情況下面用戶是看不到的。

        雙主鍵現在已經廣泛用在各種數據庫系統中,不限于用戶管理系統。

        4. 以固定的數據庫、表應付變化的客戶需求

        這主要基于以下幾個因素的考慮:

       ?。?)大型 EPR 系統的正常使用、維護需要軟件廠商及其眾多的合作伙伴共同給客戶提供技術服務,包括大量的二次開發。

        如果用戶在軟件正常使用過程中需要增加新的表或者數據庫,將給軟件廠商及其眾多的合作伙伴帶來難題。

       ?。?)軟件升級的需要。

        沒有一個軟件能夠讓客戶使用幾十上百年不用升級的。軟件升級往往涉及數據庫表結構的改變。軟件廠商會做額外的程序將早期版本軟件的數據庫數據升級到新的版本,但是對于用戶使用過程中生成的表進行處理就比較為難。

       ?。?)軟件開發的需要。

        使用固定的數據庫庫表從開發、二次開發來說,更加容易。對于用戶使用過程中生成的表,每次查找數據時都要先查表名,再找數據,比較麻煩。

        舉例來說,早期的用友財務軟件用Access 作數據庫,每年建立一個新的數據庫。很快,用戶和用友公司都發現,跨年度數據分析很難做。因此這是一個不好的設計。在ERP 中,很少有不同的年度數據單獨分開。一般來說,所有年份的數據都在同一個表中。對于跨國公司甚至整個集團公司都用同一個ERP 系統的時候,所有公司的數據都在一起。這樣的好處是數據分析比較容易做。

        現在大多數數據庫系統都能做到在常數時間內返回一定量的數據。比如,Oracle 數據庫中,根據primary key 在 100萬條數據中取10 條數據,與在1 億條數據中取10 條數據,時間相差并不多。

        5. 避免一次取數據庫大量數據,取大量數據一定要用分頁

        這基本上是現在很多數據庫系統設計的基本守則。ERP 系統中超過 100萬條數據的表很多,對于很多表中的任何一個,一次取所有的會導致數據庫服務器長時間處于停滯狀態,并且影響其它在線用戶的系統響應速度。

        一般來說,日常操作,在分頁顯示的情況下面,每次取得數據在1-100 之間,系統響應速度足夠快,客戶端基本沒有特別長的停頓。這是比較理想的設計。這也是大型數據庫系統往往用ODBC,ADO等等通用的數據庫聯接組件而不用特定的速度較快的專用數據庫聯接組件的原因。因為系統瓶頸在于數據庫( Database) 方面(數據量大),而不在于客戶端(客戶端每次只取少量數據)。

        在 B/S 數據庫系統中,分頁非常普遍。早期的數據庫系統經常有客戶端程序中一次性取大量數據做緩沖?,F在已經不是特別需要了,主要原因有:

       ?。?)數據庫本身的緩沖技術大大提高。

        大部分數據庫都會自動將常用的數據自動放在內存中緩沖,以提高性能。

        (2)數據庫聯接組件的緩沖技術也在提高。

        包括 ADO 在內的一些數據庫聯接組件都會自動對數據結果集(result set)進行緩沖,并且效果不錯。比較新穎的數據庫聯接組件,比如 Hibernate 也加入了一些數據結果集緩沖功能。

        當然,也有一些數據庫聯接組件沒有對數據結果集進行緩沖,比如 JDBC Driver,不過幾年之內情況應該有所改觀。也有些不太成功的數據緩沖,比如 EJB 中的實體Bean,性能就不盡如人意,實體Bean數據也是放在內存中,可能是因為占用內存過多的緣故。

        相對來說,今天的程序員寫客戶端數據緩沖,能夠超過以上兩個緩沖效果的,已經比較難了。

      責任編輯:zoe
      學員討論(0

      實務學習指南

      回到頂部
      折疊
      網站地圖

      Copyright © 2000 - www.sgjweuf.cn All Rights Reserved. 北京正保會計科技有限公司 版權所有

      京B2-20200959 京ICP備20012371號-7 出版物經營許可證 京公網安備 11010802044457號

      恭喜你!獲得專屬大額券!

      套餐D大額券

      去使用
      主站蜘蛛池模板: 亚洲激情在线一区二区三区| 亚洲av午夜成人片| 日韩美女亚洲性一区二区| 成人无号精品一区二区三区| 亚洲精品自拍在线视频| 亚洲色成人一区二区三区人人澡人人妻人人爽人人蜜桃麻豆 | 少妇人妻精品一区二区| 国产精品一区二区色综合| 日本一区二区三深夜不卡| av色蜜桃一区二区三区| 国产无遮挡猛进猛出免费软件| 日韩内射美女人妻一区二区三区| 国产亚洲欧美另类一区二区| 蜜臀精品视频一区二区三区| 日本边添边摸边做边爱| 免费人成视频网站在线观看18| 菏泽市| 九九热免费在线视频观看| 少妇人妻偷人偷人精品| 精品日韩亚洲AV无码| 精品亚洲综合一区二区三区| 97精品人妻系列无码人妻| 亚洲午夜理论无码电影| 亚洲一区二区三区在线观看精品中文| 日本一区二区三区东京热| 亚洲精品日本久久久中文字幕| 亚洲精品人成网线在线| 日韩精品国内国产一区二| 日本又色又爽又黄的a片吻戏| 国产精品成人一区二区三区| 少妇人妻偷人偷人精品| AV免费播放一区二区三区| AI做受???高潮AAAA视频| 国产在线观看免费观看| 一区二区三区黄色一级片| 综合偷自拍亚洲乱中文字幕| 亚洲中文字幕乱码一区| 国产欧美综合在线观看第十页| 久久国产热这里只有精品| 国产精品一区二区国产馆| 一区二区亚洲精品国产精华液|