亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > 綜合 > 正文

ERP管理軟件數據庫系統的幾種設計方法

2024-07-21 02:42:59
字體:
來源:轉載
供稿:網友
這篇論壇文章(賽迪網技術社區)主要介紹了幾種ERP管理軟件數據庫系統的設計方法,更多內容請參考下文。

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. 以固定的數據庫、表應付變化的客戶需求

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

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

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

◆4.2 軟件升級的需要。

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

◆4.3 軟件開發的需要。

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

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

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

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

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

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

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

◆5.1 數據庫本身的緩沖技術大大提高

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

◆5.2 數據庫聯接組件的緩沖技術也在提高。

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

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

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


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
午夜欧美不卡精品aaaaa| 久久成人亚洲精品| 欧美久久精品午夜青青大伊人| 精品亚洲va在线va天堂资源站| 欧美激情一区二区三区高清视频| 亚洲一区二区在线| 欧美午夜宅男影院在线观看| 国产精品扒开腿做爽爽爽的视频| 日韩视频精品在线| 成人午夜一级二级三级| 国产精品露脸av在线| 欧美一级片在线播放| 亚洲午夜未满十八勿入免费观看全集| 亚洲无限乱码一二三四麻| 欧美在线视频一区二区| 主播福利视频一区| 成人在线小视频| 日日骚久久av| 国产精品老女人精品视频| 亚洲欧洲一区二区三区久久| 中文字幕av一区二区| 色噜噜狠狠色综合网图区| 日韩精品亚洲视频| 热久久视久久精品18亚洲精品| 色爱av美腿丝袜综合粉嫩av| 91精品视频在线| 亚洲精品久久久久久久久| 亚洲精品国产综合区久久久久久久| 成人精品一区二区三区电影免费| 中文字幕亚洲国产| 日韩欧美精品中文字幕| 欧美激情2020午夜免费观看| xxx欧美精品| 中文字幕亚洲第一| 日韩免费观看高清| 亚洲天堂色网站| 国产激情视频一区| 久久精品国产99国产精品澳门| 欧美午夜女人视频在线| 欧美另类在线观看| 久久香蕉国产线看观看网| 国产精品国产三级国产aⅴ9色| 亚洲一区免费网站| 成人免费视频xnxx.com| 欧美最猛黑人xxxx黑人猛叫黄| 国产综合在线看| 国产一区二区三区视频| 久久久久久久久久久久av| 久久不射电影网| 最近2019中文字幕在线高清| 久久97久久97精品免视看| 亚洲网址你懂得| 久久福利视频导航| 欧美日韩国产中字| 精品久久香蕉国产线看观看亚洲| 欧美专区在线观看| 日韩在线视频导航| 亚洲最大成人免费视频| 色偷偷91综合久久噜噜| 精品日本高清在线播放| 色阁综合伊人av| 日韩精品免费视频| 久久久精品视频在线观看| 日韩国产一区三区| 最近2019免费中文字幕视频三| 欧美亚洲国产日本| 欧美视频中文字幕在线| 按摩亚洲人久久| 亚洲一区二区三区xxx视频| 国产大片精品免费永久看nba| 精品性高朝久久久久久久| 国产精自产拍久久久久久| 国产精品视频一区国模私拍| 亚洲天堂av在线免费| www日韩欧美| 92国产精品视频| 精品少妇一区二区30p| 国产精品中文字幕在线| 国产+人+亚洲| 亚洲人成在线免费观看| 亚洲欧美日韩精品久久| 日韩精品高清在线| 日韩免费看的电影电视剧大全| 亚洲性生活视频| 精品国内自产拍在线观看| 欧美激情一级精品国产| 欧美国产激情18| 欧美成人黄色小视频| 成人日韩av在线| 精品一区二区三区四区| 亚洲成人精品久久久| 成人欧美一区二区三区黑人| 日韩精品一区二区视频| 日韩成人av网| 精品综合久久久久久97| 欧美视频二区36p| 成人黄色大片在线免费观看| 亚洲第一男人天堂| 精品久久久香蕉免费精品视频| 亚洲高清不卡av| 最近2019中文字幕一页二页| 亚洲人成五月天| 成人亚洲欧美一区二区三区| 国产日韩精品电影| 亚洲奶大毛多的老太婆| 日韩欧美在线一区| 91免费综合在线| 亚洲人成电影在线观看天堂色| 久久亚洲国产成人| 亚洲欧美另类自拍| 日本午夜人人精品| 精品福利在线视频| 久久夜色精品国产亚洲aⅴ| 国内精品久久久久久影视8| 亚洲精品日产aⅴ| 日韩av在线网址| 欧美美最猛性xxxxxx| 久久久久久国产三级电影| 91免费观看网站| 国产一区二区激情| 国产精品久久久久秋霞鲁丝| 中文字幕在线观看亚洲| 久久精品久久久久久国产 免费| 色狠狠久久aa北条麻妃| 国产97人人超碰caoprom| 一夜七次郎国产精品亚洲| 亚洲男人天天操| 国产玖玖精品视频| 日本成人精品在线| 狠狠综合久久av一区二区小说| 精品国模在线视频| 国产成人综合精品在线| 日本电影亚洲天堂| 搡老女人一区二区三区视频tv| 精品国产福利视频| 亚洲午夜av久久乱码| 日本高清久久天堂| www.xxxx精品| 国产成人综合久久| 欧美日韩午夜激情| 亚洲色图校园春色| 久久国产精品久久久| 亚洲最大的av网站| 日韩在线精品一区| 亚洲中国色老太| 精品久久国产精品| 久久久久女教师免费一区| 亚洲人成77777在线观看网| 日本高清不卡在线| 亚洲剧情一区二区| 欧美黑人极品猛少妇色xxxxx| 欧美日韩中文字幕| 欧美孕妇孕交黑巨大网站| 久久视频在线直播| 日韩在线观看免费av| 欧美wwwxxxx| 在线精品高清中文字幕| 92福利视频午夜1000合集在线观看| 韩国19禁主播vip福利视频| 国产一级揄自揄精品视频| 26uuu日韩精品一区二区| 亚洲欧洲视频在线| 国产精品无码专区在线观看| 亚洲天堂av综合网|