Web數據庫技術課件_第1頁
Web數據庫技術課件_第2頁
Web數據庫技術課件_第3頁
Web數據庫技術課件_第4頁
Web數據庫技術課件_第5頁
已閱讀5頁,還剩102頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第8章 Web數據庫技術數據庫原理及應用本章引入 在Internet的熱潮席卷之下,原本在單機或局域網中使用的數據庫逐步移植至Internet中,Web技術與數據庫管理系統(tǒng)(DBMS)相互融合成為必然趨勢,數據庫廠家和Web公司紛紛推出各自的產品和中間件支持Web技術和DBMS的融合,將兩者取長補短,發(fā)揮各自的優(yōu)勢,使用戶可以在Web瀏覽器上方便地檢索數據庫的內容。Web數據庫得以迅猛發(fā)展起來。 本章教學內容Web數據庫的產生與發(fā)展1Web數據庫系統(tǒng)的體系結構2Web數據庫訪問技術3數據庫訪問接口4動態(tài)頁面開發(fā)技術58.1 Web數據庫的產生與發(fā)展第8章 Web數據庫技術教學內容萬維網WWW1

2、Web數據庫2Web數據庫的發(fā)展階段3一、萬維網WWW 萬維網WWW(World Wide Web,簡稱為Web)是歐洲粒子物理實驗室的Tim Berners-Lee于1989年3月提出的。1、什么是萬維網WWW 萬維網WWW并非某種特殊的計算機網絡,而是一個大規(guī)模的、聯機式的信息儲藏所,是一個基于超文本方式的信息檢索服務工具。萬維網WWW將全世界Internet上不同地點的許多信息資源有機地組織在一起,連結成一個信息網,通過鏈接的方法(超鏈接)能夠非常方便地從Internet上的一個站點訪問另一個站點,從而主動地按需獲取豐富的信息。 2、萬維網最大的特點 萬維網最大的特點是擁有非常友善的圖形

3、界面,非常簡單的操作方法,以及圖、文、聲、像并茂的顯示方式。 3、萬維網的組成萬維網由分布在全球各地的Web節(jié)點組成;Web節(jié)點由Web服務器維護和管理的多個Web頁面組成;頁面是可以包含文本、表格、圖像、動畫、聲音、3D世界,以及其它任何信息的超媒體文檔,每個Web節(jié)點都有進入該節(jié)點的起始頁面,稱為該節(jié)點的“主頁”;頁面與頁面之間通過超鏈接相連,可以從一個頁面通過超鏈接進入同一節(jié)點或其它節(jié)點上的另一頁面。 4、萬維網的標準 萬維網的成功在于其制定了一套簡單易用的統(tǒng)一標準,包括:信息資源的統(tǒng)一資源定位符(Uniform Resource Locator,簡寫為URL)超文本標記語言(Hyper

4、Text Markup Language,簡寫為HTML)超文本傳輸協議(HyperText Transfer Protocol,簡寫為HTTP)萬維網使用統(tǒng)一資源定位符URL來標識網上的各種資源,并使每一個資源在整個Internet的范圍內具有唯一的標識符URL。萬維網使用超文本標記語言HTML作為制作萬維網頁面的標準語言,消除了不同計算機之間信息交流的障礙,使任何一臺計算機都能顯示出任何一個萬維網服務器上的頁面。萬維網以客戶機/服務器方式工作??蛻魴C與服務器之間通過超文本傳輸協議HTTP通信。HTTP協議定義了瀏覽器怎樣向Web服務器請求萬維網文檔,以及服務器怎樣把文檔傳送給瀏覽器,它是萬

5、維網上能夠可靠地交換文件的重要基礎。二、Web數據庫 在傳統(tǒng)的Web服務中,文本和其他多媒體信息都是以文件的形式來進行存儲和管理的,隨著Web應用領域的不斷擴展、信息量的不斷增加,靜態(tài)的Web頁面越來越不能滿足人們對Web信息服務的動態(tài)性、實時性和交互性的要求。為了進行網絡上數據的高效存取,實現交互式動態(tài)Web頁面,就必須以大量數據資源為基礎,因此必然要在Web中引入數據庫。 1、Web數據庫的概念 從Web的角度來看待數據庫,Web數據庫是指將數據庫技術與Web技術融合,使數據庫成為Web的重要組成部分的數據庫。就是用戶利用瀏覽器作為輸入界面,輸入必要的數據,瀏覽器將這些數據傳送至網站,網站

6、再對輸入數據實施處理,并將其執(zhí)行的結果返回給瀏覽器,通過瀏覽器將最終執(zhí)行結果提交給用戶。 可以簡單地認為:Web數據庫就是Internet數據庫。 1、Web數據庫的概念 Web數據庫不僅集合了Web技術和數據庫技術的優(yōu)點,而且使二者都發(fā)生了質的變化:Web網頁從靜態(tài)網頁發(fā)展成了由數據庫驅動的動態(tài)網頁,而數據庫實現了開發(fā)環(huán)境和應用環(huán)境的分離,用戶端可以用統(tǒng)一的瀏覽器實現跨平臺和多媒體服務。 2、通過WWW訪問數據庫的優(yōu)點(1)借用現成的瀏覽器軟件,無需開發(fā)數據庫前端。(2)標準統(tǒng)一,開發(fā)過程簡單。 (3)交叉平臺支持。三、Web數據庫的發(fā)展階段 Web數據庫發(fā)展到現在,經歷了三個發(fā)展階段。 1

