官术网_书友最值得收藏!

1.3 數據庫應用系統

數據處理是計算機應用的主要領域。任何計算機應用系統都離不開數據處理。計算機應用系統的數據處理大都需要借助數據庫來實現數據存儲、數據訪問、數據分析和數據管理。通常將基于數據庫進行數據處理的計算機應用系統稱為數據庫應用系統。在進行數據庫應用系統開發時,開發者應清楚本系統屬于哪類數據庫應用系統,本系統應采用哪類數據庫系統架構方案,數據庫應用系統開發有哪些階段。

1.3.1 數據庫應用系統類型

在當今信息化時代中,各個行業都采用了數據庫應用系統實現業務信息化處理。例如,在企業信息化應用中,無論是面向內部業務管理的ERP(企業資源計劃)信息系統,還是面向外部客戶服務的CRM(客戶關系管理)信息系統,它們都是以數據庫為基礎的信息系統。數據庫應用系統主要有如下幾種類型。

1.業務處理系統

業務處理系統(Transaction Process System,TPS)是一類利用數據庫應用程序對機構日常業務活動(如訂購、銷售、支付、出貨、核算等)信息進行記錄、計算、檢索、匯總、統計等數據處理,為機構操作層面提供業務信息化處理服務,并提高業務處理效率的信息系統。典型的業務處理系統有銀行柜臺系統、股票交易系統、商場POS(終端銷售)系統等。

業務處理系統使用數據庫來組織、存儲和管理業務數據,其處理方式分為聯機業務處理和業務延遲批處理。在聯機業務處理中,業務功能需在線執行,業務數據在系統中實時獲得,即以在線聯機方式進行業務處理,如銀行ATM(自動柜員機)系統。在業務延遲批處理中,業務功能可以支持客戶機脫機處理,然后按特定時間在服務器集中批量處理,如銀行賬目交換批處理業務,它通常是在夜間以批處理方式完成的。

2.管理信息系統

管理信息系統(Management Information System,MIS)是一類以機構職能管理為目標,利用計算機軟硬件、網絡通信、數據庫等IT技術,實現機構職能整體信息化管理,以達到規范化管理和提高機構工作效率的目的,并支持機構職能服務的信息系統。典型的管理信息系統有人力資源管理系統、企業CRM系統、企業財務管理系統等。

機構的管理信息系統通常采用統一規劃的數據庫來組織、存儲和管理機構各個部門數據,實現部門之間信息的共享和交換,并實現機構的人員管理、物資管理、資金管理、生產管理、計劃管理、銷售管理等部門協同工作。

3.決策支持系統

決策支持系統(Decision Support System,DSS)是以管理科學、運籌學、控制論和行為科學為基礎,以計算機技術、數據庫技術、人工智能技術為手段,解決特定領域決策管理問題,為管理者提供輔助決策服務與方案的信息系統。該系統能夠為管理者提供所需的數據分析、預測信息和決策方案,幫助管理者明確決策目標和識別問題,建立預測或決策模型,提供多種決策方案,并且對各種方案進行評價和優選,通過人機交互功能進行分析、比較和判斷,為正確的決策提供必要的支持,從而達到支持決策的目的。典型的決策支持系統有防汛抗旱決策支持系統、疫情精準防控決策支持系統、電力市場營銷決策支持系統等。

1.3.2 數據庫應用系統架構

在不同應用需求場景中,數據庫應用系統架構設計與實現方案是不同的。典型的數據庫應用系統架構主要有集中式架構(客戶/服務器架構、瀏覽器/服務器架構)和分布式架構。

1.客戶/服務器架構

在一些多用戶共享訪問數據庫的應用系統中,可以將應用系統各構件部署在客戶機和服務器中,從而實現各自分擔任務的并行處理。在這類數據庫應用系統中,運行DBMS軟件及數據庫的服務器被稱為數據庫服務器,運行計算機應用程序的計算機被稱為客戶機。客戶端應用程序將數據訪問請求通過網絡協議傳送到數據庫服務器;數據庫服務器接收請求,對數據庫進行數據操作處理,并將數據處理結果通過網絡應答消息返回給客戶端應用程序。DBMS軟件集中部署在一個服務器中,支持多個不同客戶端應用程序共享訪問數據,其系統架構如圖1-7所示。

