




版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度文化創(chuàng)意產(chǎn)業(yè)方借款協(xié)議
- 二零二五年度拖欠工資解除勞動合同實(shí)務(wù)案例范文
- 二零二五年度環(huán)保產(chǎn)業(yè)合作項(xiàng)目終止協(xié)議范本
- 非全日制合同制員工2025年度工作績效評估及獎(jiǎng)勵(lì)合同
- 二零二五年度辣椒種植基地節(jié)水灌溉技術(shù)合同
- 二零二五年度工業(yè)氣體產(chǎn)業(yè)園區(qū)共建合作協(xié)議
- 二零二五年度醫(yī)院聘用護(hù)士勞動合同(護(hù)理心理健康)
- 幼兒園保育員聘用合同書(二零二五年度)-幼兒成長記錄合作
- 二零二五年度車輛維修事故私了處理流程合同
- 二零二五年度茶樓租賃合同茶樓與文化活動策劃合作框架
- 05PowerPoint 2016演示文稿軟件電子課件 計(jì)算機(jī)基礎(chǔ)知識(Windows 7+Office 2016)
- 妊娠期高血壓剖宮產(chǎn)術(shù)后護(hù)理教學(xué)查房
- 有機(jī)合成中的合成子課件
- 數(shù)學(xué)建模的介紹教學(xué)課件
- 邏輯代數(shù)的基本定律和規(guī)則課件
- 暫予監(jiān)外執(zhí)行
- 急性腎小球腎炎講稿
- 義務(wù)教育語文課程標(biāo)準(zhǔn)(2022)測試題帶答案(20套)
- 公共廁所工程報(bào)價(jià)明細(xì)表
- 股骨頸骨折ppt精品
評論
0/150
提交評論