7、、第一階段第一階段:Web數據庫提供靜態(tài)訪問和靜態(tài)內容應用。 早期的Web數據庫提供靜態(tài)文檔的管理和訪問:程序員根據數據庫內容用HTML編寫Web頁面,用戶對數據庫的訪問實際是對該靜態(tài)HTML文檔的訪問。第一階段Web數據庫是在還沒有出現Web數據庫訪問技術的時候產生的,基本只是Web技術。缺點:不能實時訪問,數據庫維護工作量很大。2、第二階段第二階段:Web數據庫提供靜態(tài)訪問和動態(tài)內容應用,實現基于數據庫的動態(tài)文檔的管理和訪問。 在第二階段的Web數據庫中,使用通用Web網關接口編程,使數據庫能與Web服務器直接連接,實時動態(tài)地將數據庫的信息反映在頁面上 。用戶訪問的是靜態(tài)的HTML文檔,但

8、文檔內容是隨著數據庫而改變的動態(tài)內容。 缺點:不能保持數據庫連接狀態(tài),存在性能瓶頸,缺少擴展性和保密性 3、第三階段第三階段:Web數據庫除了提供第二代Web數據庫的功能外,還能提供基于Web的聯機事務處理能力,在Web的客戶端與服務器端實現了動態(tài)和個性化的交流和互動。 第三階段的Web數據庫使所有對數據庫的操作(增加、刪除、修改)、信息的查詢和管理都通過統(tǒng)一標準的Internet瀏覽器界面來進行,更加適應Internet技術的發(fā)展和網絡互連的需要。 8.2 Web數據庫系統(tǒng)的體系結構第8章 Web數據庫技術教學內容數據庫的客戶機/服務器體系結構1基于瀏覽器/服務器模式的Web數據庫2引入 數

9、據庫系統(tǒng)的體系結構是指在計算機系統(tǒng)環(huán)境下數據庫管理系統(tǒng)及其數據庫應用系統(tǒng)的體系結構。數據庫系統(tǒng)的體系結構與數據庫系統(tǒng)的應用環(huán)境是密切相關的,隨著計算機技術的發(fā)展以及數據庫系統(tǒng)應用環(huán)境的演變,數據庫系統(tǒng)的體系結構也在不斷地演變。 隨著計算模式經歷了集中式模式、C/S模式和B/S模式三個階段的發(fā)展,數據庫系統(tǒng)也隨之出現了相應的體系結構。 一、數據庫的客戶機/服務器體系結構1、客戶機/服務器體系結構 客戶機/服務器( C/S )結構是以計算機網絡環(huán)境為基礎,將計算任務有機地分配給多臺計算機的計算模式??蛻魴C/服務器結構由三部分組成:客戶機、服務器、客戶機和服務器之間的連接支持。 1、客戶機/服務器體

10、系結構1)客戶機 客戶機一般是一臺面向最終用戶,運行前端應用程序且提供外圍開發(fā)工具,并通過網絡獲得服務器服務的微型計算機。2)服務器 服務器一般是具有高檔硬件資源和高性能軟件資源的多用戶計算機系統(tǒng)。3)連接支持 是一種實現客戶機和服務器之間連接和通信的標準網絡接口和標準軟件接口。 2、客戶機/服務器結構數據庫系統(tǒng) 客戶機/服務器結構的數據庫系統(tǒng)是把DBMS功能和應用分開,使網絡中某個(些)結點上的計算機專門用于執(zhí)行DBMS的功能,稱為數據庫服務器。其它結點上的計算機安裝DBMS的外圍開發(fā)工具,支持用戶的應用,稱為客戶機(或應用服務器)。二者相結合、協同工作。其基本思想是服務器資源共享,但功能是

11、分布的。它把單機環(huán)境下的DBMS功能在網絡(包括多臺計算機)環(huán)境下進行合理的分布,在客戶機和服務器之間作適當的配置。 2、客戶機/服務器結構數據庫系統(tǒng) 客戶機1應用程序1客戶機2應用程序2客戶機n應用程序n網絡中間軟件DBMSDB網絡數據庫服務器在服務器一端完成DBMS的核心功能,包括接收來自客戶端的數據庫請求;處理數據庫請求;進行安全性確認和完整性檢查等。在客戶端放置應用開發(fā)工具,完成管理用戶界面;接受用戶數據;處理應用任務;生成數據庫請求并向服務器發(fā)出數據庫請求;從服務器接受結果并格式化結果等。網絡中間軟件則遵循一定標準,負責透明地連接客戶機與服務器,提供了訪問數據庫的統(tǒng)一界面。二、基于瀏