在客戶/服務器(C/S)架構的具體應用中,還可細分為2層C/S架構和3層客戶/服務器架構。在2層客戶/服務器架構的數據庫應用系統中,應用程序部署在客戶機上,DBMS軟件及數據庫部署在數據庫服務器上,應用程序與數據庫服務器通過網絡通信實現數據處理功能。在3層客戶/服務器架構的數據庫應用系統中,應用程序GUI(圖形用戶界面)組件部署在客戶機上,應用程序業務邏輯組件部署在應用服務器上,DBMS軟件及數據庫部署在數據庫服務器上。各個層次組件均通過網絡通信實現請求/響應方式的功能處理。當數據庫應用系統的用戶規模較小時,一般采用2層客戶/服務器架構,這樣可以實現低成本的系統開發。當數據庫應用系統的用戶規模較大時,建議采用3層客戶/服務器架構,這樣可以滿足高負載、高性能處理要求。

圖1-7 客戶/服務器架構

a)2層C/S架構 b)3層C/S架構

客戶/服務器架構的特點:數據庫應用系統的數據集中管理,應用分布處理。客戶端應用程序通過網絡協議訪問數據庫服務器,同時也實現數據庫共享訪問。

客戶/服務器架構的優缺點:客戶/服務器架構的數據庫應用系統通過各層計算機分擔處理任務,可提高整個系統的處理能力,但客戶/服務器架構的數據庫應用程序更新在運維中較為麻煩,通常只適合機構內部的業務應用數據管理。

2.瀏覽器/服務器架構

面向公眾服務的數據庫應用系統大都采用基于瀏覽器/服務器架構。在這類數據庫應用系統中,應用系統頁面部署在Web服務器上,應用程序業務邏輯組件部署在應用服務器上,DBMS軟件及數據庫集中部署在數據庫服務器上。客戶機不需要安裝任何應用程序組件,在瀏覽器輸入應用系統首頁網址就可以訪問數據庫應用系統登錄頁面。用戶在Web頁面表單提交的數據操作請求,通過應用服務器程序將SQL命令發送給數據庫服務器處理,數據庫服務器執行SQL命令,對數據庫進行數據操作處理,并將數據操作結果返回給應用程序,其系統架構如圖1-8所示。

圖1-8 瀏覽器/服務器架構

瀏覽器/服務器架構的特點:數據庫應用系統各組件均部署在服務器上,數據集中管理,應用分布處理。用戶在客戶機中只需要使用瀏覽器就可以通過互聯網訪問數據庫應用系統。

瀏覽器/服務器架構的優缺點:瀏覽器/服務器架構的數據庫應用系統通過各層服務器分擔處理任務,可支持系統處理能力水平擴展;用戶在任何地點使用瀏覽器均可方便地訪問數據庫應用系統;系統功能維護與升級均在服務器端完成,客戶端不需要維護,可以非常方便地實現系統更新維護;不過瀏覽器/服務器架構的數據庫應用系統在互聯網環境中需要考慮更多安全技術手段,以確保應用系統的數據安全。

3.分布式架構

以上幾種架構的數據庫應用系統均是將數據集中存儲在單個數據庫服務器進行數據管理的,這種集中式數據庫應用系統僅適合用戶規模和數據存儲規模均不大的應用場景。在大規模、跨地區的信息系統中,如大型跨國銀行系統,集中式數據庫應用系統難以滿足業務處理要求,這些信息系統的數據庫應用系統必須采用分布式架構。在分布式架構中,數據庫系統由分布于多個服務器的數據庫節點組成。分布式DBMS提供一致性存取手段來管理多個服務器上的數據庫,使這些分布的數據庫在邏輯上可被視為一個完整的數據庫,而物理上它們是分散在各個服務器上的數據庫。分布式架構如圖1-9所示。

