隨著數(shù)據(jù)庫的不斷發(fā)展,數(shù)據(jù)庫與我們的日常工作是密不可分的,下面我們就對(duì)數(shù)據(jù)庫的分類及相關(guān)概念進(jìn)行一下掃盲講解。

  關(guān)系型數(shù)據(jù)庫

  關(guān)系型數(shù)據(jù)庫以行和列的形式存儲(chǔ)數(shù)據(jù),以便于用戶理解。這一系列的行和列被稱為表,一組表組成了數(shù)據(jù)庫。用戶用查詢(Query)來檢索數(shù)據(jù)庫中的數(shù)據(jù)。一個(gè)Query是一個(gè)用于指定數(shù)據(jù)庫中行和列的SELECT語句。關(guān)系型數(shù)據(jù)庫通常包含下列組件:

客戶端應(yīng)用程序(Client)

數(shù)據(jù)庫服務(wù)器(Server)

數(shù)據(jù)庫(Database)

  Structured Query Language(SQL)是Client端和Server端的橋梁,Client用SQL來向Server端發(fā)送請(qǐng)求,Server返回Client端要求的結(jié)果。現(xiàn)在流行的大型關(guān)系型數(shù)據(jù)庫有IBM DB2、IBM UDB、Oracle、SQL Server、SyBase、Informix等。

  關(guān)系型數(shù)據(jù)庫管理系統(tǒng)中儲(chǔ)存與管理數(shù)據(jù)的基本形式是二維表。

  網(wǎng)狀數(shù)據(jù)庫

  處理以記錄類型為結(jié)點(diǎn)的網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)庫。處理方法是將網(wǎng)狀結(jié)構(gòu)分解成若干棵二級(jí)樹結(jié)構(gòu),稱為系。系類型是二個(gè)或二個(gè)以上的記錄類型之間聯(lián)系的一種描述。在一個(gè)系類型中,有一個(gè)記錄類型處于主導(dǎo)地位,稱為系主記錄類型,其它稱為成員記錄類型。

  系主和成員之間的聯(lián)系是一對(duì)多的聯(lián)系。網(wǎng)狀數(shù)據(jù)庫的代表是DBTG系統(tǒng)。1969年美國的CODASYL組織提出了一份“DBTG報(bào)告”,以后,根據(jù)DBTG報(bào)告實(shí)現(xiàn)的系統(tǒng)一般稱 為DBTG系統(tǒng)。現(xiàn)有的網(wǎng)狀數(shù)據(jù)庫系統(tǒng)大都是采用DBTG方案的。DBTG系統(tǒng)是典型的三級(jí)結(jié)構(gòu)體系:子模式、模式、存儲(chǔ)模式。相應(yīng)的數(shù)據(jù)定義語言分別稱為子模式定義語言SSDDL,模式定義語言SDDL,設(shè)備介質(zhì)控制語言DMCL.另外還有數(shù)據(jù)操縱語言DML。

  層次型數(shù)據(jù)庫

  層次型數(shù)據(jù)庫管理系統(tǒng)是緊隨網(wǎng)狀數(shù)據(jù)庫而出現(xiàn)的。現(xiàn)實(shí)世界中很多事物是按層次組織起來的。層次數(shù)據(jù)模型的提出,首先是為了模擬這種按層次組織起來的事物。層次數(shù)據(jù)庫也是按記錄來存取數(shù)據(jù)的。層次數(shù)據(jù)模型中最基本的數(shù)據(jù)關(guān)系是基本層次關(guān)系,它代表兩個(gè)記錄型之間一對(duì)多的關(guān)系,也叫做雙親子女關(guān)系(PCR)。

  數(shù)據(jù)庫中有且僅有一個(gè)記錄型無雙親,稱為根節(jié)點(diǎn)。其他記錄型有且僅有一個(gè)雙親。在層次模型中從一個(gè)節(jié)點(diǎn)到其雙親的映射是惟一的,所以對(duì)每一個(gè)記錄型(除根節(jié)點(diǎn)外)只需要指出它的雙親,就可以表示出層次模型的整體結(jié)構(gòu)。層次模型是樹狀的。最著名最典型的層次數(shù)據(jù)庫系統(tǒng)是IBM公司的IMS(Information Management System),這是IBM公司研制的最早的大型數(shù)據(jù)庫系統(tǒng)程序產(chǎn)品。從60年代末產(chǎn)生起,如今已經(jīng)發(fā)展到IMSV6,提供群集、N路數(shù)據(jù)共享、消息隊(duì)列共享等先進(jìn)特性的支持。這個(gè)具有30年歷史的數(shù)據(jù)庫產(chǎn)品在如今的WWW應(yīng)用連接、商務(wù)智能應(yīng)用中扮演著新的角色。

  web應(yīng)用程序或者winform應(yīng)用程序在存儲(chǔ)數(shù)據(jù)的時(shí)候,一般的做法是將數(shù)據(jù)存放于數(shù)據(jù)庫中,而根據(jù)程序的性能要求和實(shí)際需求我們可以選擇不同類型的數(shù)據(jù)庫,下面我們就對(duì)各種常用數(shù)據(jù)庫的歷史和特點(diǎn)加以簡(jiǎn)單的分析和介紹。

  Access數(shù)據(jù)庫

  美國Microsoft公司于1994年推出的微機(jī)數(shù)據(jù)庫管理系統(tǒng)。它具有界面友好、易學(xué)易用、開發(fā)簡(jiǎn)單、接口靈活等特點(diǎn),是典型的新一代桌面數(shù)據(jù)庫管理系統(tǒng)。其主要特點(diǎn)如下:

  (1)完善地管理各種數(shù)據(jù)庫對(duì)象,具有強(qiáng)大的數(shù)據(jù)組織、用戶管理、安全檢查等功能。

  (2)強(qiáng)大的數(shù)據(jù)處理功能,在一個(gè)工作組級(jí)別的網(wǎng)絡(luò)環(huán)境中,使用Access開發(fā)的多用戶數(shù)據(jù)庫管理系統(tǒng)具有傳統(tǒng)的XBASE(DBASE、FoxBASE的統(tǒng)稱)數(shù)據(jù)庫系統(tǒng)所無法實(shí)現(xiàn)的客戶服務(wù)器(Cient/Server)結(jié)構(gòu)和相應(yīng)的數(shù)據(jù)庫安全機(jī)制,Access具備了許多先進(jìn)的大型數(shù)據(jù)庫管理系統(tǒng)所具備的特征,如事務(wù)處理/出錯(cuò)回滾能力等。

  (3)可以方便地生成各種數(shù)據(jù)對(duì)象,利用存儲(chǔ)的數(shù)據(jù)建立窗體和報(bào)表,可視性好。

  (4)作為Office套件的一部分,可以與Office集成,實(shí)現(xiàn)無縫連接。

  (5)能夠利用Web檢索和發(fā)布數(shù)據(jù),實(shí)現(xiàn)與Internet的連接。 Access主要適用于中小型應(yīng)用系統(tǒng),或作為客戶機(jī)/服務(wù)器系統(tǒng)中的客戶端數(shù)據(jù)庫。