12、覽器/服務器模式的Web數據庫 瀏覽器/服務器( B/S )計算模式是隨著Internet技術的迅猛發(fā)展而發(fā)展起來的一種新型的網絡計算模式。B/S結構是Internet技術和數據庫技術相結合的過程中形成的數據庫系統(tǒng)體系結構。B/S結構代表了當前數據庫應用軟件技術發(fā)展的趨勢,是目前人們開發(fā)Web數據庫系統(tǒng)普遍采用的數據庫系統(tǒng)結構。 B/S結構是C/S結構的繼承和發(fā)展,從本質上講,B/S計算模式和C/S計算模式都是一種請求/應答方式,但C/S計算模式需要在客戶機上裝載大量的應用軟件,負擔較重;而B/S計算模式是一種基于Hyperlink(超鏈接)、HTML(超文本標記語言)、Java的三層C/S結

13、構,客戶機上只需安裝單一的瀏覽器軟件,負擔很輕,因此是一種全新的體系結構。1、B/S結構概述 B/S結構將數據處理過程分為表示層、功能層和數據層三部分,分別由Web瀏覽器、具有應用程序擴展功能的Web服務器和數據庫服務器實現。 瀏覽器瀏覽器瀏覽器網絡數據庫服務器DBWeb服務器DBSQL請求回送結果表示層功能層數據層2、三層B/S結構的數據庫系統(tǒng)表示層位于客戶端。表示層的任務是由Web瀏覽器向網絡上的某一Web服務器提出服務請求,Web服務器用超文本傳輸協議和超文本標記語言來描述和組織信息,把所需的主頁傳送給客戶端,客戶機接受傳來的主頁文件,并把它顯示在Web瀏覽器上。功能層位于第二層。功能層

14、的任務是接受用戶的請求,與數據庫進行連接,通過SQL等方式向數據庫服務器提出數據處理申請,并將數據庫服務器的數據處理結果傳送回客戶端。數據層位于第三層。數據層的任務是接受Web服務器對數據庫操縱的請求,實現對數據庫查詢、修改、更新等功能,把運行結果提交給Web服務器。 在B/S結構中,可將數據庫服務器端進一步分解成一個Web服務器和一個或多個數據庫服務器。 3、多層B/S結構的數據庫系統(tǒng) 瀏覽器1瀏覽器2瀏覽器n數據庫服務器DB網絡Web服務器DB應用服務器(Web)應用服務器(Web)(1)規(guī)范和統(tǒng)一了客戶端程序的標準瀏覽器模式,減輕了客戶端的壓力,解決了C/S結構中客戶端程序的異構性和跨平

15、臺性。(2)將用戶交互、應用業(yè)務處理和數據管理三者相互徹底分離,從而方便進行嚴格的安全管理、提高程序的可維護性,使其各自完成其擅長和應該完成的任務。(3)在表示層對數據的輸入進行分析檢查,可盡早消除錯誤輸入,減少網上傳輸的數據量,加快響應速度。 4、B/S結構數據庫系統(tǒng)的優(yōu)點 (4)軟件維護開銷能夠大大降低。(5)充分發(fā)揮了DBMS高效的數據存儲和數據管理能力,把傳統(tǒng)的數據庫訪問、存取和維護等技術應用于Internet的Web之上,實現了更大程度和更大范圍的數據庫資源共享。 4、B/S結構數據庫系統(tǒng)的優(yōu)點 8.3 Web數據庫訪問技術第8章 Web數據庫技術教學內容對Web數據庫訪問技術的要求

16、1Web數據庫訪問技術的種類2Web數據庫設計的一般過程3引入 Web數據庫系統(tǒng)的主要目的是要實現Web與數據庫的連接以產生基于數據庫的動態(tài)頁面,這要通過Web訪問數據庫來實現,相關的技術我們稱之為Web數據庫訪問技術(也稱為動態(tài)頁面技術)。 一、對Web數據庫訪問技術的要求(1)高效性(2)安全性 (3)客戶端的簡潔性 (4)開放性(異構性)(5)可擴展性 二、Web數據庫訪問技術的種類1、基于中間件的Web數據庫系統(tǒng) 2、基于客戶端的Web數據庫系統(tǒng) 3、上述兩種方法的組合 1、基于中間件的Web數據庫系統(tǒng) 是在Web服務器端提供中間件來連接Web服務器和數據庫服務器,常用的中間件技術有通

17、用網關接口(CGI)、應用程序編程接口(WebAPI)、ODBC、JDBC、ADO、ADO.NET等。Web瀏覽器Web服務器中間件(CGI、API、ODBC、JDBC、ADO、ADO.NET等)數據庫這些技術的特點是采用Web服務器作為通信中介,由Web服務器啟動應用程序,并由應用程序完成數據庫的訪問,結果信息再經Web服務器返回客戶端瀏覽器。2、基于客戶端的Web數據庫系統(tǒng) 是把應用程序下載到客戶端運行,在客戶端直接訪問數據庫服務器,例如:Java Applet等。 Web瀏覽器Web服務器客戶端應用(Java Applet)數據庫請求下載訪問數據庫響應3、上述兩種方法的組合 第三種方式可

