大型MIS軟體的開發必須重視資料庫設計

來源:互聯網
上載者:User

80年代初以來,國內許多電腦專家先後深入一些大型企業,力圖開發出理想的大型MIS。實踐證明,開發出的大型MIS,多數不很理想。原因何在?據作者一孔之見,其中一條重要的原因,就是在開發過程中對MIS的資料庫設計重視不夠,沒有把它當作一件頭等大事來處理。一個大型MIS,如果它的資料庫設計出了問題,就是出了大問題,或者說從根本上出了問題。這樣的MIS,不會成功,只會失敗。既然如此,應該怎樣來解決它呢?

一、MIS的基礎是資料庫

MIS系統包括硬體和軟體兩部分。MIS的軟體,是由文檔加程式組成的。它的文檔,就是MIS的全部設計說明書。它的程式,就是MIS的全部演算法加上相應的資料結構。MIS的演算法無非是它的各種錄入、修改、查詢、處理、輸出與菜單程式的演算法。MIS的資料結構,主要是指資料庫設計中的各種基本表。可以這麼說,基本表是MIS的基礎。資料庫設計既是MIS開發中的重點,又是其痛點。說它是重點,因為設計出一套好的基本表需要許多技巧。

MIS的發展是分階段的,不同的階段,對應不同的資料庫。在MIS的初級(初始與擴充)階段,對應的資料庫為應用程式資料庫。所謂應用程式資料庫,就是針對某項具體的應用而設計的基本表的集合,這種資料庫的設計、使用與維護均較容易。在MIS的中級(控制與整合)階段,對應的資料庫為主題資料庫。所謂主題資料庫,就是針對某方面的主題而設計的基本表的集合,它包括本主題範圍內的所有應用項目,這種資料庫的設計、使用與維護均較複雜。在MIS的進階(資料管理與成熟)階段,對應的資料庫為綜合資料庫。所謂綜合資料庫,就是針對某個大型企事業單位的綜合管理資訊系統而設計的基本表的集合,它包括本單位的所有主題,這種資料庫的設計、使用與維護均很複雜,對設計者、使用者與DBA的要求均很高。

二、資料庫設計的一般方法

資料庫設計分五大步,即資料庫需求分析、概念設計、邏輯設計、實體設計與載入測試。需求分析的任務是將業務管理單證流轉化為資料流,繪製出資料流程圖DFD,並完成相應的資料字典,概念設計的任務是從DFD出發,識別實體及其相互關係,並繪製出實體關聯圖,即E-R圖。邏輯設計的任務是從E-R圖出發,確定各個實體及關係的具體屬性。實體設計的任務是確定所有屬性的類型、寬長與取值範圍,設計出基本表的主鍵與外鍵,將所有表名與欄位名英文化,完成相應的資料字典,在具體的DBMS環境上實現物理建庫工作。載入測試工作貫穿於程式測試工作的全過程,整個錄入、修改、查詢、處理、輸出工作,均可視為對資料庫的載入測試工作。應該指出,大型資料庫的設計不大可能一次順利完成,上述五大步驟,很可能是一個不斷迭代的過程。

三、基本表與其它表

MIS中的資料庫是由一組基本表所組成的,一個實體可以用一張基本表來描述,一個複雜關係也可以用一張基本表來描述。所以,基本表可以代表一個實體,也可以代表一個關係。基本表中的欄位,就是實體或關係的屬性。基本表是存放基礎資料的地方,這些基礎資料具有五個基本性質。原子性,即表中的資料是中繼資料。演繹性,即由表中的資料可以產生系統所有的輸出資料。穩定性,即表中的資料一次錄入、多次使用、長期儲存。

規範性,即表中的資料滿足第三範式。客觀性,即表中的資料是客觀存在的資料,不是主觀想象中的資料。

MIS中的表除了基本表之外,還有一些非基本表,如代碼錶、中間表、暫存資料表與虛表(視圖),它們不屬於資料庫的內容,但均以表的形式出現,為資料的錄入、查詢、處理、輸出提供方便。利用基本表的五個性質,很容易區分基本表與非基本表。非基本表的設計是不難的,基本表的設計是較難的,MIS中的資料庫設計,主要是指基本表的設計。

四、資料庫的設計技巧

資料庫設計中有兩個痛點,一是如何處理多對多的關係,二是如何設計主鍵。處理多對多的關係的辦法為:將一個多對多的關係分解為一個一對多的關係加上另一個多對一的關係。例如,若兩個表之間存在多對多的關係,就在它倆之間增加一個表,該表的欄位中至少要包括前兩個表的主鍵在內。這樣,就將一個多對多的關係轉化為兩個一對多的關係了。

在基本表中,主鍵是記錄的唯一標識。一般而言,主鍵是為索引檔案或表間串連服務的。它對使用者不透明,只提供給程式員使用。因此,主鍵的取值最好為一串無物理意義的數值,且由程式自動加1來實現。主鍵是一個永久為非空的欄位,一旦產生,便不能修改,但可以被拷貝。通過拷貝,這個表的主鍵可作為那個表的外鍵。要設計好資料庫,除了克服以上兩個痛點之外,還應遵循下列原則:即基本表的個數越少越好;主鍵的個數越少越好;欄位的個數越少越好。

五、MIS的開發模式

結合我國的特點,大型MIS的開發與大型資料庫的設計,均應分為兩個層次,即核心層與外殼層。核心層對應法治,設計上講究通用性。外殼層對應人治,設計上講究專用性。隨著中國經濟與世界經濟接軌進程的發展,MIS的核心層將逐步擴大,外殼層將逐步縮小,通用性將逐步增強。

當前我國大型企事業單位的MIS建設,少數單位已跨過了初級階段,開始邁向中級或進階階段。與此同時,資料庫設計已告別了應用程式資料庫時期,開始向主題資料庫或綜合資料庫過渡。主題資料庫或綜合資料庫的設計,與應用程式資料庫設計的本質區別是:前者是面向資料,後者是面向程式。一個大型企事業單位的MIS建設,是一個長期的反覆的過程。在這一過程中,應用程式與輸出圖表可能逐年變動,但基礎資料是穩定不變的。只要我們將基本表設計面向資料,不面向程式,用基本表組織好中繼資料,就能以不變應萬變,避免在MIS建設中的失誤。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.