第14章 數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)技術(shù)_第1頁
第14章 數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)技術(shù)_第2頁
第14章 數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)技術(shù)_第3頁
第14章 數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)技術(shù)_第4頁
第14章 數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)技術(shù)_第5頁
已閱讀5頁,還剩28頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

數(shù)據(jù)庫虛擬教研室制作數(shù)據(jù)庫《數(shù)據(jù)庫原理及應(yīng)用》目錄03

數(shù)據(jù)庫應(yīng)用開發(fā)01

數(shù)據(jù)庫應(yīng)用結(jié)構(gòu)02數(shù)據(jù)連接技術(shù)第14章數(shù)據(jù)庫應(yīng)用數(shù)據(jù)庫應(yīng)用結(jié)構(gòu)

一個(gè)完整的數(shù)據(jù)庫應(yīng)用系統(tǒng)在邏輯上包括用戶界面和數(shù)據(jù)庫訪問鏈路,數(shù)據(jù)庫在C/S或B/S雙層結(jié)構(gòu)中位于服務(wù)器端,構(gòu)成整個(gè)數(shù)據(jù)庫應(yīng)用系統(tǒng)的后端數(shù)據(jù)庫,滿足客戶端連接數(shù)據(jù)庫和存儲數(shù)據(jù)的需要,它并不具備圖形用戶界面的設(shè)計(jì)功能,常見的結(jié)構(gòu)如下:

客戶/服務(wù)器結(jié)構(gòu)(C/S結(jié)構(gòu))互聯(lián)網(wǎng)應(yīng)用結(jié)構(gòu)(B/S結(jié)構(gòu))數(shù)據(jù)庫應(yīng)用結(jié)構(gòu)客戶/服務(wù)器結(jié)構(gòu)服務(wù)器請求結(jié)果工作站1工作站N工作站2客戶端應(yīng)用程序應(yīng)用程序應(yīng)用程序數(shù)據(jù)庫數(shù)據(jù)庫應(yīng)用結(jié)構(gòu)

客戶機(jī)/服務(wù)器模式(簡稱C/S)是以網(wǎng)絡(luò)環(huán)境為基礎(chǔ)、將計(jì)算應(yīng)用有機(jī)地分布在多臺計(jì)算機(jī)中的結(jié)構(gòu)。服務(wù)器(Server),客戶機(jī)(Client)。服務(wù)器負(fù)責(zé)數(shù)據(jù)的存儲、檢索與維護(hù),而客戶機(jī)負(fù)責(zé)提供GUI接口,對于數(shù)據(jù)能夠完成創(chuàng)建、讀、修改、刪除(CRUD)等操作。

數(shù)據(jù)庫應(yīng)用結(jié)構(gòu)互聯(lián)網(wǎng)應(yīng)用結(jié)構(gòu)客戶端數(shù)據(jù)庫服務(wù)器請求頁面?zhèn)€人機(jī)1個(gè)人機(jī)N個(gè)人機(jī)2請求結(jié)果Web服務(wù)器瀏覽器瀏覽器瀏覽器應(yīng)用程序數(shù)據(jù)庫數(shù)據(jù)庫應(yīng)用結(jié)構(gòu)表示層:存在于客戶端,只須安裝一個(gè)Web瀏覽器軟件。Web服務(wù)器:作為一個(gè)HTTP服務(wù)器,處理HTTP協(xié)議,接受請求并按照HTTP格式生成響應(yīng);執(zhí)行服務(wù)器端腳本(如VBScript、JavaScript等);對于數(shù)據(jù)庫應(yīng)用,能夠執(zhí)行創(chuàng)建、讀、修改、刪除(CRUD)等操作。數(shù)據(jù)層:存在于數(shù)據(jù)庫服務(wù)器上,安裝有DBMS,提供SQL處理、數(shù)據(jù)庫管理等服務(wù)。數(shù)據(jù)庫應(yīng)用結(jié)構(gòu)

在C/S結(jié)構(gòu)中,圖形用戶界面的設(shè)計(jì)工作通常使用可視化開發(fā)工具C++,Java和C#等

在B/S結(jié)構(gòu)中,常使用ASP.net、JSP和PHP等來實(shí)現(xiàn)業(yè)務(wù)邏輯。數(shù)據(jù)庫連接技術(shù)常用的數(shù)據(jù)庫的連接方法有:

