VC++數據庫技術系列(一)數據庫基礎知識

 

我們知道程序界有一個著名公式是:程序=數據+算法。這充分說明了數據在程序設計中的重要地位。而當數據規模達到一定程度的時候,爲了達到數據的快速存儲和快速訪問,就必須使用數據庫(Database)來進行數據的存儲。因爲數據庫是按照數據結構來組織、存儲和管理數據的倉庫,利用數據庫進行存儲具有存儲訪問快速、管理方便、合理組織、減少數據的冗餘度等優勢。

 

數據庫有很多種類型,從最簡單的存儲有各種數據的表格到能夠進行海量數據存儲的大型數據庫系統都在各個方面得到了廣泛的應用。數據庫模型有層次結構模型、網狀結構模型、關係結構模型,本篇章主要介紹應用範圍最廣泛的關係型數據庫的訪問技術。

 

Visual C++數據庫開發的特點

一、              豐富的數據庫訪問技術可供選擇

Visual C++6.0提供了多種多樣的數據庫訪問技術—ODBC APIMFC ODBCDAOOLE DBADO等。這些技術各有特點,用戶可按自己的技術熟練程度及項目特點選擇適合自己的開發技術。

二、              VC提供的可視化嚮導功能簡化開發過程

利用VC提供的AppWizardClassWizard,用戶可以方便地開發出性能優良的基於MFC的數據庫應用程序。你甚至不需要編寫一句代碼,直接通過鼠標點選就能生成一個完整的簡單數據庫應用程序。

三、              強大的IDE編譯器大大提高了開發的效率。

VCIDE是目前世界上功能最強大的編譯器之一。利用該IDE所提供的各種輔助工具可方便快速的進行程序編寫、編譯、鏈接、調試程序,相比一般的編譯器在效率上有明顯提高。

四、              開發方式靈活,開發難度適中

Visual C++進行數據庫開發,可選擇的開發方式多種多樣。既可進行面向過程的開發,也可按面向對象的方式進行開發。既可直接調用匯編的代碼,也可以通過DLL動態庫的方式與其它程序語言進行混合編程。豐富的類庫及COM庫爲開發提供了強大的支持。

五、              良好的架構使其具有較好的可擴展性

Visual C++具有面向對象編程的特性。通過抽象性、繼承、重載、多態等特性,面向接口編程,可使整個數據庫系統具有良好的架構,支持良好的擴展性。利用面向接口編程及COM組件編程技術,各個部件可進行無縫替換,極大的提高了程序的可擴展性及健壯性。

六、              程序執行效率高,運行速度快

 

我們知道,C++語言在高級語言裏是屬於與機器語言比較接近的語言,所以它的執行效率一般來說僅次於彙編語言。而且在執行效率要求比較高的地方,可以直接內嵌彙編,這大大提高了程序的執行效率。而且Visual C++更通過代碼優化技術,可讓程序的執行效率提高百分之十幾。這是其它高級語言所無法比擬的。

 

Visual C++數據庫開發技術

 

如前所述,Visual C++爲數據庫開發提供了多種多樣的技術支持。用戶可供選擇的數據庫訪問技術包括ODBCOpen DataBase Connectivity)、MFC ODBC(Microsoft Foundation Classes ODBC)DAO (Data Access Object)OLE DB(Object Link and Embedding DataBase)ADO(ActiveX Data Object)。這些技術都有各自的特點,適用範圍也不盡相同,所以用戶一般需要根據技術的特點和項目的特徵進行恰當的選擇。

1ODBC

優點:ODBC是客戶應用程序訪問關係數據庫時提供的一個統一的接口,ODBC提供了一套統一的API應對不同的數據庫訪問,這樣使應用程序可以只針對ODBCAPI來進行程序編寫,就可訪問任何提供了ODBC驅動程序的數據庫。此外,ODBC還是一種業界標準,幾乎所有的關係數據庫都提供了相應的ODBC驅動程序,所以具有廣泛的應用。

缺點:不過由於ODBC只能用於關係型數據庫,使得ODBC很難訪問對象數據庫及其它非關係型數據庫。而且由於ODBC是一個接口層,需要爲各種不同的數據庫提供適應性,必然會使效率有所降低。此外,在使用ODBC時需要向系統註冊一個數據源,這增加一定的配置難度。還需要通過大量的ODBC統一接口API來對數據庫訪問,也提高了一定的開發難度。

2MFC ODBC

優缺點:因爲MFC ODBC只是通過MFC類庫MFC ODBCODBCAPI進行了一層簡單封裝,使API更容易被使用,所以它的優缺點就跟ODBC一樣,只是降低了一定的開發難度。

3DAO

優點:DAO(數據訪問對象)是一種應用程序編程接口(API),它是微軟提供的用於訪問Microsoft Jet數據庫文件(*.mdb)的強有力的數據庫開發工具。DAO是微軟的第一個面向對象的數據庫接口,各個DAO對象協同工作。通過Jet函數,它還可以訪問其他的結構化查詢語言(SQL)數據庫。因爲DAO直接內嵌在ACCESS運行環境中,DAO是訪問mdb文件有最高效率的數據庫引擎。MFC也提供了一組DAO類,封裝了底層的API,而且VC嚮導也提供了對DAO的支持,從而大大簡化了程序的開發。此外不必在ODBC管理器中註冊DSN

缺點:DAO是基於Microsoft Jet引擎的,只能訪問Jet引擎支持的桌面數據庫。所以要訪問Sql Server必須通過ODBC來進行訪問。

4OLE DB

優點:OLE DBVisual C++開發數據庫應用中提供的新技術。OLE DB對所有的文件系統包括關係數據庫和非關係數據庫都提供了統一的接口。所以使用OLE DB可以對大部分數據庫進行廣泛的支持。同時它是低級應用程序接口,所以在效率上比ODBC高。

缺點:直接使用OLE DB來設計數據庫應用程序需要大量的代碼。即便可以通過ATL模板來減少一定的工作量,其開發難度也是相對較大的。可以說,他是所有數據庫編程接口中難度最大的。

5ADO

優點:ADO是一種面向對象的編程接口,它向我們提供了一個熟悉的,高層的對OLE DBAutomation封裝接口。它繼承了OLE DB技術的優點,具有易於使用、訪問效率高、功能強大的特點。因爲是面向對象的,內部通過各個對象相互作用實現。既可訪問關係型數據庫,也可訪問非關係型數據庫。

 

缺點:唯一缺點應該是基於COM技術,所以不能跨平臺使用,只能用在支持COM接口的機器上,也就是微軟的視窗系統了。對於使用VC++來進行開發的話,也不能算是一個缺點了。

 

 

VC++數據庫技術系列(二)

發佈了64 篇原創文章 · 獲贊 102 · 訪問量 138萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章