大型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建設中的失誤。

必須引起DBA重視的Oracle數據庫碎片
目前,Oracle已經廣泛的應用于各個行業。作爲一名DBA,及時發現並整理碎片已經成爲DBA日常工作中的一項重要維護內容。 1、碎片是如何産生的 當生成一個數據庫時,它會分成稱爲表空間(tablespace)的多個邏輯段(segmen...查看完整版>>必須引起DBA重視的Oracle數據庫碎片
 
KDE 峰會:開源代碼軟件開發人員重視"易用性"
ZDNet China 8 月 26 日報道(文:Ingrid Marson / 譯:jasmine):新版 Linux 台式機環境 KDE 的開發人員正在努力使他們的軟件能夠更方便地被殘疾人士使用。   易用性是在德國路德維希堡舉行的“KDE 社區全球...查看完整版>>KDE 峰會:開源代碼軟件開發人員重視"易用性"
 
殲擊機設計與軟件開發
殲擊機設計與軟件開發 跟北航的朋友借了本北航出版社2001年版的《飛機總體設計》。我對飛行器設計一竅不通,也不想學習,主要是看到這本書的主編是大名鼎鼎的顧誦芬(殲8,殲8-II),才拿來翻一翻。沒想到,才看了前...查看完整版>>殲擊機設計與軟件開發
 
2002-01-08 Borland宣布Borland Enterprise Studio for Windows ,統一軟件的設計,開發和部署
2002-01-08Borland宣布Borland® Enterprise Studio for Windows®,統一軟件的設計,開發和部署 全部套件包括Borland® Delphi™ 6 和 Rational Rose®,這種整合將加快産品的上市時間,降低成本,...查看完整版>>2002-01-08 Borland宣布Borland Enterprise Studio for Windows ,統一軟件的設計,開發和部署
 
近10年來最重要的軟件開發書籍《設計模式》
近10年來最重要的軟件開發書籍《設計模式》蔣濤 前言兩年前曾經在中國計算機報寫過幾篇書評,那時候感覺軟件開發方面的書籍雖然不少,可是精品屈指可數,僅有的幾本老牌經典名著還版本陳舊,如Charles Petzld的《Win...查看完整版>>近10年來最重要的軟件開發書籍《設計模式》
 
數據庫設計軟件DbWrench 1.2.1
DbWrench是一款數據庫設計和正反向工程(round-trip engineering)軟件,由Nizana系統公司設計開發。當地時間8月11日,Nizana發布了這一數據庫設計軟件的最新版本:DbWrench V1.2.1。 原文鏈接:http://www.softhous...查看完整版>>數據庫設計軟件DbWrench 1.2.1
 
詳細講解大型數據庫的設計原則與開發技巧
目前,計算機技術已經廣泛地應用于國民經濟的各個領域當中,在計算機硬件不斷微型化的同時,應用系統也逐漸向著複雜化、大型化的方向發展。數據庫是整個系統的核心,它的設計直接關系系統執行的效率和系統的穩定性。...查看完整版>>詳細講解大型數據庫的設計原則與開發技巧
 
[原創] 日構建的設計——For大型軟件開發
注:本文發表于 UML軟件工程組織 (由于涉及版權,請感興趣的朋友自行去查閱)...查看完整版>>[原創] 日構建的設計——For大型軟件開發
 
CD-R JSP動態網頁設計|報價¥39.60|教育音像與電子出版物,軟件與計算機,程序設計/編程開發,數據庫,
目錄:教育音像與電子出版物,軟件與計算機,程序設計/編程開發,數據庫,品牌:産品參數·操作系統:Windows·格式:CD-ROM·條碼:9787894994424·可參與人數:1産品描述最低系統配置: 由JSP資深講師組織策劃講解,全面...查看完整版>>CD-R JSP動態網頁設計|報價¥39.60|教育音像與電子出版物,軟件與計算機,程序設計/編程開發,數據庫,
 
 
回到王朝網路移動版首頁