程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Access數據庫 >> 關於Access數據庫 >> Microsoft數據引擎 MSDE

Microsoft數據引擎 MSDE

編輯:關於Access數據庫

概述
創建應用程序的開發人員面臨著這樣一個選擇:在眾多的數據庫選項中,應該選擇哪一種技術?在選擇一種數據庫技術之前,開發人員需要考慮很多因素。

比如,該應用程序需要支持多少個用戶?所有的用戶是否會同時訪問數據庫系統?該應用程序的開發涉及到哪些費用?如果該應用程序的需求隨著時間的推移而發生變化,該技術是否允許對該數據庫的功能和規模進行擴充?
直到最近,Microsoft推出了兩種數據庫管理方案:Microsoft Jet (即Microsoft Access 數據引擎,該引擎隨同Access 和Microsoft Visual Studio發布) 和 Microsoft SQL Server。由於每一種技術方案都有自身的優勢,同時又存在某些局限性,因此,以前如果要求開發人員選擇這樣一種數據庫技術:使它既滿足從桌面到數據中心環境下運行,而數據庫應用程序又適應長期和短期需要,一般而言是很困難的。由於基於Jet的解決方案具有易於使用和開發成本低的優點,因此,對於桌面或者共享的應用程序而言,它是一種很不錯的選擇。然而,開發人員發現:隨著應用系統規模的擴大,在他們將Jet應用程序移植到SQL Server的平台之前,需要對程序代碼進行大量的修改。值得開發人員高興的是:隨著一個與SQL Server 兼容的數據引擎—Microsoft 數據引擎(MSDE)的發布,開發人員可以選用一種新的方式來創建基於桌面和共享環境的數據庫應用程序。利用MSDE,開發人員可以創建自由分布的桌面和共享的數據庫解決方案。當需要對系統的規模進行擴充時,采用這種解決方案的數據庫應用程序可以很容易地移植到SQL Server中。
數據引擎涉及哪些技術
從本質上講,一個處於運行狀態的“數據引擎”就是一個核心進程。一個數據庫管理系統,比如Access 或者 SQL Server,將利用這個核心進程來存儲和管理數據庫中的數據。從這種意義上講,我們通常可以把一個數據引擎看作是一個沒有相應的圖形管理工具的數據庫管理系統。數據引擎主要有兩種作用:一是用來存儲數據,二是用來處理其它對象對存儲的信息所提交的請求。我們通常把用來檢索或者更新數據的請求稱作數據庫查詢。
通常,數據引擎與自定義數據庫應用程序一起對客戶機應用程序提交的數據庫請求進行響應。自定義數據庫應用程序是用某種開發工具,比如Microsoft Visual Studio創建的。在這種情況下,由於自定義的數據庫應用程序已經包含了內置的工具對底層的數據庫進行管理,因此,在數據引擎中,就沒有必要包含圖形工具來對數據庫進行管理了。此外,由於數據引擎具有容易分布的特點,開發人員可以將相應的數據引擎包含到自定義應用程序中,在應用程序的安裝過程中,用戶可以通過選取該引擎組件而將其安裝到系統中。
Microsoft數據引擎
Microsoft 數據引擎(MSDE)與SQL Server完全兼容,在以Visual Studio 6.0 或者Access 2000為開發工具所創建的桌面和共享的數據庫解決方案中,該引擎可以用來對數據庫進行處理。對於Visual Studio 6.0 或者 Access 2000開發人員來說, 他們可以在不單獨對MSDE進行注冊的情況下發布使用MSDE創建的數據庫應用程序。MSDE用到了SQL Server提供的一些技術,並且與SQL Server 7.0完全兼容。在Access 2000中,MSDE是代替Jet(Access 2000數據庫使用的缺省引擎)的理想選擇。此外,對於Visual Studio 6.0開發人員而言,如果他們想創建自定義的數據庫應用程序,並且希望在這些自定義的應用程序中使用與SQL兼容的的數據庫,那麼,他們可以通過采用MSDE作為數據引擎的方式來達到這一目的。MSDE與SQL的兼容性意味著:開發人員可以對現有的以MSDE作為數據引擎、桌面和共享的數據庫應用程序代碼不作任何修改,就可以將其移植到SQL Server中。
MSDE以提供某種服務的方式在後台運行。在此,服務指的是以後台進程運行的應用程序。服務與其它的應用程序的運行方式有所不同。比如,只要用戶通過從“開始”菜單選取“啟動”選項,對應的應用程序就可以投入運行。但對於服務而言,如MSDE,情況就不是這樣。它們的啟動和關閉通常是由操作系統來完成的。以MSDE作為數據引擎的桌面和共享的數據庫應用程序通常具有以下限制:在數據庫應用程序存活期間,MSDE服務應該處於運行狀態。一般而言,使用服務的對象是其它應用程序,而不是終端用戶。一般情況下,服務在後台運行,當它接收到客戶機應用程序向它提交的處理請求時,它就轉去執行相應的請求。對於MSDE來說,這些請求是一些將要對數據庫執行的操作。由於使用服務的對象是客戶機應用程序,而不是終端用戶,因此服務不需要有用戶界面。在Access 2000中創建的一個工程或者一個Visual Basic應用程序可以直接與某個服務進行交互。對於MSDE而言,這些客戶機應用程序充當了用戶界面。
MSDE的特性:
* 完全與Microsoft SQL Server 7.0 以及以前的版本相兼容。
* 對於Visual Studio 6.0 或者 Microsoft Office 2000 開發人員而言,他們可以將基於MSDE的數據庫應用程序免費發布給最終用戶。
* 可以在Windows 95, Windows 98, Windows NT, 以及Windows 2000 (Intel 和 Alpha)平台上運行。
* 具有客戶機/服務器的體系結構(MSDE在數據庫服務器,而不是在客戶機上執行對數據庫的操作)。
* 以提供服務的方式在後台運行。
* 在數據庫的開發過程中,開發人員不需要為該引擎創建相應的用戶界面。其它應用程序,比如用Access 2000 或者 Visual Basic開發的自定義應用程序需要為數據庫提供相應的用戶界面.
Jet 4.0
Jet 4.0是在Microsoft Access 2000中使用的缺省的數據引擎。在Visual Studio 6.0 開發工具包中,也包含了這一引擎。Jet是基於文件的數據庫管理系統。這種類型的數據庫管理系統具有如下特點:系統中的數據庫包含在一個獨立的數據庫文件中,並且對數據庫的讀寫操作是由客戶機控制的。Jet 可以在多用戶的環境下使用,並且開發人員還能夠將采用Jet作為引擎的數據庫應用程序擴充為桌面和共享的數據庫應用程序。Microsoft Access為Jet數據引擎提供了一個易於使用的界面。開發人員還可以利用 Visual Basic或者其它開發工具來創建自定義的前端應用程序,在這些應用程序中,包含了以Jet作為引擎的數據庫。
SQL Server
SQL Server是一個基於客戶機/服務器模式的數據庫管理系統。與基於文件的數據庫中使用的引擎不同,在基於客戶機/服務器模式的數據庫管理系統中,數據引擎將負責管理數據庫的讀寫操作。由於這一特性,基於客戶機/服務器模式的數據庫管理系統,比如SQL Server,可以在很大的程度上提高系統能夠處理的並發用戶數和數據量。當前,企業中使用的大型數據庫應用程序需要支持的並發用戶數和處理的數據量在不斷增加,SQL Server就是為滿足這一迫切需要而設計的。這些數據庫應用程序包括在今天已經實現和在將來還需要進一步改進的企業管理系統和決策支持系統。SQL Server具有各種發行版本,以滿足在不同的環境下對處理的數據量、並發用戶數和硬件的不同要求。
數據庫與SQL的兼容性
數據庫與SQL的兼容性指的是,數據庫在多大程度上與用來進行數據庫通信的ANSI結構化查詢語言(ANSI-SQL)行業標准保持一致。MSDE 和 SQL Server兩者都遵從Transact-SQL (T-SQL)中定義的語言規范,而Jet則沒有采用這種規范。與此不同的是,Jet定義並實現了它自己的一套查詢語言。在這種查詢語言中,Jet可以調用Visual Basic應用程序(VBA)中的函數過程。Transact-SQL是一套定義完善的語言,開發人員可以通過這種語言來進行數據庫應用程序和數據庫服務器之間的通信,並能夠對數據庫服務器進行編程處理。Transact-SQL是ANSI-SQL的一個超集,利用Transact-SQL,開發人員可以通過對服務器進行編程的方式來使服務器執行一些定制的事務邏輯處理。用戶可以通過在客戶端調用這些以事件或者消息的方式驅動的事務邏輯處理過程,而實際執行時,這些邏輯處理過程則是在服務器上完成的。MSDE與Transact-SQL的語言規范保持一致意味著:MSDE中的對象不加修改就能夠在SQL Server中運行。因此,在這一點上,MSDE要優越於Jet。
如何選擇數據引擎
如果你手頭的數據庫應用程序的功能和規模已經不能滿足數據庫系統的需求,你可能准備新建一個基於功能強大的數據引擎的應用程序,也可能打算通過使用一個新的數據引擎來代替原來的引擎的方式對現有的數據庫應用程序進行移植,不管你采用哪一種方式,對現有的條件和計劃使用的每一種數據引擎的特性進行一定的了解是非常重要的。那麼,你到底應該選擇哪種數據引擎呢?如果你希望創建桌面和共享的數據庫應用程序,那麼,你可以考慮用MSDE來代替Jet。在本節中,我們討論了在開發的過程中很多數據庫應用程序對系統提出的需求,另外,我們還提供了一些建議,以告訴開發人員如何選擇一個合適的數據引擎,使該引擎能夠在最大程度上滿足他們將要創建的工程需求。
數據庫應用程序的需求
表1列出了在企業環境下運行的數據庫應用程序的需求,並說明了每一種數據引擎在多大程度上能夠滿足這些需求。如果你的應用程序在當前(或者在將來會)具有在表1最左邊的一列中所給出的任何需求,你就應該考慮用MSDE來代替Jet作為數據庫的引擎了。
在哪些情況下應選擇MSDE作為數據庫系統的引擎
在以下兩種情況下,我們可以選用MSDE作為數據庫應用程序的引擎。一是用MSDE 代替Jet來移植現有的數據庫應用程序,以提高它的可伸縮性。二是以MSDE作為引擎來創建桌面和共享的數據庫應用程序,當系統的規模擴大時,這些數據庫能夠很容易地移植到SQL Server。
MSDE與SQL Server的兼容性
MSDE數據引擎與SQL Server完全兼容

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved