監(jiān)理公司管理系統(tǒng) | 工程企業(yè)管理系統(tǒng) | OA系統(tǒng) | ERP系統(tǒng) | 造價咨詢管理系統(tǒng) | 工程設(shè)計管理系統(tǒng) | 甲方項目管理系統(tǒng) | 簽約案例 | 客戶案例 | 在線試用
X 關(guān)閉

ERP系統(tǒng)數(shù)據(jù)庫設(shè)計

申請免費試用、咨詢電話:400-8352-114

   大型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ù)一定要用分頁。

采購6.png

  詳細內(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 一般情況下面用戶是看不到的。

修復(fù)2.png

  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ù)也要保存。這樣做可將誤操作的損失降低到最小。

發(fā)布:2020-12-05 15:01    編輯:泛普軟件 · xiaona    [打印此頁]    [關(guān)閉]
相關(guān)文章:

相關(guān)欄目

ERP系統(tǒng)哪個好 ERP系統(tǒng)多少錢 ERP系統(tǒng)是什么 ERP系統(tǒng)排名 ERP系統(tǒng)哪家比較好 ERP系統(tǒng)如何使用 ERP系統(tǒng)有哪些好處 ERP系統(tǒng)選型分析 ERP系統(tǒng)的重要性 ERP系統(tǒng)有哪幾種 ERP系統(tǒng)對比關(guān)系 ERP技術(shù)包括哪些 企業(yè)ERP系統(tǒng)應(yīng)用 ERP與電商對接 ERP系統(tǒng)論文報告 智能一體化 ERP無紙化 erp自動化 erp信息化 erp報表 erp制度 erp應(yīng)用 erp推薦 erp移動 erp銷售 好用的erp erp怎么樣 專業(yè)ERP erp作用 erp優(yōu)缺點 erp特點 erp廠商 erp代理 erp試用 免費erp 簡單的ERP erp網(wǎng)站 erp系統(tǒng)集成 erp介紹 企業(yè)單位 erp模塊 erp問題 云ERP 學(xué)習(xí)ERP ERP案例 ERP演示 ERP測試 ERP與微信 erp品牌 國內(nèi)外ERP excelERP 線上ERP ERP模板 ERP平臺 ERP定制 ERP開源 ERP代碼 ERP購買 ERP數(shù)據(jù)庫 進銷存軟件哪個好 ERP軟件有哪些 ERP系統(tǒng)有哪些