當前位置:工程項目OA系統(tǒng) > ERP系統(tǒng) > ERP系統(tǒng)口碑 > ERP數(shù)據(jù)庫
ERP系統(tǒng)數(shù)據(jù)庫設(shè)計
大型ERP等數(shù)據(jù)庫系統(tǒng)常見的幾種設(shè)計
目錄
1. 自增長 primary key
2. 避免用復(fù)合主鍵 (compound primary key)
3. 雙主鍵
4. 以固定的數(shù)據(jù)庫、表應(yīng)付變化的客戶需求
5. 避免一次取數(shù)據(jù)庫大量數(shù)據(jù),取大量數(shù)據(jù)一定要用分頁。
詳細內(nèi)容
1. 自增長 primary key
采用自增長 primary key主要是性能。早期的數(shù)據(jù)庫系統(tǒng),經(jīng)常采用某種編號,比如身份證號碼,公司編號等等作為數(shù)據(jù)庫表的 primary key。然而,很快,大家就發(fā)現(xiàn)其中的不利之處。
比如早期的醫(yī)院管理系統(tǒng),用身份證號碼作為病人表的 primary key。然而,第一,不是每個人都有身份證;第二,對于國外來的病人,不同國家的病人的證件號碼并不見得沒有重復(fù)。因此,用身份證號碼作為病人表的 primary key是一個非常糟糕的設(shè)計。考慮到?jīng)]有醫(yī)生或者護士會刻意去記這些號碼,使用自增長 primary key是更好的設(shè)計。
公司編號采用某種特定的編碼方法,這也是早期的數(shù)據(jù)庫系統(tǒng)常見的做法。它的缺點也顯而易見:很容易出現(xiàn)像千年蟲的軟件問題,因為當初設(shè)計數(shù)據(jù)庫表的時候設(shè)計的位數(shù)太短,導(dǎo)致系統(tǒng)使用幾年后不能滿足要求,只有修改程序才能繼續(xù)使用。問題在于,任何人設(shè)計系統(tǒng)的時候,在預(yù)計某某編號多少位可以夠用的時候,都存在預(yù)計不準的風(fēng)險。而采用自增長 primary key 則不存在這種問題。同樣的道理,沒有人可以去記這些號碼。
使用自增長 primary key另外一個原因是性能問題。略有編程常識的人都知道,數(shù)字大小比較比字符串大小比較要快得多。使用自增長 primary key可以大大地提高數(shù)據(jù)查找速度。
2. 避免用復(fù)合主鍵 (compound primary key)
這主要還是因為性能問題。數(shù)據(jù)檢索是要用到大量的 primary key 值比較,只比較一個字段比比較多個字段快很多。使用單個 primary key 從編程的角度也很有好處, sql 語句中 where 條件可以寫更少的代碼,這意味著出錯的機會大大減少。
3. 雙主鍵
雙主鍵是指數(shù)據(jù)庫表有兩個字段,這兩個字段獨立成為主鍵,但又同時存在。 數(shù)據(jù)庫系統(tǒng)的雙主鍵最早用在用戶管理模塊。最早的來源可能是參照操作系統(tǒng)的用戶管理模塊。
操作系統(tǒng)的用戶管理有兩個獨立的主鍵:操作系統(tǒng)自己自動生成的隨機 ID (Linux, windows 的 SID), login id。這兩個 ID 都必須是唯一的,不同的是,刪除用戶 test 然后增加一個用戶 test, SID 不同,login id 相同。采用雙主鍵主要目的是為了防止刪除后增加同樣的 login id 造成的混亂。比如銷售經(jīng)理 hellen 本機共享文件給總經(jīng)理 peter, 一年后總經(jīng)理離開公司,進來一個普通員工 peter ,兩個peter 用同樣的 login id, 如果只用 login id 作操作系統(tǒng)的用戶管理主鍵,則存在漏洞:普通員工 peter 可以訪問原來只有總經(jīng)理才能看的文件。操作系統(tǒng)自己自動生成的隨機 ID 一般情況下面用戶是看不到的。
ERP系統(tǒng)數(shù)據(jù)庫設(shè)計的檢查
(1)完整性檢查:完整性即記錄數(shù)量是否完整??梢哉埰髽I(yè)中有經(jīng)驗的人員復(fù)查或計算一下總數(shù),將其和歷史數(shù)據(jù)比較。同時還要檢查字段的完整性,所有的ERP軟件都有必須輸入的字段,如果缺少這些字段就會造成系統(tǒng)的不穩(wěn)定,如物料的提前期、默認倉庫等。另外還有一些非軟件要求的必須輸入的字段,對企業(yè)今后的業(yè)務(wù)和統(tǒng)計分析有用的字段也要列入檢查范圍,例如客戶分類和所屬地區(qū)等。
(2)正確性檢查:正確性的范圍很廣,這里不做一一說明,可以由企業(yè)自己根據(jù)需要制定檢查原則。有些錯誤如會計科目是資產(chǎn)類型的,但是因為人為錯誤輸入成負債類型的,再比如有的物料是采購來的,但是錄入成自制件,這樣的錯誤在系統(tǒng)上線前必須發(fā)現(xiàn)并改正。
(3)唯一性檢查:數(shù)據(jù)的唯一性應(yīng)該從兩個角度檢查,常見錯誤有多個實物編成同一個編碼,如果以后錄入系統(tǒng),成熟的ERP軟件會提示編碼已經(jīng)存在,并拒絕接受。同時一個實物對應(yīng)多個編碼的現(xiàn)象也必須杜絕,這種錯誤ERP軟件是發(fā)現(xiàn)不了的,必須利用人工查找,否則在上線后會發(fā)生多個賬務(wù)錯誤。
在改正錯誤的同時,要做好資料版本的控制,這個工作在多部門參與的數(shù)據(jù)整理工作中尤為重要。曾經(jīng)有個客戶,多個部門都在同時修改一份相同的資料,修改之后的文檔中只有自己的一部分數(shù)據(jù)是正確的,其他部門數(shù)據(jù)還是錯誤的。在錄入數(shù)據(jù)時,無論以誰的數(shù)據(jù)為準都是不行的,必須用正確的數(shù)據(jù)替換錯誤數(shù)據(jù)后進行合并才行。由此可見,針對每類數(shù)據(jù)都應(yīng)該設(shè)置負責(zé)部門和負責(zé)人員,每次修改后由負責(zé)人員將文檔的版本更新,同時舊版本數(shù)據(jù)也要保存。這樣做可將誤操作的損失降低到最小。
- 1數(shù)據(jù)清洗的對象及其對應(yīng)的處理方法剖析
- 2大數(shù)據(jù)技術(shù)專業(yè)人才需要具備哪些技能和知識?
- 3數(shù)據(jù)編織與數(shù)據(jù)治理的深度融合分析
- 4企業(yè)數(shù)據(jù)孤島現(xiàn)象產(chǎn)生的三個主要原因剖析
- 5大數(shù)據(jù)圖表制作時應(yīng)遵循哪三大核心準則?
- 6如何確保數(shù)據(jù)經(jīng)營管理平臺的可維護性?
- 7ERP數(shù)據(jù)管理軟件的安裝包包含哪些?實施步驟詳解
- 8數(shù)據(jù)傳輸?shù)男嗜绾斡绊憯?shù)據(jù)傳輸?shù)膶崟r性?
- 9企業(yè)實施主數(shù)據(jù)管理有哪些關(guān)鍵要點?
- 10數(shù)據(jù)倉庫為什么要進行分層設(shè)計?
- 11哪款ERP數(shù)據(jù)軟件最好用且價格合理?
- 12實時數(shù)據(jù)同步的優(yōu)缺點是什么?
- 13基于大數(shù)據(jù)的市場洞察與趨勢預(yù)測具體做法分析
- 14數(shù)據(jù)挖掘流程中需注意的四個常見問題探討
- 15如何評估大數(shù)據(jù)平臺的效果和投資回報率?
- 16深度解析三維數(shù)字化數(shù)據(jù)大屏的構(gòu)建步驟
- 17數(shù)據(jù)庫驅(qū)動的進銷存系統(tǒng)哪款好用?購買方式?
- 18數(shù)據(jù)治理平臺的核心功能有哪些?
- 19為何將數(shù)據(jù)治理視為管理數(shù)據(jù)資產(chǎn)的最優(yōu)框架?
- 20erp系統(tǒng)數(shù)據(jù)
- 21企業(yè)如何界定數(shù)據(jù)分析的類別及其目的?
- 22數(shù)據(jù)同步更新和數(shù)據(jù)增量更新之間的聯(lián)系與區(qū)別概述
- 23互聯(lián)網(wǎng)用戶行為數(shù)據(jù)的分析流程是怎樣的?
- 24新時代大數(shù)據(jù)競爭的關(guān)鍵因素有哪些?
- 25云數(shù)據(jù)存儲的安全性該如何保障?
- 26探討數(shù)據(jù)治理與數(shù)據(jù)中臺之間的內(nèi)在聯(lián)系與相互作用
- 27多源異構(gòu)數(shù)據(jù)融合的各層級數(shù)據(jù)融合方法詳細闡述
- 28數(shù)據(jù)分布式存儲系統(tǒng)如何進行數(shù)據(jù)恢復(fù)
- 29剖析大數(shù)據(jù)分析的五大基本支柱理論
- 30數(shù)據(jù)決策系統(tǒng)定義及功能的詳細闡述
成都公司:成都市成華區(qū)建設(shè)南路160號1層9號
重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務(wù)大廈18樓