18、看成是上述兩種方法的組合。在服務器端提供中間件,同時將應用程序的一部分下載到客戶端,并在客戶端通過Web Server及中間件訪問數據庫。 這些方案各有其優(yōu)缺點,用戶可以根據具體需要,選擇相應的技術。目前采用最多的解決方案是第一種。 三、Web數據庫設計的一般過程1、Web數據庫的環(huán)境Web數據庫的環(huán)境硬件元素軟件元素包括Web服務器、客戶機、數據庫服務器、網絡 客戶端必須有能夠解釋執(zhí)行HTML代碼的瀏覽器; Web服務器中必須具有能執(zhí)行可以自動生成HTML代碼的程序的功能,如ASP、CGI等; 后臺具有能自動完成數據操作指令的數據庫系統(tǒng),如Access、SQL Server等2、設計過程 W

19、eb數據庫設計的一般過程:(1)建立網站服務器;(2)選擇作為Web數據庫的數據庫管理系統(tǒng),設計和創(chuàng)建數據庫;(3)設計數據庫訪問接口;(4)設計Web數據庫應用程序;(5)檢測、調試。8.4 數據庫訪問接口第8章 Web數據庫技術教學內容 CGI2 WebAPI3 ODBC4 JDBC5 ADO6 ADO.NET7數據庫訪問接口概述1一、數據庫訪問接口概述 隨著網絡計算模式的發(fā)展,中間件日益成為軟件領域中新的熱點。 1、中間件(1)定義 中間件是一個用API定義的軟件層,是具有強大通信能力和良好可擴展性的分布式軟件管理框架(2)功能 是在客戶機和服務器或者服務器和服務器之間傳送數據,實現客戶

20、機群和服務器群之間的通信。中間件在整個分布式系統(tǒng)中起數據總線的作用,各種異構系統(tǒng)通過中間件有機地結合成一個整體。 1、中間件(3)工作流程 在客戶機里的應用程序需要網絡上某個服務器中的數據或服務時,應用程序需訪問中間件,中間件將查找數據源或服務,并在發(fā)送應用程序請求后重新打包響應,將其傳回應用程序。2、數據庫訪問接口 數據庫訪問接口,即數據庫中間件,是所有中間件中應用最廣、發(fā)展前景最好的一種中間件。 作為前端客戶機和后端數據庫之間的一個中間層,數據庫訪問接口負責接收客戶端的數據請求,做一些簡單處理后,把請求再傳遞給相應的后端數據庫服務器,進行最后的數據處理,然后再將結果由數據庫中間件返回給客戶

21、端。 常用數據庫中間件編程技術有CGI、 WebAPI、ODBC、JDBC、ADO、ADO.NET。 二、CGI 通用網關接口CGI(Common Gate Interface)是最早普遍使用的Web數據庫訪問技術,幾乎所有的Web服務器都支持它。 1、CGI概述 CGI定義了服務器和外部應用程序之間的標準通信接口。它打破了服務器軟件的局限性,允許用戶根據需要采用各種語言去實現無法用HTTP、HTML實現的功能,給WWW提供了更為廣闊的應用空間。 2、CGI工作過程Web瀏覽器數據庫CGI接口數據庫服務器(DBMS)Web服務器CGI程序遵循CGI標準編寫的服務器端的可執(zhí)行程序稱為CGI程序C

22、GI的主要功能就是在Web服務器程序和CGI程序之間傳遞信息。(1)Web瀏覽器向Web服務器發(fā)出請求,該請求含請求服務的類型、服務程序路徑、CGI程序名稱及用戶數據等。CGI的工作方式圖 (2)Web服務器通過CGI定義的通信接口,把用戶發(fā)來的請求通過標準輸入,包括環(huán)境變量、命令參數等,發(fā)送給CGI程序。(3)CGI程序解析和處理用戶請求,打開同DBMS的連接,與DBMS交互,按照用戶的需求,對數據庫進行查詢或更新。(4)CGI程序可根據從數據庫中檢索所得到的數據生成動態(tài)的HTML文檔,通過標準輸出將其發(fā)送給Web服務器。(5)Web服務器將HTML文檔返回給Web瀏覽器,然后關閉與服務器的

23、連接。3、利用CGI應用程序連接數據庫的優(yōu)點(1)CGI程序可以用任何程序設計語言編寫,如C、C+、Delphi、Visual Basic或Perl等。(2) CGI的跨平臺性能極佳,CGI的應用程序可以移植到絕大部分操作系統(tǒng)上 。(3) CGI開發(fā)的比較早,相對比較成熟。因此,目前幾乎所有的Web服務器均支持CGI。 4、CGI方法的缺點(1)最大的缺點是需要消耗大量的系統(tǒng)資源。 (2)CGI程序開發(fā)復雜,需要許多底層開發(fā)的知識,編寫比較困難。(3)數據傳輸的方法不穩(wěn)健、效率低下。(4)不具備事務功能。(5)安全性差,缺少用戶訪問控制,對數據庫難以設置安全訪問權限。 三、WebAPI 為了克