圖1-9 分布式架構

分布式架構的特點:分布式架構既實現數據分布,又實現處理分布。在分布式架構中,各服務器的數據庫節點在邏輯上是一個整體,但物理分布在計算機網絡的不同服務器上。每個數據庫服務器通過網絡,既支持多個本地客戶機訪問,也支持遠程客戶機訪問。在系統網絡中的每一個數據庫服務器都可以獨立地存取與處理數據,并執行全局應用。

分布式架構的優缺點:滿足跨地區的大型機構及企業等組織對數據庫應用的需求,其處理性能強,但數據庫的分布處理與維護需要解決較多的安全性、復雜性相關技術難題。

1.3.3 數據庫應用系統生命周期

數據庫應用系統是一類典型的計算機應用系統,按照軟件工程思想,其生命周期可分為系統需求分析、系統設計、系統實現、系統測試、系統運行與維護等階段。數據庫應用系統在生命周期各階段的任務活動如下。

1.系統需求分析

在數據庫應用系統需求分析階段,系統分析人員與用戶交流,按照需求工程方法獲取業務需求、系統功能需求、系統非功能需求、數據需求等信息。

(1)需求信息收集

需求信息收集一般是以機構職能和業務流程為主干線,從高層至低層逐步展開,從業務功能需求和用戶使用要求中收集系統數據的需求信息。

(2)需求信息分析

對收集到的需求信息應做分析整理工作。采用面向對象分析方法或結構化分析方法,建模業務需求,描述業務流程及業務中數據聯系的形式,并進一步建模系統功能需求與數據需求。

(3)系統需求規格說明書

系統需求分析階段的主要成果是系統需求分析報告文檔,也稱為系統需求規格說明書。它作為系統開發的重要技術文檔支持系統后續開發。針對數據庫應用系統,需求分析報告文檔除了給出系統功能需求、系統非功能需求(如性能需求、安全需求)外,還需要給出系統的數據需求,并且定義詳盡的數據字典。

2.系統設計

在數據庫應用系統設計階段,系統設計人員依據系統需求文檔,開展系統總體設計和詳細設計。其設計內容主要包括系統架構設計、軟件功能結構設計、功能模塊邏輯設計、系統數據庫設計、系統接口設計等。

其中,系統數據庫設計又分為數據庫架構、概念數據模型、邏輯數據模型、物理數據模型設計。數據架構師在進行系統數據庫設計時,通常會采用一些專業的數據庫建模工具來完成數據庫的各類模型設計。

概念數據模型是一種面向用戶現實世界的數據模型,主要用來描述現實世界中各事物對象之間的數據關系。它使數據庫設計人員在設計的初始階段,可以擺脫計算機系統及DBMS的具體技術問題約束,集中精力進行系統數據建模,描述數據及數據之間的聯系。在此之后,概念數據模型還必須轉換成邏輯數據模型,考慮采用特定數據模型的數據庫設計方案。

邏輯數據模型的主要目標是把概念模型轉換為特定DBMS所支持的數據模型,如關系數據模型或對象數據模型等。邏輯數據模型設計的輸入要素包括:概念模式、數據實體、約束條件、數據模型類型等。邏輯數據模型設計的輸出信息包括:DBMS可處理的模式和子模式,即數據庫邏輯結構、數據庫表邏輯結構等。同樣,邏輯數據模型需進一步轉換為物理數據模型,才能在具體DBMS中實現。

物理數據模型設計是指針對邏輯數據模型給出一個最適合DBMS應用場景的物理結構設計方案。物理數據模型設計的輸入要素包括:數據庫邏輯結構、數據庫表邏輯結構、硬件特性、操作系統和DBMS的約束、運行要求等。物理數據模型設計的輸出信息主要包括:物理數據庫結構、數據存儲方式、存儲空間位置分配及數據存取訪問方法等。

3.系統實現

