【摘 要】 本文先介紹了DB,DBS和DBMS三者的關系,然后從數據庫的發展歷史、經歷的過程,進行了比較、分析和研究,指出了各代數據庫的特點和不足,給使用者提供了選擇數據庫的參考依據,并對今后數據庫的發展方向進行了展望。
【關鍵詞】 數據庫(DB) 數據庫管理系統(DBMS) 數據庫系統(DBS)
人們每天要面對大量的信息,信息管理和數據處理自然成了計算機應用的一個主要領域。隨著計算機技術的發展和普及,各行各業的管理部門需要由計算機處理大量的信息。計算機管理數據隨著計算機的發展而不斷發展,利用計算機對數據進行處理經歷了四個階段,即:人工管理階段、文件系統階段、數據庫系統階段和分布式數據庫系統階段。顯而易見數據庫技術始終是這一領域中的核心。所謂數據庫DataBase(DB),是按一定方式把相關數據組織、存儲在計算機中的數據集合,數據庫不僅存放數據,而且還存放數據之間的聯系。數據庫管理系統DataBase Manage System(DBMS)是指幫助用戶建立、使用和管理數據庫的軟件系統,主要包括數據描述語言、數據操作語言以及其他管理和控制程序三個部分。數據庫系統DataBase System(DBS)是指引進數據庫技術的的計算機系統,包括硬件系統,數據庫集合、數據庫管理系統和相關軟件、數據庫管理員、用戶等五部分。由此可見,三者之間是DBS包括DB和DBMS。現在,各種各樣的數據庫被廣泛應用在各個領域中,選擇一個優秀的數據庫管理系統作為開發平臺,將給日后的信息處理帶來極大方便。下面我介紹一下數據庫的發展及如何選擇適用的數據庫,希望能給您的工作帶來啟示。
一、數據庫技術的發展史
數據模型是數據庫系統的核心和基礎。因此,對數據庫技術發展階段的劃分應該以數據模型的發展演變作為主要依據和標志。總體說來,數據庫技術從開始到現在一共經歷了三個發展階段:第一代是網狀、層次數據庫系統,第二代是關系數據庫系統,第三代是以面向對象數據模型為主要特征的數據庫系統。
第一代包括網狀和層次數據庫系統,是因為它們的數據模型雖然分別為層次和網狀模型,但實質上層次模型只是網狀模型的特例而已。這二者都是格式化數據模型,都是在60年代后期研究和開發的,不論是體系結構、數據庫語言,還是數據的存儲管理,都具有共同特征,所以它們應該劃分為一代。
第二代數據庫系統支持關系數據模型。關系模型不僅具有簡單、清晰的優點,而且有關系代數作為語言模型,有關系數據理論作為理論基礎。因此關系數據庫具有形式基礎好、數據獨立性強、數據庫語言非過程化等特點,這些特點是數據庫技術發展到了第二代的顯著標志。雖然關系數據模型描述了現實世界數據的結構和一些重要的相互聯系,但是仍然不足以抓住和表達數據對象所具有的豐富而重要的語義,因而它屬于語法模型。
第三代數據庫系統的特征是數據模型更加豐富,數據管理功能更為強大,能夠支持傳統數據庫難以支持的新的應用需求。
二、縱橫數據庫
回顧數據庫的發展歷史,展望數據庫的未來發展趨勢。
2.1 兩代演變終成正果
數據庫興起于20世紀60年代末期,歷經兩代的演變。在短短的30年里,它從第一代層次與網絡數據庫系統和第二代關系數據庫系統,發展到第三代以面向對象數據模型為主要特征的新一代數據庫系統。正是因為人們致力于對數據庫的理論研究和系統開發,今天的數據庫技術才與網絡通信技術、人工智能技術、面向對象程序設計技術、并行計算技術等互相滲透、有機結合,而成為計算機信息系統和應用系統的重要技術支柱。
在前兩代數據庫發展史上,有三個標志性事件。第一個是IBM公司在1969年研發出數據庫管理系統的商品化軟件IMS,第二個是美國數據庫系統語言協會于60年代末70年代初提出DBTG(Data Base Task Group)報告,它們分別標志著層次和網絡數據庫模型的成熟。而第三個事件更具有劃時代的意義:IBM公司的研究員E.F.Codd在1970年發表了題為“大型共享數據庫數據的關系模型”論文,從此創建了具有極大商業化潛能的關系數據庫模型,他也因此而獲得了計算機界極具權威的ACM圖靈獎。這三件大事標志著數據庫系統的研發取得了輝煌成就,特別是相繼出現的商品化關系數據庫管理系統更是標志著關系數據庫系統已經接近頂峰。
2.2 三代應用再創輝煌
隨著計算機應用領域的迅速擴大,第三代數據庫系統應運而生。與前兩代數據庫主要針對商業事務處理不同,新一代數據庫的應用變得更加廣泛:工程數據庫應用、地理信息系統、多媒體信息系統、科學與統計數據庫應用等,不勝枚舉。即使是面對著下一代數據庫技術將向何處去的問題,最新的數據庫管理系統--擴展關系數據庫系統、面向對象的數據庫系統、分布式數據庫系統、并行數據庫系統以及專家數據庫系統、數據倉庫等--也以其先進強大的技術和日趨完善的管理功能逐漸影響和滲透到包括商業事務處理在內的其它各個領域,我們沒有理由不相信:這些新興的數據庫技術將在計算機應用的發展中為人類做出更大的貢獻。
三、精選數據庫
在介紹了數據庫的基本知識后,您是否已有些心動,也想掌握這個強大的工具。那么,跟我一起來選擇數據庫系統吧。面對眾多的數據庫系統您可不要不知所措。目前流行著相當多的數據庫系統,大的如Orcacl 、Informix 和DB2等,小的如Visual FoxPro、 dBase 和Access等。它們各有所長,能分別滿足不同層次的需要:Orcacl以穩定性著稱,Informix因先進性聞名,它們適合建立工程、企業等大型數據庫;而Visual FoxPro簡單快速,Access小巧便捷,能很好的為家庭及中小型數據庫服務。在眾多的數據庫系統中,有幾個數據庫系統異軍突起,成為應用最廣泛、市場最流行的數據庫平臺,SQL Server 、Delphi 和Visual FoxPro是其中的佼佼者。
下面我將分別向您介紹。先說SQL Server,從某種意義上來說它不能算是大型數據庫。因為目前它只能在Windows NT下運行,而不能移植到其它操作系統上,但它憑借其極少的數據冗余、較高的數據庫訪問效率而成為目前最受歡迎的大中型企業級數據庫,與Orcacl和Informix相比,SQL Server的應用性更好,它使較大的數據庫也非常容易維護,特別適合那些要建立大中型數據庫又不是很精通數據庫平臺的朋友。相比之下,Delphi 和Visual FoxPro則更多的立足個人或中小型數據數據庫的應用,而且它們都是基于面向對象的數據庫前端開發工具。就Delphi來說,它的優點是能夠快捷地產生界面應用程序。在數據庫應用設計方面,也具有強大的功能:開發一個較大的數據庫應用往往只要很短的時間即可完成,特別是它提供的用于數據庫訪問和控制的可視控件能為程序設計帶來極大的方便。VFP(Microsoft Visual FoxPro)關系型數據庫系統是新一代小型數據庫管理系統的典型代表,是迄今為止速度最快的數據庫管理系統,它能夠簡化用戶數據庫管理,使得數據的組織、定義數據庫規則和創建應用程序等工作更加簡單便捷,僅僅利用系統提供的可視化設計工具向導就可以快速創建表、查詢和視圖。另外它還提供了一個集成化開發環境,包括面向對象的編程工具等。另外,它能夠管理大量復雜的數據信息,同時具有很好的安全性和較強的網絡功能,能夠實現數據的遠程訪問和存儲加工。所以VFP以極其強大的性能、豐富而又完整的設計工具、較高的處理速度、友好的用戶界面以及完備的兼容性等等方面的突出特點,深受廣大用戶的喜愛。在這兩個開發工具中,您任選其一就能較好地完成對數據庫的創建和維護。就是需要在平臺之間相互移植,它們也是相當的方便,易學易用。
四、數據庫系統的組成部分及聯系
數據庫系統一般由數據庫、數據庫管理系統(及其開發工具)、應用系統、數據庫管理員和用戶構成
4.1 硬件平臺及數據庫
由于數據庫系統數據量都很大,加之DBMS豐富的功能使得自身的規模也很大,因此整個數據庫系統對硬件資源提出了較高的要求,這些要求是:
(1)足夠大的內存,存放操作系統、DBMS的核心模塊、數據緩沖區和應用程序。
(2) 有足夠大的磁盤等直接存取設備存放數據庫,有足夠的磁帶(或微機軟盤)作數作備份。
(3) 要求系統有較高的通道能力,以提高數據傳送率。
4.2 軟件
數據庫系統的軟件主要包括:
(1)DBMS。DBMS是為數據庫的建立、使用和維護配置的軟件。
(2)支持DBMS運行的操作系統。
(3)具有與數據庫接口的高級語言及其編譯系統,便于開發應用程序。
(4)以DBMS為核心的應用開發工具。
應用開發工具是系統為應用開發人員和最終用戶提供的高效率、多功能的應用生成器、第四代語言等各種軟件工具。它們為數據庫系統的開發和應用提供了良好的環境。
(5)為特定應用環境開發的數據庫應用系統。
4.3 人員
開發、管理和使用數據庫系統的人員主要是:數據庫管理員、系統分析員和數據庫設計人員、應用程序員和最終用戶。不同的人員涉及不同的數據抽象級別,具有不同的數據視圖,如圖1.30所示,其各自的職責分別是:
1.數據庫管理員(DataBase Administrat
or,簡稱 DBA)在數據庫系統環境下,有兩類共享資源。一類是數據庫,另一類是數據庫管理系統軟件。因此需要有專門的管理機構來監督和管理數據庫系統。DBA則是這個機構的一個(組)人員,負責全面管理和控制數據庫系統。具體職責包括:
(1)決定數據庫中的信息內容和結構
數據庫中要存放哪些信息,DBA要參與訣策。因此DBA必須參加數據庫設計的全過程,并與用戶、應用程序員、系統分析員密切合作共同協商,搞好數據庫設計。
(2)決定數據庫的存儲結構和存取策略
DBA要綜合各用戶的應用要求,和數據庫設計人員共同決定數據的存儲結構和存取策略以求獲得較高的存取效率和存儲空間利用率。
(3)定義數據的安全性要求和完整性約束條件
DBA的重要職責是保證數據庫的安全性和完整性。因此DBA負責確定各個用戶對數據庫的存取權限、數據的保密級別和完整性約束條件。
(4)監控數據庫的使用和運行
DBA還有一個重要職責就是監視數據庫系統的運行情況,及時處理運行過程中出現的問題。比如系統發生各種故障時,數據庫會因此遭到不同程度的破壞,DBA必須在最短時間內將數據庫恢復到正確狀態,并盡可能不影響或少影響計算機系統其他部分的正常運行。為此,DBA要定義和實施適當的后備和恢復策略。如周期性的轉儲數據、維護日志文件等。有關這方面的內容將在下面做進一步討論。
(5)數據庫的改進和重組重構
DBA還負責在系統運行期問監視系統的空間利用率、處理效率等性能指標,對運行情況進行記錄、統計分析,依靠工作實踐并根據實際應用環境,不斷改進數據庫設計。不少數據庫產品都提供了對數據庫運行狀況進行監視和分析的實用程序,DBA可以使用這些實用程序完成這項工作。
另外,在數據運行過程中,大量數據不斷插入、刪除、修改,時間一長,會影響系統的性能。因此,DBA要定期對數據庫進行重組織,以提高系統的性能。
①當用戶的需求增加和改變時,DBA還要對數據庫進行較大的改造,包括修改部分設計,即數據庫的重構造。②系統分析員和數據庫設計人員系統分析員負責應用系統的需求分析和規范說明,要和用戶及DBA相結合,確定系統的硬件軟件配置,并參與數據庫系統的概要設計。
數據庫設計人員負責數據庫中數據的確定、數據庫各級模式的設計。數據庫設計人員必須參加用戶需求調查和系統分析,然后進行數據庫設計。在很多情況下,數據庫設計人員就由數據庫管理員擔任。③應用程序員應用程序員負責設計和編寫應用系統的程序模塊,并進行調試和安裝。④用戶 這里用戶是指最終用戶(End User)。最終用戶通過應用系統的用戶接口使用數據庫。常用的接口方式有瀏覽器、菜單驅動、表格操作、圖形顯示、報表書寫等,給用戶提供簡明直觀的數據表示。
五、數據庫系統的特點和功能
5.1 數據庫系統的特點
數據庫管理系統將具有一定結構的數據組成一個集合,它主要具有以下幾個特點:
1. 數據的結構化。數據庫中的數據并不是雜亂無章、毫不相干的,它們具有一定的組織結構,屬于同一集合的數據具有相似的特征。
2. 數據的共享性。在一個單位的各個部門之間,存在著大量的重復信息。使用數據庫的目的就是要統一管理這些信息,減少冗余度,使各個部門共同享有相同的數據。
3. 數據的獨立性。數據的獨立性是指數據記錄和數據管理軟件之間的獨立。數據及其結構應具有獨立性,而不應該去改變應用程序。
4. 數據的完整性。數據的完整性是指保證數據庫中數據的正確性??赡茉斐蓴祿徽_的原因很多,數據庫管理系統通過對數據性質進行檢查而管理它們。
5. 數據的靈活性。數據庫管理系統不是把數據簡單堆積,它在記錄數據信息的基礎上具有很多的管理功能,如輸入、輸出、查詢、編輯修改等。
6. 數據的安全性。根據用戶的職責,不同級別的人對數據庫具有不同的權限,數據庫管理系統應該確保數據的安全性。
5.2 數據庫系統的功能
一個好的數據庫管理系統應具有很多功能,其中最基本的有以下3種:
1. 數據定義
數據庫管理系統提供定義數據類型和數據存儲形式的功能。每個記 錄的每個字段中的信息為一個數據。因記錄的信息不同,其數據類型也應不同。通過定義數據類型,可以在一定程度上保證數據的完整性。最簡單的要求是,完整性規則應保證不能在定義為數字的字段中存放文本類型的數據。
2. 數據操作
數據庫管理系統提供多種處理數據的方式。例如,在一張表中查找信息或者在幾個相關的表或文件中進行復雜的查找;使用相應的命令更新一個字段或多個記錄的內容;用一個命令對數據進行統計,甚至可以使用數據庫管理系統工具進行編程,以實現更加復雜的功能。
3. 數據控制 數據庫管理系統對數據提供一定的保護措施,從而保證在多個用戶共享數據時,只有被授權的用戶才能查看或修改數據。
介紹完這些優秀的數據庫管理系統,祝愿您能有些收獲。
參考文獻
[1] 王珊,薩師煊.數據庫系統概論[M].高等教育出版社,2006
[2] 黃梯云.管理信息系統[M].北京:經濟科學出版社,2005
[3] 李淑華.VFP最新實用教程[M].沈陽:遼海出版社,2010
[4] 史濟民,湯觀全.Visual FoxPro及其應用系統開發[M].北京:清華大學出版社,2003