- Oracle實(shí)用教程
- 鄭阿奇編著
- 871字
- 2018-12-30 10:28:28
1.2 數(shù)據(jù)庫應(yīng)用系統(tǒng)
1.2.1 客戶/服務(wù)器(C/S)模式應(yīng)用系統(tǒng)
對于一般的數(shù)據(jù)庫應(yīng)用系統(tǒng),除了數(shù)據(jù)庫管理系統(tǒng)外,需要設(shè)計(jì)適合普通人員操作的數(shù)據(jù)庫界面。目前,流行的開發(fā)數(shù)據(jù)庫界面的工具主要包括Visual BASIC、Visual C++、Visual FoxPro、Delphi和PowerBuilder等。數(shù)據(jù)庫應(yīng)用程序與數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)之間的關(guān)系如圖1.7所示。

圖1.7 數(shù)據(jù)庫應(yīng)用程序與數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)關(guān)系
從圖中可看出,當(dāng)應(yīng)用程序需要處理數(shù)據(jù)庫中的數(shù)據(jù)時(shí),首先向數(shù)據(jù)庫管理系統(tǒng)發(fā)送一個(gè)數(shù)據(jù)處理請求。數(shù)據(jù)庫管理系統(tǒng)接收到這一請求后,對其進(jìn)行分析,然后執(zhí)行數(shù)據(jù)操作,并把操作結(jié)果返回給應(yīng)用程序。
由于應(yīng)用程序直接與用戶打交道,而數(shù)據(jù)庫管理系統(tǒng)不直接與用戶打交道,所以應(yīng)用程序被稱為“前臺”,而數(shù)據(jù)庫管理系統(tǒng)被稱為“后臺”。由于應(yīng)用程序向數(shù)據(jù)庫管理系統(tǒng)提出服務(wù)請求,故通常稱為客戶程序(Client);而數(shù)據(jù)庫管理系統(tǒng)為其他應(yīng)用程序提供服務(wù),故通常稱為服務(wù)器程序(Server),又將這種操作數(shù)據(jù)庫模式稱為客戶/服務(wù)器(C/S)模式。
應(yīng)用程序和數(shù)據(jù)庫管理系統(tǒng)可以運(yùn)行在同一臺計(jì)算機(jī)上(單機(jī)方式),也可以運(yùn)行在網(wǎng)絡(luò)方式下。在網(wǎng)絡(luò)方式下,數(shù)據(jù)庫管理系統(tǒng)在網(wǎng)絡(luò)上的一臺主機(jī)上運(yùn)行,應(yīng)用程序可以在網(wǎng)絡(luò)上的多臺主機(jī)上運(yùn)行,即一對多的方式。例如,用Visual Basic開發(fā)的客戶/服務(wù)器(C/S)模式的學(xué)生成績管理系統(tǒng)的學(xué)生信息輸入界面如圖1.8所示。

圖1.8 C/S模式的學(xué)生成績管理系統(tǒng)界面
1.2.2 三層客戶/服務(wù)器(B/S)模式應(yīng)用系統(tǒng)
基于Web的數(shù)據(jù)庫應(yīng)用采用三層客戶/服務(wù)器模式,也稱為B/S結(jié)構(gòu)。第一層為瀏覽器,第二層為Web服務(wù)器,第三層為數(shù)據(jù)庫服務(wù)器。瀏覽器是用戶輸入數(shù)據(jù)和顯示結(jié)果的交互界面。用戶在瀏覽器表單中輸入數(shù)據(jù),然后將表單中的數(shù)據(jù)提交并發(fā)送到Web服務(wù)器。Web服務(wù)器應(yīng)用程序接收并處理用戶的數(shù)據(jù),通過數(shù)據(jù)庫服務(wù)器,從數(shù)據(jù)庫中查詢需要的數(shù)據(jù)(或把數(shù)據(jù)錄入數(shù)據(jù)庫)并返回給Web服務(wù)器。Web服務(wù)器再把返回的結(jié)果插入HTML頁面,傳送到客戶端,在瀏覽器中顯示出來。三層客戶/服務(wù)器結(jié)構(gòu)如圖1.9所示。

圖1.9 三層客戶-服務(wù)器結(jié)構(gòu)
例如,用ASP.NET開發(fā)的三層客戶/服務(wù)器(B/S)模式的學(xué)生成績管理系統(tǒng)的學(xué)生信息更新頁面如圖1.10所示。

圖1.10 B/S模式的學(xué)生成績管理系統(tǒng)頁面
- 在最好的年紀(jì)學(xué)Python:小學(xué)生趣味編程
- Cross-platform Desktop Application Development:Electron,Node,NW.js,and React
- Learning SAP Analytics Cloud
- jQuery從入門到精通 (軟件開發(fā)視頻大講堂)
- Learning AndEngine
- Getting Started with Python Data Analysis
- Visual C#.NET程序設(shè)計(jì)
- Hands-On Functional Programming with TypeScript
- Python Data Analysis Cookbook
- SSM開發(fā)實(shí)戰(zhàn)教程(Spring+Spring MVC+MyBatis)
- C#開發(fā)案例精粹
- R用戶Python學(xué)習(xí)指南:數(shù)據(jù)科學(xué)方法
- Learning Material Design
- Visual Basic程序設(shè)計(jì)(第三版)
- C指針原理揭秘:基于底層實(shí)現(xiàn)機(jī)制