Informix數(shù)據(jù)庫

  美國InfomixSoftware公司研制的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)。Informix有Informix-SE和Informix-Online兩種版本。Informix-SE適用于UNIX和WindowsNT平臺(tái),是為中小規(guī)模的應(yīng)用而設(shè)計(jì)的;Informix-Online在UNIX操作系統(tǒng)下運(yùn)行,可以提供多線程服務(wù)器,支持對(duì)稱多處理器,適用于大型應(yīng)用。

  Informix可以提供面向屏幕的數(shù)據(jù)輸入詢問及面向設(shè)計(jì)的詢問語言報(bào)告生成器。數(shù)據(jù)定義包括定義關(guān)系、撤銷關(guān)系、定義索引和重新定義索引等。Informix不僅可以建立數(shù)據(jù)庫,還可以方便地重構(gòu)數(shù)據(jù)庫,系統(tǒng)的保護(hù)措施十分健全,不僅能使數(shù)據(jù)得到保護(hù)而不被權(quán)限外的用戶存取,且能重新建立丟失了的文件及恢復(fù)被破壞了的數(shù)據(jù)。其文件的大小不受磁盤空間的限制,域的大小和記錄的長度均可達(dá)2K。采用加下標(biāo)順序訪問法,Informix與COBOL軟件兼容,并支持C語言程序。 Informix可移植性強(qiáng)、兼容性好,在很多微型計(jì)算機(jī)和小型機(jī)上得到應(yīng)用,尤其適用于中小型企業(yè)的人事、倉儲(chǔ)及財(cái)務(wù)管理。

  Orcale數(shù)據(jù)庫

  美國Orcale公司研制的一種關(guān)系型數(shù)據(jù)庫管理系統(tǒng),是一個(gè)協(xié)調(diào)服務(wù)器和用于支持任務(wù)決定型應(yīng)用程序的開放型RDBMS。它可以支持多種不同的硬件和操作系統(tǒng)平臺(tái),從臺(tái)式機(jī)到大型和超級(jí)計(jì)算機(jī),為各種硬件結(jié)構(gòu)提供高度的可伸縮性,支持對(duì)稱多處理器、群集多處理器、大規(guī)模處理器等,并提供廣泛的國際語言支持。 Orcale是一個(gè)多用戶系統(tǒng),能自動(dòng)從批處理或在線環(huán)境的系統(tǒng)故障中恢復(fù)運(yùn)行。系統(tǒng)提供了一個(gè)完整的軟件開發(fā)工具Developer2000,包括交互式應(yīng)用程序生成器、報(bào)表打印軟件、字處理軟件以及集中式數(shù)據(jù)字典,用戶可以利用這些工具生成自己的應(yīng)用程序。Orcale以二維表的形式表示數(shù)據(jù),并提供了SQL(結(jié)構(gòu)式查詢語言),可完成數(shù)據(jù)查詢、操作、定義和控制等基本數(shù)據(jù)庫管理功能。Orcale具有很好的可移植性,通過它的通信功能,微型計(jì)算機(jī)上的程序可以同小型乃至大型計(jì)算機(jī)上的Orcale,并且能相互傳遞數(shù)據(jù)。另外Orcale還具有與C語言的接電子表格、圖形處理等軟件。 Orcale屬于大型數(shù)據(jù)庫系統(tǒng),主要適用于大、中小型應(yīng)用系統(tǒng),或作為客戶機(jī)/服務(wù)器系統(tǒng)中服務(wù)器端的數(shù)據(jù)庫系統(tǒng)。

  DB2數(shù)據(jù)庫

  IBM公司研制的一種關(guān)系型數(shù)據(jù)庫系統(tǒng)。DB2主要應(yīng)用于大型應(yīng)用系統(tǒng),具有較好的可伸縮性,可支持從大型機(jī)到單用戶環(huán)境,應(yīng)用于OS/2、Windows等平臺(tái)下。 DB2提供了高層次的數(shù)據(jù)利用性、完整性、安全性、可恢復(fù)性,以及小規(guī)模到大規(guī)模應(yīng)用程序的執(zhí)行能力,具有與平臺(tái)無關(guān)的基本功能和SQL命令。DB2采用了數(shù)據(jù)分級(jí)技術(shù),能夠使大型機(jī)數(shù)據(jù)很方便地下載到LAN數(shù)據(jù)庫服務(wù)器,使得客戶機(jī)/服務(wù)器用戶和基于LAN的應(yīng)用程序可以訪問大型機(jī)數(shù)據(jù),并使數(shù)據(jù)庫本地化及遠(yuǎn)程連接透明化。 它以擁有一個(gè)非常完備的查詢優(yōu)化器而著稱,其外部連接改善了查詢性能,并支持多任務(wù)并行查詢。 DB2具有很好的網(wǎng)絡(luò)支持能力,每個(gè)子系統(tǒng)可以連接十幾萬個(gè)分布式用戶,可同時(shí)激活上千個(gè)活動(dòng)線程,對(duì)大型分布式應(yīng)用系統(tǒng)尤為適用。

  SQL Server數(shù)據(jù)庫

  Microsoft公司推出的一種關(guān)系型數(shù)據(jù)庫系統(tǒng)。SQLServer是一個(gè)可擴(kuò)展的、高性能的、為分布式客戶機(jī)/服務(wù)器計(jì)算所設(shè)計(jì)的數(shù)據(jù)庫管理系統(tǒng),實(shí)現(xiàn)了與WindowsNT的有機(jī)結(jié)合,提供了基于事務(wù)的企業(yè)級(jí)信息管理系統(tǒng)方案。

  其主要特點(diǎn)如下:

  (1)高性能設(shè)計(jì),可充分利用Windows的優(yōu)勢(shì)。

  (2)系統(tǒng)管理先進(jìn),支持Windows圖形化管理工具,支持本地和遠(yuǎn)程的系統(tǒng)管理和配置。

  (3)強(qiáng)壯的事務(wù)處理功能,采用各種方法保證數(shù)據(jù)的完整性。

  (4)支持對(duì)稱多處理器結(jié)構(gòu)、存儲(chǔ)過程、ODBC,并具有自主的SQL語言。 SQLServer以其內(nèi)置的數(shù)據(jù)復(fù)制功能、強(qiáng)大的管理工具、與Internet的緊密集成和開放的系統(tǒng)結(jié)構(gòu)為廣大的用戶、開發(fā)人員和系統(tǒng)集成商提供了一個(gè)出眾的數(shù)據(jù)庫平臺(tái)。

  Sybase數(shù)據(jù)庫

  美國Sybase公司研制的一種關(guān)系型數(shù)據(jù)庫系統(tǒng),是一種典型的UNIX或Windows平臺(tái)上客戶機(jī)/服務(wù)器環(huán)境下的大型數(shù)據(jù)庫系統(tǒng)。 Sybase提供了一套應(yīng)用程序編程接口和庫,可以與非Sybase數(shù)據(jù)源及服務(wù)器集成,允許在多個(gè)數(shù)據(jù)庫之間復(fù)制數(shù)據(jù),適于創(chuàng)建多層應(yīng)用。系統(tǒng)具有完備的觸發(fā)器、存儲(chǔ)過程、規(guī)則以及完整性定義,支持優(yōu)化查詢,具有較好的數(shù)據(jù)安全性。Sybase通常與SybaseSQLAnywhere用于客戶機(jī)/服務(wù)器環(huán)境,前者作為服務(wù)器數(shù)據(jù)庫,后者為客戶機(jī)數(shù)據(jù)庫,采用該公司研制的PowerBuilder為開發(fā)工具,在我國大中型系統(tǒng)中具有廣泛的應(yīng)用。美國Sybase公司研制的一種關(guān)系型數(shù)據(jù)庫系統(tǒng),是一種典型的UNIX或Windows平臺(tái)上客戶機(jī)/服務(wù)器環(huán)境下的大型數(shù)據(jù)庫系統(tǒng)。 Sybase提供了一套應(yīng)用程序編程接口和庫,可以與非Sybase數(shù)據(jù)源及服務(wù)器集成,允許在多個(gè)數(shù)據(jù)庫之間復(fù)制數(shù)據(jù),適于創(chuàng)建多層應(yīng)用。系統(tǒng)具有完備的觸發(fā)器、存儲(chǔ)過程、規(guī)則以及完整性定義,支持優(yōu)化查詢,具有較好的數(shù)據(jù)安全性。Sybase通常與SybaseSQLAnywhere用于客戶機(jī)/服務(wù)器環(huán)境,前者作為服務(wù)器數(shù)據(jù)庫,后者為客戶機(jī)數(shù)據(jù)庫,采用該公司研制的PowerBuilder為開發(fā)工具,在我國大中型系統(tǒng)中具有廣泛的應(yīng)用。

  FoxPro數(shù)據(jù)庫

  最初由美國Fox公司1988年推出,1992年Fox公司被Microsoft公司收購后,相繼推出了FoxPro2.5、2.6和VisualFoxPro等版本,其功能和性能有了較大的提高。 FoxPro2.5、2.6分為DOS和Windows兩種版本,分別運(yùn)行于DOS和Windows環(huán)境下。FoxPro比FoxBASE在功能和性能上又有了很大的改進(jìn),主要是引入了窗口、按紐、列表框和文本框等控件,進(jìn)一步提高了系統(tǒng)的開發(fā)能力。