999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于MIDAS的圖書館信息管理系統的構建

2010-08-15 00:44:26姚曦
電腦與電信 2010年9期
關鍵詞:數據庫系統

姚曦

(福建衛生職業技術學院,福建福州350000)

1.引言

1.1 兩層體系結構

以往人們開發系統大都采用客戶機/服務器的兩層結構,在這種模式中,所有的形式邏輯和業務邏輯均駐留在客戶端,而服務器則成為數據庫服務器。這樣一來服務器就變得很“胖”,被稱為“胖客戶端(FatClient)”。它的弊端十分明顯:“胖”客戶端造成更新繁瑣,日常維護十分困難,一旦客戶端的程序發生改變,就必須對所有的客戶端進行修改。并且隨著客戶端的不斷增加,對帶寬與服務器的壓力也越來越大。

1.2 三層體系結構

M IDAS是Multi-tier Distributed Application Services Suite(多層分布式應用程序服務包)的縮寫。三層體系結構即客戶應用程序(表示層),應用程序服務器(業務層),遠程數據庫服務器(數據層)。其中數據層負責存儲數據,可以理解為數據庫服務器。業務層負責從數據庫中獲取數據并檢查其的合法性。表示層也可稱做GUI層,負責在客戶端顯示數據。

M IDAS優點在于使三層結構在邏輯上相互獨立。表示層配置在客戶機中,即在客戶端僅是一些界面設計,沒有具體的應用程序。當要追加新業務時,只需統一在應用程序服務器進行中間件的更新,而不影響其它兩層,實現了“瘦”客戶端,彌補了兩層體系結構的不足。

2.系統的設計思想

本系統以Delphi7.0為主要的開發平臺,MS SQL Server2000作為數據庫服務器,采用Delphi中的M IDAS基本的開發方法,構建了具有三層體系結構的圖書館信息管理系統。系統在客戶端使用基于TCP/IP協議的Delphi TsocketConnection組件連接中間件。在中間件使用多線程連接數據庫,并使用遠程數據模塊(RemoteDataModle)中的Provider接收來自客戶端的Clientdataset組件的請求,并向數據庫查找想要的數據。而后再通過Provider向客戶端的Clientdataset組件送回數據。最后數據存儲在由MS SQL Server2000構建的數據服務器中。

2.1 系統的需求分析

通過調研,確定了圖書館信息管理系統的兩類管理模式:圖書管理員,學生。他們各自擁有權限管理及功能。圖書管理員有5個操作模塊:圖書管理、學生管理、查詢、圖書操作、報表打印。學生有2個操作模塊:圖書信息檢索、學生信息。

2.2 系統的模塊組成

本多層的圖書館管理系統有三個功能模塊來實現。客戶服務器,應用程序服務器,數據庫。他們的實現步驟如下:首先開發遠程應用程序服務器,他負責為客戶服務器提供數據服務。其次開發客戶服務器及客戶端界面,最后連接客戶端應用程序和遠程應用程序服務器。

3.系統的設計與實現

3.1 遠程應用程序服務器的實現

Delphi建立的遠程應用程序服務器要求是一個EXE服務器,它稱為M IDAS應用程序服務器。通常通過以下幾個步驟來建立:1、建立應用程序。2、建立基于TCP/IP的TremoteDataModule的遠程數據模塊。3、在遠程數據模塊中使用ADOQuery組件連接數據庫。4、使用TdataSetProvider組件連接遠程數據模塊之中的數據集組件。5、編譯、運行遠程應用程序服務器。

3.2 遠程應用程序服務器與數據庫的連接

本系統使用TADOConnection組件連接數據庫。如果想建立多個數據源連接,則需要同時使用多個TADOConnection組件,否則只需使用一個TADOConnection組件即可。本系統使用connectionstring連接數據庫。連接的語句為“Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;InitialCatalog=圖書館管理系統;Data Source=yx”其中各參數意義如下:

Provider:數據提供者。因為本系統數據庫為SQL,所以選擇SQLOLEDB.1。

Persist Security Info:設置為“false”時,當連接處于打開狀態時,一些安全信息不會返回。

User ID:用戶登錄數據庫的ID。

Initial Catalog:數據庫的目錄名稱。

Data Source:數據庫服務器的名稱。

3.3 客戶服務器的實現

客戶端使用TClientDataSet通過TCP/IP與遠程應用程序服務器的TdatasetProvider進行連接來獲取數據。使用TClientDataSet的ApplyUpdates方法來保存對數據庫的更新操作。其中TClientDataSet是個存在于內存中的“虛擬表”,它具有緩沖的作用,因此對數據庫的操作非常快。

3.4 數據的顯示操作

本系統在客戶服務器上使用Dbgrid來顯示數據,利用Dbgrid中的Dataset連接ClientDataSet,而不是直接連接到數據源。以往當需要在客戶服務器上顯示查找的記錄時,會訪問數據庫依次查詢各條記錄,直至最后一條。這就造成每次顯示數據都必須訪問數據庫,當多客戶端或多次操作時,數據庫的開銷就很大。Dbgrid的優點在于可通過設置ClientDataSet中的PacketRecords選項可以選擇下載多少的數據至內存,并直接在內存中進行查詢操作,無需每次操作都訪問數據庫,極大減少了數據庫的開銷,滿足了多客戶端的需求,提高了系統的負載能力。具體的操作步驟如下:

在客戶服務器中建立三個TclientDataset,在遠程應用程序服務器中建立兩個TDataSetProvider,兩個ADOQury。其中clientDataset1連接Datasetprocider1,DataSetProvider1的數據集為ADOQury1,clientDataset2連接的是Datasetprocide2,DataSetProvider2的數據集為ADOQury2,兩個ADOQury的SQL string語句都是Select*From Notebook(從圖書記錄表中選取所有的信息)。ClientDataset3沒有連接任何其它數據組件。