24、服CGI的局限性,一種基于共享CGI程序的改進方案應運而生,這就是應用程序編程接口WebAPI。 1、WebAPI概述 WebAPI是某個Web服務器開發(fā)商為其產品用戶開發(fā)類似于CGI程序的服務器端擴展程序所提供的專用編程接口。用戶利用WebAPI可以完成CGI程序所能實現的功能,并且維持服務器較好的性能。 2、WebAPI的優(yōu)缺點 用WebAPI開發(fā)程序,性能大大優(yōu)于CGI程序。 WebAPI的出現解決了CGI的低效問題。但WebAPI的缺陷也是很明顯的:(1)開發(fā)API程序比開發(fā)CGI程序復雜得多;(2)各種不同的API互不兼容,缺乏一個統(tǒng)一的業(yè)界標準,用某種API編寫的程序只能在特定的W

25、eb服務器上運行,使用范圍受到極大的限制。 四、ODBC ODBC是“開放數據庫互連”(Open Database Connectivity)的簡稱,ODBC是Microsoft公司提出的應用程序通用編程接口標準,用于對數據庫的訪問。 ODBC為數據庫用戶和開發(fā)人員屏蔽了異構環(huán)境的復雜性,提供了數據庫訪問的統(tǒng)一接口,為應用程序實現與平臺的無關性和可移植性提供了基礎,因而ODBC獲得了廣泛的支持和應用。 1、ODBC概述 ODBC定義了一個基于SQL的、公共的、與數據庫無關的API(應用程序設計接口),使每個應用程序利用相同的源代碼就可訪問不同的數據庫系統(tǒng),存取多個數據庫中的數據。從而使得應用程

26、序與數據庫管理系統(tǒng)(DBMS)之間在邏輯上可以分離,使應用程序具有數據庫無關性。也就是說,用ODBC生成的程序是與數據庫或數據庫引擎無關的。2、ODBC的組成與結構 ODBC應用體系結構主要由客戶端的數據庫應用程序、ODBC應用程序接口(ODBC API)、ODBC驅動程序管理器(ODBC Driver Manager)、驅動程序(Driver)、數據源(Data Source)、不同RDBMS及其DB構成的數據庫平臺等組成。 ODBC應用程序接口客戶端數據庫應用程序ODBC驅動程序管理器驅動程序1驅動程序2驅動程序n數據源1數據源2數據源nOracle DBMSSybase DBMSSQL

27、Server DBMSOracle DBMSSybase DBMSSQL Server DBMS由應用數據庫設計人員提供由操作系統(tǒng)提供由各數據庫廠商提供客戶端數據庫應用程序提供系統(tǒng)與用戶的界面,是用宿主語言、ODBC函數和SQL語句編寫的訪問數據庫的應用程序。ODBC應用程序接口是一種使用ODBC技術實現應用程序與數據庫互連的標準接口。ODBC驅動程序管理器用于管理系統(tǒng)中存在的各種驅動程序。 驅動程序是一個用于支持ODBC函數調用的模塊,通常是一個動態(tài)鏈接庫DLL。不同RDBMS的驅動程序是不同的。每種數據庫都要向ODBC驅動程序管理器注冊它自己的驅動程序。數據源是驅動程序與數據庫系統(tǒng)連接的橋

28、梁。它不是數據庫系統(tǒng),而是用于表達ODBC驅動程序與DBMS特殊連接的命名。3、ODBC的接口函數 ODBC實質上可以看成是一個由數據庫應用程序訪問的調用函數庫,應用程序通過這些函數可操縱數據庫中的數據。ODBC為應用程序提供的這些調用函數可以分成六組 分配和釋放內存函數 連接函數 執(zhí)行SQL語句函數 接收結果函數 事務控制函數 錯誤處理函數和其他功能函數4、ODBC的基本工作流程(1)初始化建立ODBC環(huán)境(環(huán)境句柄);建立應用程序與數據源的連接建立語句句柄,為ODBC調用執(zhí)行SQL語句作好準備。(2)SQL處理 執(zhí)行SQL語句,對數據庫進行插入、刪除、修改和查詢操作。 (3)終止 通過釋放

29、語句句柄函數、釋放連接句柄函數、釋放環(huán)境句柄函數的執(zhí)行,釋放各種資源。 五、JDBC JDBC是SUN公司針對Java語言提出的與數據庫連接的API標準。與ODBC類似,JDBC是特殊類型的API,這些API支持對數據庫的連接和基本的SQL功能,包括建立數據庫連接、執(zhí)行SQL語句、處理返回結果等。與ODBC不同的是,JDBC為單一的Java語言的數據庫接口。而ODBC不適合直接在Java中使用,因為它使用C語言接口。1、JDBC概述 JDBC由一群類和接口組成,通過調用這些類和接口所提供的方法,Java程序可以連接不同的數據庫,對數據庫下達SQL命令并取得行結果。JDBC主要有兩種接口:面向程

30、序開發(fā)人員的JDBC API和面向底層的JDBC Driver API。JDBC API是面向程序開發(fā)人員的、“對用戶友好的”高級接口,它定義了Java中的類,用來表示數據庫連接、SQL指令、結果集合、數據庫圖元數據等。通過驅動程序管理器,JDBC API可以利用不同的驅動程序連接不同的數據庫系統(tǒng)。JDBC Driver API是面向驅動程序開發(fā)商的基礎接口,在它之上可以建立高級接口和工具。2、JDBC的體系結構 JDBC的體系結構主要由客戶端的Java/JSP應用程序、JDBC應用程序接口(JDBC API)、JDBC驅動程序管理器、JDBC驅動程序、不同的數據庫平臺等組成。 Java/JS