在數據庫應用系統實現階段,按照系統設計方案實現數據庫應用系統工程,分別進行應用程序編寫、DBMS安裝部署、數據庫及其數據對象創建實現等方面的工作。其中數據庫的實現工作如下。

(1)創建數據庫對象

根據物理數據模型設計,采用DBMS提供的數據定義語言編寫出數據庫創建SQL程序。在DBMS服務器中,執行數據庫創建SQL程序。當該SQL程序成功執行后,即可建立實際的數據庫對象。

(2)準備測試數據

在數據庫對象建立后,開發人員需要準備數據庫測試數據,供數據庫測試使用。在數據庫應用系統進入測試之前,還需做好以下幾項工作:設計數據庫重新組織的可行方案;制定系統故障恢復措施與系統安全處理規范。

4.系統測試

在數據庫應用系統測試階段,按照系統需求規格要求,設計測試用例。使用測試用例對系統進行功能測試、性能測試、集成測試、數據庫測試等操作,找出系統的缺陷。針對系統測試中發現的問題,通過調試手段找出錯誤原因和位置,然后進行改正,以解決系統設計與實現的缺陷。

針對數據庫的測試,則是依據系統數據需求對軟件系統的數據庫結構、數據庫表及其之間的數據約束關系進行測試,同時也完成數據庫表的數據插入、數據更新、數據刪除、數據查詢測試,數據庫表多用戶并發訪問測試,數據庫觸發器測試,數據庫存儲過程測試,以保證數據庫系統的數據完整性與一致性。

5.系統運行與維護

數據庫應用系統通過測試后,便可投入業務運行。系統運行使用過程中,可能存在用戶操作異常、系統故障等問題,也可能因業務增長、業務流程變化等,原有系統不再適應用戶要求。在這些情況下,DBA都必須對系統進行運行維護,其主要工作如下。

(1)維護數據庫系統安全性與完整性

按照制定的安全規范和故障恢復措施,當系統出現安全問題時,及時調整用戶授權和更改密碼。及時發現系統運行時出現的錯誤信息,迅速修復數據庫缺陷,確保系統正常運行。定期進行數據庫備份處理,一旦發生故障,立即使用數據庫的備份數據予以恢復。

(2)監控與優化數據庫系統運行性能

使用DBMS提供的性能監測與分析工具,實時監控數據庫系統的運行性能狀況。當數據庫的存儲空間或響應時間等性能下降時,分析其原因,并及時采取措施優化數據庫系統性能。例如,采用調整數據庫系統配置參數、整理磁盤碎片、調整存儲結構或重建數據庫索引等方法,使數據庫系統保持高效率的正常運作。

(3)擴展數據庫系統處理能力

當業務數據量增長到一定程度后,原有數據庫系統的處理能力就難以保證業務要求。因此,適時地對原有數據庫系統的計算能力、存儲容量、網絡帶寬進行擴展是十分必要的。

課堂討論:本節重點與難點知識問題

1)什么是數據庫應用系統?數據庫應用系統主要有哪幾種類型?

2)數據庫應用系統有哪些架構模式?各適合什么應用場景?

3)數據庫應用系統的生命周期有哪幾個階段?每個階段主要有什么活動?

4)在數據庫應用系統設計階段,系統的數據庫設計包括哪些內容?

5)在數據庫應用系統實現階段,為什么要準備測試數據?

6)在數據庫應用系統投入運行后,為什么還需要DBA維護數據庫系統?

主站蜘蛛池模板: 阿克| 晋江市| 新沂市| 周口市| 抚州市| 滁州市| 天气| 固阳县| 苍南县| 淅川县| 南康市| 沧州市| 姜堰市| 新宾| 清徐县| 双流县| 西昌市| 土默特右旗| 汝南县| 榆树市| 东乡族自治县| 安泽县| 清苑县| 全南县| 万源市| 屏东市| 集贤县| 静安区| 漳浦县| 太康县| 阳新县| 临桂县| 古蔺县| 临沧市| 依安县| 凤山市| 沁阳市| 乐昌市| 阳朔县| 高密市| 抚远县|