隨著數據庫的不斷發展,數據庫與我們的日常工作是密不可分的,下面我們就對數據庫的分類及相關概念進行一下掃盲講解。
關系型數據庫
關系型數據庫以行和列的形式存儲數據,以便于用戶理解。這一系列的行和列被稱為表,一組表組成了數據庫。用戶用查詢(Query)來檢索數據庫中的數據。一個Query是一個用于指定數據庫中行和列的SELECT語句。關系型數據庫通常包含下列組件:
客戶端應用程序(Client)
數據庫服務器(Server)
數據庫(Database)
Structured Query Language(SQL)是Client端和Server端的橋梁,Client用SQL來向Server端發送請求,Server返回Client端要求的結果。現在流行的大型關系型數據庫有IBM DB2、IBM UDB、Oracle、SQL Server、SyBase、Informix等。
關系型數據庫管理系統中儲存與管理數據的基本形式是二維表。
網狀數據庫
處理以記錄類型為結點的網狀數據模型的數據庫。處理方法是將網狀結構分解成若干棵二級樹結構,稱為系。系類型是二個或二個以上的記錄類型之間聯系的一種描述。在一個系類型中,有一個記錄類型處于主導地位,稱為系主記錄類型,其它稱為成員記錄類型。
系主和成員之間的聯系是一對多的聯系。網狀數據庫的代表是DBTG系統。1969年美國的CODASYL組織提出了一份“DBTG報告”,以后,根據DBTG報告實現的系統一般稱 為DBTG系統。現有的網狀數據庫系統大都是采用DBTG方案的。DBTG系統是典型的三級結構體系:子模式、模式、存儲模式。相應的數據定義語言分別稱為子模式定義語言SSDDL,模式定義語言SDDL,設備介質控制語言DMCL.另外還有數據操縱語言DML。
層次型數據庫
層次型數據庫管理系統是緊隨網狀數據庫而出現的。現實世界中很多事物是按層次組織起來的。層次數據模型的提出,首先是為了模擬這種按層次組織起來的事物。層次數據庫也是按記錄來存取數據的。層次數據模型中最基本的數據關系是基本層次關系,它代表兩個記錄型之間一對多的關系,也叫做雙親子女關系(PCR)。
數據庫中有且僅有一個記錄型無雙親,稱為根節點。其他記錄型有且僅有一個雙親。在層次模型中從一個節點到其雙親的映射是惟一的,所以對每一個記錄型(除根節點外)只需要指出它的雙親,就可以表示出層次模型的整體結構。層次模型是樹狀的。最著名最典型的層次數據庫系統是IBM公司的IMS(Information Management System),這是IBM公司研制的最早的大型數據庫系統程序產品。從60年代末產生起,如今已經發展到IMSV6,提供群集、N路數據共享、消息隊列共享等先進特性的支持。這個具有30年歷史的數據庫產品在如今的WWW應用連接、商務智能應用中扮演著新的角色。
web應用程序或者winform應用程序在存儲數據的時候,一般的做法是將數據存放于數據庫中,而根據程序的性能要求和實際需求我們可以選擇不同類型的數據庫,下面我們就對各種常用數據庫的歷史和特點加以簡單的分析和介紹。
Access數據庫
美國Microsoft公司于1994年推出的微機數據庫管理系統。它具有界面友好、易學易用、開發簡單、接口靈活等特點,是典型的新一代桌面數據庫管理系統。其主要特點如下:
(1)完善地管理各種數據庫對象,具有強大的數據組織、用戶管理、安全檢查等功能。
(2)強大的數據處理功能,在一個工作組級別的網絡環境中,使用Access開發的多用戶數據庫管理系統具有傳統的XBASE(DBASE、FoxBASE的統稱)數據庫系統所無法實現的客戶服務器(Cient/Server)結構和相應的數據庫安全機制,Access具備了許多先進的大型數據庫管理系統所具備的特征,如事務處理/出錯回滾能力等。
(3)可以方便地生成各種數據對象,利用存儲的數據建立窗體和報表,可視性好。
(4)作為Office套件的一部分,可以與Office集成,實現無縫連接。
(5)能夠利用Web檢索和發布數據,實現與Internet的連接。 Access主要適用于中小型應用系統,或作為客戶機/服務器系統中的客戶端數據庫。
Informix數據庫
美國InfomixSoftware公司研制的關系型數據庫管理系統。Informix有Informix-SE和Informix-Online兩種版本。Informix-SE適用于UNIX和WindowsNT平臺,是為中小規模的應用而設計的;Informix-Online在UNIX操作系統下運行,可以提供多線程服務器,支持對稱多處理器,適用于大型應用。
Informix可以提供面向屏幕的數據輸入詢問及面向設計的詢問語言報告生成器。數據定義包括定義關系、撤銷關系、定義索引和重新定義索引等。Informix不僅可以建立數據庫,還可以方便地重構數據庫,系統的保護措施十分健全,不僅能使數據得到保護而不被權限外的用戶存取,且能重新建立丟失了的文件及恢復被破壞了的數據。其文件的大小不受磁盤空間的限制,域的大小和記錄的長度均可達2K。采用加下標順序訪問法,Informix與COBOL軟件兼容,并支持C語言程序。 Informix可移植性強、兼容性好,在很多微型計算機和小型機上得到應用,尤其適用于中小型企業的人事、倉儲及財務管理。
Orcale數據庫
美國Orcale公司研制的一種關系型數據庫管理系統,是一個協調服務器和用于支持任務決定型應用程序的開放型RDBMS。它可以支持多種不同的硬件和操作系統平臺,從臺式機到大型和超級計算機,為各種硬件結構提供高度的可伸縮性,支持對稱多處理器、群集多處理器、大規模處理器等,并提供廣泛的國際語言支持。 Orcale是一個多用戶系統,能自動從批處理或在線環境的系統故障中恢復運行。系統提供了一個完整的軟件開發工具Developer2000,包括交互式應用程序生成器、報表打印軟件、字處理軟件以及集中式數據字典,用戶可以利用這些工具生成自己的應用程序。Orcale以二維表的形式表示數據,并提供了SQL(結構式查詢語言),可完成數據查詢、操作、定義和控制等基本數據庫管理功能。Orcale具有很好的可移植性,通過它的通信功能,微型計算機上的程序可以同小型乃至大型計算機上的Orcale,并且能相互傳遞數據。另外Orcale還具有與C語言的接電子表格、圖形處理等軟件。 Orcale屬于大型數據庫系統,主要適用于大、中小型應用系統,或作為客戶機/服務器系統中服務器端的數據庫系統。
DB2數據庫
IBM公司研制的一種關系型數據庫系統。DB2主要應用于大型應用系統,具有較好的可伸縮性,可支持從大型機到單用戶環境,應用于OS/2、Windows等平臺下。 DB2提供了高層次的數據利用性、完整性、安全性、可恢復性,以及小規模到大規模應用程序的執行能力,具有與平臺無關的基本功能和SQL命令。DB2采用了數據分級技術,能夠使大型機數據很方便地下載到LAN數據庫服務器,使得客戶機/服務器用戶和基于LAN的應用程序可以訪問大型機數據,并使數據庫本地化及遠程連接透明化。 它以擁有一個非常完備的查詢優化器而著稱,其外部連接改善了查詢性能,并支持多任務并行查詢。 DB2具有很好的網絡支持能力,每個子系統可以連接十幾萬個分布式用戶,可同時激活上千個活動線程,對大型分布式應用系統尤為適用。
SQL Server數據庫
Microsoft公司推出的一種關系型數據庫系統。SQLServer是一個可擴展的、高性能的、為分布式客戶機/服務器計算所設計的數據庫管理系統,實現了與WindowsNT的有機結合,提供了基于事務的企業級信息管理系統方案。
其主要特點如下:
(1)高性能設計,可充分利用Windows的優勢。
(2)系統管理先進,支持Windows圖形化管理工具,支持本地和遠程的系統管理和配置。
(3)強壯的事務處理功能,采用各種方法保證數據的完整性。
(4)支持對稱多處理器結構、存儲過程、ODBC,并具有自主的SQL語言。 SQLServer以其內置的數據復制功能、強大的管理工具、與Internet的緊密集成和開放的系統結構為廣大的用戶、開發人員和系統集成商提供了一個出眾的數據庫平臺。
Sybase數據庫
美國Sybase公司研制的一種關系型數據庫系統,是一種典型的UNIX或Windows平臺上客戶機/服務器環境下的大型數據庫系統。 Sybase提供了一套應用程序編程接口和庫,可以與非Sybase數據源及服務器集成,允許在多個數據庫之間復制數據,適于創建多層應用。系統具有完備的觸發器、存儲過程、規則以及完整性定義,支持優化查詢,具有較好的數據安全性。Sybase通常與SybaseSQLAnywhere用于客戶機/服務器環境,前者作為服務器數據庫,后者為客戶機數據庫,采用該公司研制的PowerBuilder為開發工具,在我國大中型系統中具有廣泛的應用。美國Sybase公司研制的一種關系型數據庫系統,是一種典型的UNIX或Windows平臺上客戶機/服務器環境下的大型數據庫系統。 Sybase提供了一套應用程序編程接口和庫,可以與非Sybase數據源及服務器集成,允許在多個數據庫之間復制數據,適于創建多層應用。系統具有完備的觸發器、存儲過程、規則以及完整性定義,支持優化查詢,具有較好的數據安全性。Sybase通常與SybaseSQLAnywhere用于客戶機/服務器環境,前者作為服務器數據庫,后者為客戶機數據庫,采用該公司研制的PowerBuilder為開發工具,在我國大中型系統中具有廣泛的應用。
FoxPro數據庫
最初由美國Fox公司1988年推出,1992年Fox公司被Microsoft公司收購后,相繼推出了FoxPro2.5、2.6和VisualFoxPro等版本,其功能和性能有了較大的提高。 FoxPro2.5、2.6分為DOS和Windows兩種版本,分別運行于DOS和Windows環境下。FoxPro比FoxBASE在功能和性能上又有了很大的改進,主要是引入了窗口、按紐、列表框和文本框等控件,進一步提高了系統的開發能力。