31、P應用程序JDBC APIJDBC驅動程序管理器本地Java APIJDBCODBC橋ODBC驅動DB本地協議純Java驅動程序網絡協議純Java驅動程序DBDBDB與ODBC一樣,JDBC的體系結構同樣有一個JDBC驅動程序管理器作為Java應用程序與數據庫的中介,它把對數據庫的訪問請求轉換和傳送給下層的JDBC驅動程序,或者轉換為對數據庫的固有調用。更多的實現方式是通過JDBC-ODBC橋接驅動程序,轉化為一個ODBC調用,進行對數據庫的操作。這是目前知曉的四種JDBC驅動程序。3、JDBC驅動程序的類型 JDBC驅動程序可分為以下四個種類。(1)JDBC-ODBC橋加ODBC驅動程序(2

32、)本地API (3)網絡協議純Java驅動程序 (4)本地協議純Java驅動程序 (1)JDBC-ODBC橋加ODBC驅動程序 JavaSoft公司的橋產品利用ODBC驅動程序提供JDBC訪問。客戶端JDBC-ODBC橋ODBC驅動程序客戶端鏈接庫服務器數據庫 這類驅動程序的特色是必須在使用者端的計算機上事先安裝好ODBC驅動程序,然后通過JDBC-ODBC的調用方法,把JDBC操作翻譯成對應的ODBC調用,進而通過ODBC類存取數據庫。 (2)本地API 客戶端本地Java API客戶端鏈接庫服務器數據庫 這種類型的驅動程序也必須先在客戶機上安裝好特定的驅動程序,然后通過JDBC本地API橋

33、接器的轉換,把JAVA API調用轉換成特定驅動程序的調用方法,利用客戶機上的本地代碼庫與數據庫直接進行通信。(3)網絡協議純Java驅動程序 通常,這是最為靈活的JDBC驅動程序,能夠發(fā)布到Internet上,與數據庫產品無關。為了支持Internet訪問,必須處理Web所提出的安全性、通過防火墻的訪問等方面的額外要求。 客戶端網絡協議驅動程序服務器數據庫中間層服務器數據鏈接庫 這種驅動程序將JDBC轉換為與DBMS無關的網絡協議,之后這種協議又被某個服務器轉換為一種DBMS協議。這種網絡服務器中間件能夠將它的純Java客戶機連接到多種不同的數據庫上,所用的具體協議取決于提供者。(4)本地協

34、議純Java驅動程序 客戶端數據庫網絡驅動程序服務器數據庫 這種類型的驅動程序將JDBC調用直接轉換為DBMS所使用的網絡協議。它允許從客戶機機器上直接調用DBMS服務器。4、JDBC的工作流程 使用JDBC連接數據庫的基本步驟是: 注冊和加載驅動器; 建立連接; 創(chuàng)建語句對象; 執(zhí)行查詢語句; 查詢結果處理及關閉結果集對象; 關閉語句對象; 關閉連接。六、ADO ActiveX數據對象(ActiveX Data Object,簡寫為ADO)是允許用戶與數據存儲進行交互的組件,是ASP的內置組件之一,通常也稱ADO組件。 1、ADO概述 ADO是Windows的開放服務體系的標準組成部分,是人

35、們廣泛接受的用于數據庫訪問的應用程序接口,是一項容易使用并且可擴展的將數據庫訪問添加到Web頁的技術。 ADO并不是一種新技術,而是采用現有的數據庫訪問技術,并把這些不同的數據庫訪問技術融合在一起,形成一種適應需要的方法,它提供了一個簡單的程序化模型和完善的數據處理功能。 2、ADO對象模型 ADO是采用層次框架實現的,其層次結構如圖所示。Connection對象Error對象Errors集合Command對象Parameter對象Parameters集合Property對象Properties集合Recordset對象Field對象Fields集合Property對象Properties集合

36、Property對象Properties集合Property對象Properties集合 ADO定義了7種獨立的對象:Connection對象、Command對象、Recordset對象、Field對象、Parameter對象、Property對象和Error對象。Connection對象是其他對象與集合的基礎,Connection對象包含了一個Errors集合和一個Error對象,用來記錄連接過程中所發(fā)生的錯誤信息。Command對象包含了一個特有的Parameters集合和一個Parameter對象,用來傳遞Command對象所需的命令參數。Recordset對象包含了一個Fields集合

37、和一個Field對象,用來記錄Recordset對象中各個字段的相關屬性。 在ADO的7個對象中,Connection對象、Command對象和Recordset對象是使用最多的三個主要對象。 通過這些對象與集合,用戶可以很方便地建立數據庫連接,執(zhí)行SQL查詢以及存取查詢結果等。2、ADO對象模型 ADO各個對象之間的相互關系圖ConnectionErrorCommandParameterRecordsetFieldExecute方法ActiveConnection屬性ActiveConnection屬性Execute方法Source屬性Parameters屬性Fields集合Errors集合

