當(dāng)前位置:工程項(xiàng)目OA系統(tǒng) > 行業(yè)ERP > 電子行業(yè)ERP > 功能介紹 > 電子行業(yè)現(xiàn)狀
大型電子行業(yè)erp數(shù)據(jù)庫系統(tǒng)常見的幾種設(shè)計(jì)有哪些?
申請(qǐng)免費(fèi)試用、咨詢電話:400-8352-114
電子行業(yè)erp
1. 自增長
采用自增長 主要是性能。早期的數(shù)據(jù)庫系統(tǒng),經(jīng)常采用某種編號(hào),比如身份證號(hào)碼,公司編號(hào)等等作為數(shù)據(jù)庫表的 。然而,很快,大家就發(fā)現(xiàn)其中的不利之處。
比如早期的醫(yī)院管理系統(tǒng),用身份證號(hào)碼作為病人表的 。然而,第一,不是每個(gè)人都有身份證;第二,對(duì)于國外來的病人,不同國家的病人的證件號(hào)碼并不見得沒有重復(fù)。因此,用身份證號(hào)碼作為病人表的 是一個(gè)非常糟糕的設(shè)計(jì)??紤]到?jīng)]有醫(yī)生或者護(hù)士會(huì)刻意去記這些號(hào)碼,使用自增長 是更好的設(shè)計(jì)。
公司編號(hào)采用某種特定的編碼方法,這也是早期的數(shù)據(jù)庫系統(tǒng)常見的做法。它的缺點(diǎn)也顯而易見:很容易出現(xiàn)像千年蟲的軟件問題,因?yàn)楫?dāng)初設(shè)計(jì)數(shù)據(jù)庫表的時(shí)候設(shè)計(jì)的位數(shù)太短,導(dǎo)致系統(tǒng)使用幾年后不能滿足要求,只有修改程序才能繼續(xù)使用。問題在于,任何人設(shè)計(jì)系統(tǒng)的時(shí)候,在預(yù)計(jì)某某編號(hào)多少位可以夠用的時(shí)候,都存在預(yù)計(jì)不準(zhǔn)的風(fēng)險(xiǎn)。而采用自增長 則不存在這種問題。同樣的道理,沒有人可以去記這些號(hào)碼。
使用自增長 另外一個(gè)原因是性能問題。略有編程常識(shí)的人都知道,數(shù)字大小比較比字符串大小比較要快得多。使用自增長 可以大大地提高數(shù)據(jù)查找速度。
2. 避免用復(fù)合主鍵 (compound )
這主要還是因?yàn)樾阅軉栴}。數(shù)據(jù)檢索是要用到大量的 值比較,只比較一個(gè)字段比比較多個(gè)字段快很多。使用單個(gè) 從編程的角度也很有好處, sql 語句中 where 條件可以寫更少的代碼,這意味著出錯(cuò)的機(jī)會(huì)大大減少。
3. 雙主鍵
雙主鍵是指數(shù)據(jù)庫表有兩個(gè)字段,這兩個(gè)字段獨(dú)立成為主鍵,但又同時(shí)存在。 數(shù)據(jù)庫系統(tǒng)的雙主鍵最早用在用戶管理模塊。最早的來源可能是參照操作系統(tǒng)的用戶管理模塊。
操作系統(tǒng)的用戶管理有兩個(gè)獨(dú)立的主鍵:操作系統(tǒng)自己自動(dòng)生成的隨機(jī) ID (Linux, windows 的 SID), login id。這兩個(gè) ID 都必須是唯一的,不同的是,刪除用戶 test 然后增加一個(gè)用戶 test, SID 不同,login id 相同。采用雙主鍵主要目的是為了防止刪除后增加同樣的 login id 造成的混亂。比如銷售經(jīng)理 hellen 本機(jī)共享文件給總經(jīng)理 peter, 一年后總經(jīng)理離開公司,進(jìn)來一個(gè)普通員工 peter ,兩個(gè)peter 用同樣的 login id, 如果只用 login id 作操作系統(tǒng)的用戶管理主鍵,則存在漏洞:普通員工 peter 可以訪問原來只有總經(jīng)理才能看的文件。操作系統(tǒng)自己自動(dòng)生成的隨機(jī) ID 一般情況下面用戶是看不到的。
雙主鍵現(xiàn)在已經(jīng)廣泛用在各種數(shù)據(jù)庫系統(tǒng)中,不限于用戶管理系統(tǒng)。
4. 以固定的數(shù)據(jù)庫、表應(yīng)付變化的客戶需求
這主要基于以下幾個(gè)因素的考慮:
4.1 大型 EPR 系統(tǒng)的正常使用、維護(hù)需要軟件廠商及其眾多的合作伙伴共同給客戶提供技術(shù)服務(wù),包括大量的二次開發(fā)。
如果用戶在軟件正常使用過程中需要增加新的表或者數(shù)據(jù)庫,將給軟件廠商及其眾多的合作伙伴帶來難題。
4.2 軟件升級(jí)的需要。
沒有一個(gè)軟件能夠讓客戶使用幾十上百年不用升級(jí)的。軟件升級(jí)往往涉及數(shù)據(jù)庫表結(jié)構(gòu)的改變。軟件廠商會(huì)做額外的程序?qū)⒃缙诎姹拒浖臄?shù)據(jù)庫數(shù)據(jù)升級(jí)到新的版本,但是對(duì)于用戶使用過程中生成的表進(jìn)行處理就比較為難。
4.3 軟件開發(fā)的需要。
使用固定的數(shù)據(jù)庫庫表從開發(fā)、二次開發(fā)來說,更加容易。對(duì)于用戶使用過程中生成的表,每次查找數(shù)據(jù)時(shí)都要先查表名,再找數(shù)據(jù),比較麻煩。
舉例來說,早期的erp系統(tǒng)財(cái)務(wù)軟件用 Access 作數(shù)據(jù)庫,每年建立一個(gè)新的數(shù)據(jù)庫。很快,用戶和erp系統(tǒng)公司都發(fā)現(xiàn),跨年度數(shù)據(jù)分析很難做。因此這是一個(gè)不好的設(shè)計(jì)。在 電子行業(yè)erp系統(tǒng) 中,很少有不同的年度數(shù)據(jù)單獨(dú)分開。一般來說,所有年份的數(shù)據(jù)都在同一個(gè)表中。對(duì)于跨國公司甚至整個(gè)集團(tuán)公司都用同一個(gè) 電子行業(yè)erp系統(tǒng) 系統(tǒng)的時(shí)候,所有公司的數(shù)據(jù)都在一起。這樣的好處是數(shù)據(jù)分析比較容易做。
現(xiàn)在大多數(shù)數(shù)據(jù)庫系統(tǒng)都能做到在常數(shù)時(shí)間內(nèi)返回一定量的數(shù)據(jù)。比如,Oracle 數(shù)據(jù)庫中,根據(jù) 在 100萬條數(shù)據(jù)中取 10 條數(shù)據(jù),與在1 億條數(shù)據(jù)中取 10 條數(shù)據(jù),時(shí)間相差并不多。
5. 避免一次取數(shù)據(jù)庫大量數(shù)據(jù),取大量數(shù)據(jù)一定要用分頁。
這基本上是現(xiàn)在很多數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)的基本守則。電子行業(yè)erp系統(tǒng) 系統(tǒng)中超過 100萬條數(shù)據(jù)的表很多,對(duì)于很多表中的任何一個(gè),一次取所有的會(huì)導(dǎo)致數(shù)據(jù)庫服務(wù)器長時(shí)間處于停滯狀態(tài),并且影響其它在線用戶的系統(tǒng)響應(yīng)速度。
一般來說,日常操作,在分頁顯示的情況下面,每次取得數(shù)據(jù)在 1-100 之間,系統(tǒng)響應(yīng)速度足夠快,客戶端基本沒有特別長的停頓。這是比較理想的設(shè)計(jì)。這也是大型數(shù)據(jù)庫系統(tǒng)往往用 ODBC, ADO 等等通用的數(shù)據(jù)庫聯(lián)接組件而不用特定的速度較快的專用數(shù)據(jù)庫聯(lián)接組件的原因。因?yàn)橄到y(tǒng)瓶頸在于數(shù)據(jù)庫( Database) 方面(數(shù)據(jù)量大),而不在于客戶端(客戶端每次只取少量數(shù)據(jù))。
在 B/S 數(shù)據(jù)庫系統(tǒng)中,分頁非常普遍。早期的數(shù)據(jù)庫系統(tǒng)經(jīng)常有客戶端程序中一次性取大量數(shù)據(jù)做緩沖?,F(xiàn)在已經(jīng)不是特別需要了,主要原因有:
5.1 數(shù)據(jù)庫本身的緩沖技術(shù)大大提高。
大部分?jǐn)?shù)據(jù)庫都會(huì)自動(dòng)將常用的數(shù)據(jù)自動(dòng)放在內(nèi)存中緩沖,以提高性能。
5.2 數(shù)據(jù)庫聯(lián)接組件的緩沖技術(shù)也在提高。
包括 ADO 在內(nèi)的一些數(shù)據(jù)庫聯(lián)接組件都會(huì)自動(dòng)對(duì)數(shù)據(jù)結(jié)果集(result set)進(jìn)行緩沖,并且效果不錯(cuò)。比較新穎的數(shù)據(jù)庫聯(lián)接組件,比如 Hibernate 也加入了一些數(shù)據(jù)結(jié)果集緩沖功能。
當(dāng)然,也有一些數(shù)據(jù)庫聯(lián)接組件沒有對(duì)數(shù)據(jù)結(jié)果集進(jìn)行緩沖,比如 JDBC Driver,不過幾年之內(nèi)情況應(yīng)該有所改觀。也有些不太成功的數(shù)據(jù)緩沖,比如 EJB 中的實(shí)體Bean,性能就不盡如人意,實(shí)體Bean數(shù)據(jù)也是放在內(nèi)存中,可能是因?yàn)檎加脙?nèi)存過多的緣故。
相對(duì)來說,今天的程序員寫客戶端數(shù)據(jù)緩沖,能夠超過以上兩個(gè)緩沖效果的,已經(jīng)比較難了。
- 1企業(yè)如何用電子行業(yè)erp變革?
- 2航信也可以應(yīng)用電子行業(yè)erp?
- 3SAAS模式ERP企業(yè)管理軟件發(fā)布了
- 4曾琪:創(chuàng)新支付方式激活企業(yè)現(xiàn)金管理
- 5科思印染行業(yè)數(shù)字化管理電子行業(yè)erp解決方案
- 6四領(lǐng)域集成引領(lǐng)電子行業(yè)erp未來趨勢(shì)?
- 7如何重新利用失敗電子行業(yè)erp項(xiàng)目?
- 8管理電子行業(yè)erp項(xiàng)目關(guān)鍵用戶的需求變更
- 9富友電子行業(yè)erp軟件能給服裝公司帶來什么價(jià)值?
- 10電子商務(wù)在企業(yè)中的創(chuàng)新有哪些?
- 11電子行業(yè)erp資訊網(wǎng)訊:皖北煤電用信息化邁進(jìn)高效化
- 12陶企電子行業(yè)erp管理要“量體裁衣”
- 13四川省電力公司啟動(dòng)電子行業(yè)erp業(yè)務(wù)審計(jì)系統(tǒng)
- 14完達(dá)山電子行業(yè)erp二次開發(fā):延伸管理流程分析
- 15創(chuàng)新,打造1+1>2優(yōu)秀團(tuán)隊(duì)
- 16電子行業(yè)企業(yè)erp
- 17企業(yè)做電子行業(yè)erp為什么會(huì)失敗?
- 18電子行業(yè)erp的功能模塊有哪些?
- 19信息化SG—電子行業(yè)erp支撐“五大”體系試點(diǎn)建設(shè)方案通過
- 20中小企業(yè)如何用電子行業(yè)erp?
- 21新聞也可以走電子行業(yè)erp?
- 22電子行業(yè)erp管理軟件
- 23電子行業(yè)erp中國業(yè)為什么追求?
- 24電子行業(yè)erp的綠色供應(yīng)鏈
- 25用友電子行業(yè)erp電力行業(yè)解決方案
- 26實(shí)施ERP信息集成系統(tǒng)有哪些困難?
- 27企業(yè)電子行業(yè)erp實(shí)施黑洞有哪些?
- 28ERP環(huán)境下電力企業(yè)會(huì)計(jì)業(yè)務(wù)流程重構(gòu)方案
- 29電子行業(yè)erp系統(tǒng)推廣邁向新平臺(tái)
- 30一站式云服務(wù):服務(wù)器和云平臺(tái)網(wǎng)站
成都公司:成都市成華區(qū)建設(shè)南路160號(hào)1層9號(hào)
重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務(wù)大廈18樓