ODBCADOJDBC數(shù)據(jù)庫連接技術(shù)ODBC(OpenDatabaseConnectivity)是微軟公司開放服務(wù)結(jié)構(gòu)中有關(guān)數(shù)據(jù)庫的一個(gè)組成部分,它建立了一組規(guī)范。它應(yīng)用數(shù)據(jù)通信方法、數(shù)據(jù)傳輸協(xié)議、DBMS等多種技術(shù)定義了一個(gè)標(biāo)準(zhǔn)的接口協(xié)議,允許應(yīng)用程序以SQL作為數(shù)據(jù)存取標(biāo)準(zhǔn),來存取不同的DBMS管理的數(shù)據(jù)。1.ODBC數(shù)據(jù)庫連接技術(shù)數(shù)據(jù)庫連接技術(shù)

ADO(ActiveXDataObjects,ActiveX數(shù)據(jù)對象)技術(shù)則是一種良好的解決方案,提供一種面向?qū)ο蟮?、與語言無關(guān)的應(yīng)用程序編程接口。ADO的應(yīng)用場合非常廣泛,而且支持多種程序設(shè)計(jì)語言,不僅兼容所有的數(shù)據(jù)庫系統(tǒng),從桌面數(shù)據(jù)庫到網(wǎng)絡(luò)數(shù)據(jù)庫等,ADO提供相同的處理方法。2.ADO數(shù)據(jù)庫連接技術(shù)Connection對象要負(fù)責(zé)與數(shù)據(jù)庫建立連接和執(zhí)行SQL語句。Command對象主要執(zhí)行CRUD操作。RecordSet對象主要存放對數(shù)據(jù)庫表查詢的結(jié)果。數(shù)據(jù)庫連接技術(shù)

JDBC(JavaDatabaseConnectivity)是一個(gè)獨(dú)立于特定數(shù)據(jù)庫管理系統(tǒng)、通用的操作數(shù)據(jù)庫的Interface(一組API),定義了用來訪問數(shù)據(jù)庫的標(biāo)準(zhǔn)Java類庫,而接口的實(shí)現(xiàn)有各個(gè)數(shù)據(jù)庫廠商來完成JDBC驅(qū)動程序(jar包):數(shù)據(jù)庫廠商對JDBC接口的一組實(shí)現(xiàn)類(jar包)3.JDBC數(shù)據(jù)庫連接技術(shù)JDBC結(jié)構(gòu)模型數(shù)據(jù)庫連接技術(shù)DriverManagerConnectionConnectionConnectionStatementPreparedStatementCallableStatementResultSetResultSetResultSetJDBCAPI接口介紹數(shù)據(jù)庫應(yīng)用開發(fā)Java在實(shí)際應(yīng)用中和數(shù)據(jù)庫有著密切的關(guān)系,Java編程工具以其諸多優(yōu)點(diǎn)而越來越受到程序開發(fā)人員的喜愛,其市場占有率越來越大,下面就以Java工具為例,來介紹JDBC在數(shù)據(jù)庫應(yīng)用開發(fā)中的關(guān)鍵技術(shù)。

JavaseJDBCAPIJDBC驅(qū)動程序數(shù)據(jù)庫數(shù)據(jù)庫應(yīng)用開發(fā)

搭建Java開發(fā)數(shù)據(jù)庫的環(huán)境:

1.加載外部jar包2.加載系統(tǒng)jar包,創(chuàng)建單元測試環(huán)境數(shù)據(jù)庫應(yīng)用開發(fā)

Java連接數(shù)據(jù)庫并操作數(shù)據(jù)的步驟:

1.加載驅(qū)動2.獲取數(shù)據(jù)庫連接3.獲取Statement對象4.操作數(shù)據(jù)庫5.獲取返回結(jié)果6.關(guān)閉對象數(shù)據(jù)庫應(yīng)用開發(fā)

1.加載驅(qū)動加載JDBC驅(qū)動需調(diào)用Class類的靜態(tài)方法forName(),向其傳遞要加載的JDBC驅(qū)動的類名。DriverManager類是驅(qū)動程序管理器類,負(fù)責(zé)管理驅(qū)動程序通常不用顯式調(diào)用DriverManager類的registerDriver()方法來注冊驅(qū)動程序類的實(shí)例,因?yàn)镈river接口的實(shí)現(xiàn)類都包含了靜態(tài)代碼塊,在這個(gè)靜態(tài)代碼塊中,會調(diào)用DriverManager.registerDriver()方法來注冊自身的一個(gè)實(shí)例數(shù)據(jù)庫應(yīng)用開發(fā)jdbc:mysql://localhost:3306/teaching_manage協(xié)議子協(xié)議子名稱主機(jī)地址端口號數(shù)據(jù)庫名2.獲取數(shù)據(jù)庫連接連接數(shù)據(jù)庫的URL:數(shù)據(jù)庫應(yīng)用開發(fā)3.獲取Statement對象