38、兩個重要關系: Connection對象和Command對象使用Execute方法可以產生一個Recordset對象;兩個重要關系: Recordset對象和Command對象使用ActiveConnection屬性可以產生一個Connection對象。3、ADO對象功能(1)Connection對象:連接對象 用于建立Web服務器到數據源的連接。其它兩個內部對象:Command對象和Recordset對象對數據庫的任何操作都要通過Connection對象才能夠完成。 (2)Recordset對象:記錄集對象 是對從基本表或命令執(zhí)行的結果所得到的整個記錄集合的封裝,其數據結構可認為與表相同,利

39、用Recordset對象可以非常方便地實現對數據庫的各種操作和控制。3、ADO對象功能(3)Command對象:命令對象 主要功能是讓服務器執(zhí)行SQL命令或服務器端的存儲過程。 (4)Field對象:域對象 Recordset對象有一個十分有用的對象集合Fields,Fields由多個Field對象組成,Field對象代表一列普通數據類型數據,每個Field對象對應于Recordset對象中的一列。(5)Parameter對象:參數對象 代表SQL存儲過程或有參數查詢中的一個參數。3、ADO對象功能(6)Property對象:屬性對象 代表數據提供者的具體屬性。ADO對象有兩種類型的屬性:內置

40、屬性和動態(tài)屬性。內置屬性是指那些已在ADO中實現并且任何新對象可以立即使用的屬性。Property對象是基本提供者所定義的動態(tài)屬性的容器。(7)Error對象:錯誤對象 代表ADO錯誤,用來表示方法調用失敗所產生的某個錯誤。4、ADO和數據庫的連接應用程序ADOOLE DB Providerfor ODBCOLE DB Providerfor 數據庫ODBC driverfor 數據庫數據庫 通過ADO訪問數據庫有兩種途徑,一種是通過ODBC驅動程序,另一種是通過數據庫專用的OLE DB Provider。后者有更高的訪問效率。七、ADO.NET ADO.NET是微軟的新一代數據訪問標準,它是

41、為了廣泛的數據控制而設計的,而不僅僅為數據庫應用,所以使用起來比以前的ADO更靈活、更有彈性,也提供了更多的功能,提供了更有效的數據存取。它采用面向對象結構,采用業(yè)界標準的XML作為數據交換格式,能夠應用于多種操作系統(tǒng)環(huán)境。 1、ADO.NET發(fā)展 隨著公共語言運行庫和.NET框架的出現,微軟為.NET框架設計了一個新的數據訪問對象模型ADO.NET。ADO.NET用微軟.NET框架的托管代碼創(chuàng)建,這意味著它可以享受到類型安全和內存管理環(huán)境的種種好處,使之成為優(yōu)于ADO的一個更為穩(wěn)健的數據庫訪問平臺。 作為一種數據庫訪問框架,ADO.NET在ADO的基礎上進行了重新設計,使它能處理當今n層的W

42、eb應用程序所要求的非連接數據體系結構。 總之ADO.NET是在ADO的基礎上發(fā)展起來的,但又不是簡單的升級,它在簡化編程、維護和效能方面都做了相當大的改進。ADO.NET是一項全新的技術,需要采用一種新的思維模式來對待。 2、ADO.NET模型連接的對象 斷開連接的對象ConnectionTransactionDataAdapterCommandParameterDataReaderDataSetDataTableDataRowDataColumnConstraintDataRelationDataView ADO.NET提供了功能強大的數據訪問接口,其數據的連接有兩種方式:斷開連接與直接連

43、接。因此ADO.NET對象模型分為“連接的對象”和“斷開連接的對象”兩部分。 “連接的對象”主要有Connection對象、Command對象、DataReader對象等,這些對象直接與數據庫通信,以管理連接和事務,以及從數據庫檢索數據和向數據庫提交所做的更改。 “斷開連接的對象”主要有數據集DataSet對象以及它所包括的DataTable和DataRelation對象等,它們允許用戶脫機處理數據,以便更好地提高系統(tǒng)效率。2、ADO.NET模型 ADO.NET對象模型的兩個核心成員是.NET數據提供程序和DataSet對象。.NET數據提供程序與DataSet之間的關系DataSetData

44、TableCollectionXML數據存儲或文件.NET數據提供程序ConnectionCommandDataReaderDataAdapterInsertCommandUpdateCommandDeleteCommandSelectCommandDataTableDataRelationCollection數據庫 .NET數據提供程序是數據庫的訪問接口,負責建立連接和數據操作。它作為DataSet對象與數據源之間的橋梁,負責將數據源中的數據取出后置入DataSet對象中,或將數據存回數據源。 DataSet是非連接的、位于內存中的數據存儲,主要負責對數據的操作。DataSet是專門為獨立于