如果用戶要搜索以“明月”為開頭的數據,那么可能會找到“明月夜”,“明月天”這些數據,但如果直接把數據添加到clientDataset1中,考慮到clientDataset1也許已經存在這些數據,clientDataset1中的數據就會重復。所以必須對clientDataset1進行檢查。如果直接在clientDataset1進行檢查,那么clientDataset1會到數據庫下載所有的數據。因此需要一個無連接任何組件的clientDataset3。把clientDataset1中的數據指定給clientDataset3,用CheckData方法來比較兩個clientDataset的數據是否相同,如果找到相同的數據則在clientDataset2中刪除,最后把clientDataset2中的數據重新更新至clientDataset1即可。

3.6 數據的更新操作

數據的更新操作一般可以分為增加,修改和刪除。本系統使用TclientDataSet組件中的的Insert,Edit,Delete等方法來更新數據,然后調用Post。但與兩層體系結構不一樣的地方在于:調用Post后,實際上并沒有對數據庫服務器中的數據進行更新,而是將更新的內容存儲在客戶服務器的內存中。最后必須調用ApplyUpdates來執行更新操作后,才把數據真正地更新到數據庫服務器。同時還可以為ApplyUpdates設置一個數值來設置容錯率。數值的大小代表了容錯率的高低,并設置出現錯誤時事務的處理方法來提高系統的安全性。

4.結束語

近年來,隨著計算機網絡的發展,對信息的需求越來越大。隨之人們對數據處理的要求也越來越高。不僅要求高負荷,也要求高可靠性和安全性。從長遠看,M IDAS的數據庫結構將會慢慢取代傳統的兩層數據庫結構,成為開發數據庫系統的關鍵技術,為數據處理提高安全穩固的保障。基于這種想法,本文闡述了分布式數據結構的基本結構,對其進行了研究,分析了它的優點。并在研究的基礎上,論述了一個基于M IDAS的圖書館信息管理系統。給出了需求分析和具體的實現方法與主要技術。

[1] W illiam Y.Arms.數字圖書館概論[M].電子工業出版社,2001.

[2] 王志梅.關系數據庫基礎與技術[M].國防工業出版社,2005.

[3] 董良,高磊,朱明峰,高忠濤.深入淺出Delphi6[M].清華大學出版社,2002.

[4] 李維.Delphi5.X ADO/MTS/COM+高級程序設計篇[M].機械工業出版社,2000.

[5] 李維.DELPHI5.X分布式多層應用系統篇[M].械工業出版社,2000.

[6] Arco Cantu.Mastering Delphi7.oel Fugazzotto.2003.

猜你喜歡
數據庫系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
半沸制皂系統(下)
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
數據庫
財經(2017年15期)2017-07-03 22:40:49
數據庫
財經(2017年2期)2017-03-10 14:35:35
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
主站蜘蛛池模板: 亚洲天堂啪啪| 久久综合一个色综合网| 在线无码av一区二区三区| 91激情视频| 久久精品人人做人人综合试看| 中文字幕免费播放| 国产精女同一区二区三区久| 国产成人精品免费视频大全五级| 国产综合色在线视频播放线视| 亚洲色偷偷偷鲁综合| 亚洲国产无码有码| 伊人激情综合网| 国产在线无码一区二区三区| 亚洲欧州色色免费AV| 亚洲天堂日韩在线| 99精品视频九九精品| 91区国产福利在线观看午夜 | 亚洲精品另类| 国产香蕉一区二区在线网站| 日本午夜网站| 九九香蕉视频| 欧美另类图片视频无弹跳第一页| 久久成人18免费| 国产91高跟丝袜| 国产福利免费在线观看| 福利姬国产精品一区在线| 国产尤物jk自慰制服喷水| 亚洲妓女综合网995久久| 手机成人午夜在线视频| 久久亚洲国产最新网站| 亚洲中文字幕在线观看| 亚洲水蜜桃久久综合网站| 国产又黄又硬又粗| 日韩精品成人网页视频在线| 97视频免费在线观看| 亚洲欧美激情另类| 欧美精品综合视频一区二区| 亚洲精品图区| 亚洲福利片无码最新在线播放| 免费人成网站在线观看欧美| 在线网站18禁| 精品伊人久久久久7777人| 国产va免费精品观看| 日本午夜三级| 99久久精品国产麻豆婷婷| 伊人久久大线影院首页| 国产真实乱了在线播放| 一本大道东京热无码av| 日韩无码视频专区| 亚洲人成影视在线观看| 无码高潮喷水专区久久| 免费一级无码在线网站| 亚洲欧美在线看片AI| 久夜色精品国产噜噜| 亚洲精品视频免费观看| 国产亚洲视频播放9000| 中文字幕日韩欧美| 被公侵犯人妻少妇一区二区三区| 婷婷色一二三区波多野衣| 亚洲欧美成人综合| 91麻豆精品国产91久久久久| 一区二区影院| 欧美成人一区午夜福利在线| 国产亚洲精| 日本免费一级视频| www.99在线观看| 超薄丝袜足j国产在线视频| 国产乱论视频| 国产一级视频在线观看网站| 91黄视频在线观看| 一区二区日韩国产精久久| 91麻豆精品国产高清在线| 亚州AV秘 一区二区三区 | 中文字幕av无码不卡免费 | 欧美一区二区自偷自拍视频| 日本高清免费一本在线观看| 久久久久亚洲AV成人人电影软件| 天天色综合4| 色老头综合网| 日本尹人综合香蕉在线观看| 污视频日本| 在线免费看片a|