| 導購 | 订阅 | 在线投稿
分享
 
 
 

大型MIS軟件的開發必須重視數據庫設計

來源:互聯網  2008-06-01 03:18:52  評論

這篇論壇文章(賽迪網技術社區)主要介紹了數據庫設計在大型MIS軟件開發過程中的重要性,詳細內容請參考下文:

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

一、MIS的基礎是數據庫

NIS系統包括硬件和軟件兩部分。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建設中的失誤。

這篇論壇文章(賽迪網技術社區)主要介紹了數據庫設計在大型MIS軟件開發過程中的重要性,詳細內容請參考下文: 80年代初以來,國內許多計算機專家先後深入一些大型企業,力圖開發出理想的大型MIS。實踐證明,開發出的大型MIS,多數不很理想。原因何在?據作者一孔之見,其中一條重要的原因,就是在開發過程中對MIS的數據庫設計重視不夠,沒有把它當作一件頭等大事來處理。一個大型MIS,如果它的數據庫設計出了問題,就是出了大問題,或者說從根本上出了問題。這樣的MIS,不會成功,只會失敗。既然如此,應該怎樣來解決它呢? 一、MIS的基礎是數據庫 NIS系統包括硬件和軟件兩部分。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建設中的失誤。
󰈣󰈤
王朝萬家燈火計劃
期待原創作者加盟
 
 
 
>>返回首頁<<
 
 
 
 
 熱帖排行
 
 
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有