45、任何數據源的數據訪問而設計的。因此,它可以用于多種不同的數據源,可以使用XML數據。 3、.NET的數據提供程序 .NET Framework數據提供程序在數據源和代碼之間創(chuàng)建了一個最小層,以便在不以功能為代價的前提下提高性能。到目前為止,可用的.NET主要數據提供程序(提供者)有4個。這4個數據提供程序中的每一個都有一個特定的目的,并且都提供對特定類型數據源的托管訪問。 (1)SQL Server .NET Framework 這個數據提供者專用于SQL Server數據庫。它使用SQL快速的、本地的TCP/IP接口,提供快速、健壯和可靠的訪問SQL Server的方法??梢灾苯釉L問SQL

46、Server而不用添加 OLE DB或ODBC層,因此它是輕量的,并具有良好的性能。 (2)OLE DB .NET Framework OLE DB數據提供程序可使用任何OLE DB數據提供程序來處理數據,但是這個提供者必須使用COM Interop層。因此,在.NET Framework中使用OLE DB時,將會增加系統(tǒng)的額外開銷。通常,人們使用OLE DB .NET數據提供者與Access數據庫、 Microsoft Exchange進行通信。 (3)Oracle .NET Framework 該數據提供程序支持使用Oracle客戶端軟件提供的Oracle調用接口(OC)訪問Oracle數

47、據庫。如果使用的是Oracle數據源,則使用這個數據提供者將能得到更快的速度和更可靠的性能。Oracle .NET Framework數據提供程序要求必須先在系統(tǒng)上安裝Oracle客戶端軟件(8.1.7版或更高版本),才能連接到Oracle數據源。 (4)ODBC .NET Framework 如果數據源不是SQL Server、Oracle或 Access,也不是通過OLE DB驅動程序能夠訪問的其他數據源,則惟一的選擇就是使用ODBC Provider for .NET。ODBC .NET Framework數據提供程序使用本機ODBC驅動程序管理器(DM)啟用數據訪問。微軟的 .NET

48、ODBC Provider是為了向后兼容而采取的措施,它不是一個高性能的數據提供者。 4、ADO.NET和ADO的比較 因為ADO.NET是從ADO發(fā)展而來的,它與ADO有許多相似性。然而,ADO.NET在ADO的基礎上做了很大的改進。 (1)數據表現形式 在ADO中,數據在內存中表示的形式為記錄集(RecordSet)。而在ADO.NET中,它以數據集(DataSet)為主要表現形式。記錄集好比一個單獨的表。數據集可以包含多個截然不同的表,還能夠維護表之間的關系。當要訪問的數據來自多個關聯的表時,ADO.NET比ADO對數據的訪問更優(yōu)越,因為數據集可以包含這樣的數據,而記錄集則不能。 (2)

49、數據訪問 ADO和ADO.NET之間的另一個重要差別在于它們數據訪問方式不同。ADO通過MoveNext方法順序掃描記錄集的行。而在ADO.NET中,數據集(DataSet)除了支持順序訪問之外,還允許對數據表中的行號進行隨機訪問。相比之下,在ADO.NET中數據訪問變得更加容易、更加快速。 (3)斷開連接方式的數據訪問 在ADO中,記錄集也可以實現斷開連接方式的數據訪問。但是這種連接方式效率不高,而且不是徹底的斷開連接方式。而ADO.NET則使用數據集完全實現了與數據源的斷開連接方式。ADO通過調用OLE DB提供者與數據庫通信,而ADO.NET則使用數據適配器與數據庫進行通信,這個適配器可

50、以采用不同的方式與不同類型的數據源進行通信。(4)在應用程序之間共享數據 ADO通過COM調度機制傳輸記錄集,而ADO.NET則使用XML以數據集的形式傳輸數據。同COM調度相比,使用XML傳輸數據具有許多優(yōu)點:更豐富的數據類型、更高的性能、能夠穿透防火墻等。 8.5 動態(tài)頁面開發(fā)技術第8章 Web數據庫技術教學內容 ASP技術1 PHP技術2 Servlet技術3 JSP技術4一、ASP技術 ASP(Active Server Pages,動態(tài)服務器主頁) 是目前非常流行的開放式Web服務器應用程序開發(fā)技術。 ASP屬于ActiveX技術中的服務器端技術。ASP中的命令和Script語句都是

51、由服務器來解釋執(zhí)行的,執(zhí)行結果產生動態(tài)生成的Web頁面并送到瀏覽器。 1、ASP文件 ASP通過擴展名為.asp的ASP文件來實現,一個ASP文件相當于一個可執(zhí)行文件,因此必須放在Web服務器上有可執(zhí)行權限的目錄下。 ASP文件是一個文本文件,它可以包括下列元素的任意組合: 文本(text); HTML標記(tags); Script命令。 2、ASP的工作流程Web瀏覽器數據庫數據庫服務器(DBMS)ADO/ODBCASP程序(*.asp)Web服務器 當用戶通過瀏覽器向Web服務器申請一個*.asp主頁時,Web服務器響應該請求,調用ASP引擎,解釋執(zhí)行將被請求的*.asp文件中的每一個命令,動態(tài)生成一個HTML頁面,并送到瀏覽器。 當遇到任何與ActiveX Scriptng兼容的腳本(如VBScript, JavaScript)時,ASP引擎會調用相應的腳本引擎進行處理 若腳本中含有訪問數據庫的請求,就通過OD

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論