數(shù)據(jù)庫連接被用于向數(shù)據(jù)庫服務(wù)器發(fā)送命令和SQL語句,在連接建立后,需要對數(shù)據(jù)庫進(jìn)行訪問,執(zhí)行sql語句在java.sql包中有3個(gè)接口分別定義了對數(shù)據(jù)庫的調(diào)用的不同方式:Statement:用于執(zhí)行不帶參數(shù)的SQL語句;PrepatedStatement:用于執(zhí)行帶或不帶IN參數(shù)的預(yù)編譯SQL語句;CallableStatement:用于執(zhí)行對數(shù)據(jù)庫已有存儲過程的調(diào)用。數(shù)據(jù)庫應(yīng)用開發(fā)

Statement只是一個(gè)接口,沒有構(gòu)造方法,所以不能直接創(chuàng)建它的實(shí)例。但Connection接口提供了createStatement方法專門用于創(chuàng)建Statement對象:Statementstmt=con.createStatement();

創(chuàng)建Statement對象之后,就可以用于執(zhí)行SQL語句;Statement接口有4個(gè)基本的方法可以使用:(1)executeQuery:用于執(zhí)行查詢語句;(2)executeUpdate:用于執(zhí)行更新語句。4.操作數(shù)據(jù)數(shù)據(jù)庫應(yīng)用開發(fā)5.獲取返回結(jié)果executeQuery():用于執(zhí)行產(chǎn)生單個(gè)結(jié)果集的SQL語句,返回的是查詢的結(jié)果集。(2)executeUpdate():用于執(zhí)行INSERT、UPDTE或DELETE語句以及數(shù)據(jù)定義語句,如CREATETABLE和DROPTABLE等。executeUpdate的返回值是一個(gè)整數(shù),表示受影響的行數(shù)。對于數(shù)據(jù)定義語句的返回值為零。

數(shù)據(jù)庫應(yīng)用開發(fā)6.關(guān)閉對象原則:先開后關(guān)數(shù)據(jù)庫應(yīng)用開發(fā)PreparedStatement

PreparedStatement是Statement的子接口,PreparedStatement的實(shí)例包含已編譯的SQL語句。由于PreparedStatement對象已預(yù)編譯過,所以其執(zhí)行速度要快于Statement對象。因此,多次執(zhí)行的SQL語句經(jīng)常創(chuàng)建為PreparedStatement對象,以提高效率。另外,PreparedStatement對象可以防止SQL注入。數(shù)據(jù)庫應(yīng)用開發(fā)CRUD是指在做計(jì)算處理時(shí)的增加(Create)、讀取(Retrieve)(重新得到數(shù)據(jù)即查詢)、更新(Update)和刪除(Delete),主要被用在描述軟件系統(tǒng)中數(shù)據(jù)庫的基本操作功能數(shù)據(jù)庫的CRUD操作數(shù)據(jù)庫應(yīng)用開發(fā)利用windowbuilder設(shè)計(jì)用戶界面

windowbuilder是一款可視化的用戶界面設(shè)計(jì)工具,使用特別方便。

用戶界面層

業(yè)務(wù)邏輯層

數(shù)據(jù)庫層數(shù)據(jù)庫應(yīng)用開發(fā)用戶登錄時(shí)序圖數(shù)據(jù)庫設(shè)計(jì)模式

用戶界面層

業(yè)務(wù)邏輯層

數(shù)據(jù)庫層ViewControlModelORM技術(shù)ORM是ObjectRelationalMapping的縮寫,譯為“對象關(guān)系映射”,是一種自動生成SQL語句的技術(shù),它實(shí)現(xiàn)了對象和關(guān)系型數(shù)據(jù)庫之間的數(shù)據(jù)交互,提高了開發(fā)效率。在實(shí)際開發(fā)中,常見的增刪改查(CRUD)操作都可以交給ORM,避免了手寫SQL語句的麻煩。ORM技術(shù)ORM技術(shù)通常使用單獨(dú)的框架,

溫馨提示

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

評論

0/150

提交評論