計(jì)算機(jī)數(shù)據(jù)庫設(shè)計(jì)畢業(yè)設(shè)計(jì)論文終稿_第1頁
計(jì)算機(jī)數(shù)據(jù)庫設(shè)計(jì)畢業(yè)設(shè)計(jì)論文終稿_第2頁
計(jì)算機(jī)數(shù)據(jù)庫設(shè)計(jì)畢業(yè)設(shè)計(jì)論文終稿_第3頁
計(jì)算機(jī)數(shù)據(jù)庫設(shè)計(jì)畢業(yè)設(shè)計(jì)論文終稿_第4頁
計(jì)算機(jī)數(shù)據(jù)庫設(shè)計(jì)畢業(yè)設(shè)計(jì)論文終稿_第5頁
已閱讀5頁,還剩20頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

.PAGE.完美WORD格式專業(yè)整理分享畢業(yè)設(shè)計(jì)〔論文題目:XXXXXXXXX學(xué)院:XXXXXXXX專業(yè):XXXXXXXXX班級(jí):XXXXXX學(xué)生姓名:XXXXXXXXXX學(xué)號(hào):XXXXXXXX完成時(shí)間:XX年XX月XX日..目錄摘要:31引言31.1圖書管理的現(xiàn)狀31.2現(xiàn)有圖書管理系統(tǒng)的概述41.3選題的目的、意義41.4圖書管理系統(tǒng)的可行性分析51.5系統(tǒng)開發(fā)運(yùn)行環(huán)境62圖書管理系統(tǒng)開發(fā)相關(guān)技術(shù)的介紹62.1JAVA的介紹62.1.1JAVA的優(yōu)勢介紹62.1.2JAVA的特點(diǎn)62.2MySQL概述72.3Web技術(shù)82.3.1瀏覽器/服務(wù)器<Browser/Server>結(jié)構(gòu)82.3.2IIS服務(wù)器技術(shù)83系統(tǒng)總體設(shè)計(jì)分析93.1系統(tǒng)需求分析93.2系統(tǒng)實(shí)現(xiàn)的目標(biāo)93.3系統(tǒng)功能模塊設(shè)計(jì)103.4系統(tǒng)功能結(jié)構(gòu)圖103.5系統(tǒng)流程圖134數(shù)據(jù)總體結(jié)構(gòu)設(shè)計(jì)144.1數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì)144.2數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)154.3圖書管理系統(tǒng)的系統(tǒng)E-R圖174.4數(shù)據(jù)表設(shè)計(jì)185圖書管理系統(tǒng)詳細(xì)設(shè)計(jì)205.1系統(tǒng)流程分析205.2主要模塊的運(yùn)行205.2.1登陸界面205.2.2圖書信息管理模塊215.2.3圖書借還信息模塊225.3系統(tǒng)開發(fā)的遇到的相關(guān)問題及解決235.3.1圖書管理系統(tǒng)索引235.3.2如何驗(yàn)證輸入的字符串235.3.3自動(dòng)計(jì)算圖書歸還日期245.3.4系統(tǒng)登陸驗(yàn)證碼的實(shí)現(xiàn)246結(jié)論276.1主要研究內(nèi)容及成果286.2今后進(jìn)一步研究方向28參考文獻(xiàn)28..學(xué)校圖書管理系統(tǒng)的開發(fā)摘要:圖書管理系統(tǒng)是智能辦公系統(tǒng)<IOA>的重要組成部分,因此,圖書管理系統(tǒng)也以方便、快捷的優(yōu)點(diǎn)正慢慢地進(jìn)入人們的生活,將傳統(tǒng)的圖書管理方式徹底的解脫出來,提高效率,減輕工作人員以往繁忙的工作,減小出錯(cuò)的概率,使讀者可以花更多的時(shí)間在選擇書和看書上。從而使人們有更多時(shí)間來獲取信息、了解信息、掌握信息。其開發(fā)主要包括后臺(tái)數(shù)據(jù)庫的建立和維護(hù)以及前端應(yīng)用程序的開發(fā)兩個(gè)方面。采用MySQL5.0數(shù)據(jù)庫作為后臺(tái)數(shù)據(jù)庫、JAVA編程語言作為前臺(tái)開發(fā)工具,通過對(duì)數(shù)據(jù)庫技術(shù)進(jìn)行了較深入的學(xué)習(xí)和應(yīng)用,主要完成書目檢索、讀者管理、借閱管理、圖書管理、用戶維護(hù)、系統(tǒng)維護(hù)等系統(tǒng)功能。系統(tǒng)運(yùn)行結(jié)果證明,本文所設(shè)計(jì)的圖書管理系統(tǒng)可以滿足學(xué)生和教師借閱者、圖書管理員兩方面的需要,達(dá)到了設(shè)計(jì)要求。關(guān)鍵詞:圖書管理;系統(tǒng)設(shè)計(jì);信息;JAVA;MySQL5.01引言隨著計(jì)算機(jī)及網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,Internet/Intranet應(yīng)用在全球范圍內(nèi)日益普及,當(dāng)今社會(huì)正快速向信息化社會(huì)前進(jìn),信息系統(tǒng)的作用也越來越大。圖書館在正常運(yùn)營中總是面對(duì)大量的讀者信息,書籍信息以及由兩者相互作用產(chǎn)生的借書信息,還書信息。因此圖書管理信息化是發(fā)展的必然趨勢。用結(jié)構(gòu)化系統(tǒng)分析與設(shè)計(jì)的方法,建立一套有效的圖書信息管理系統(tǒng),可以減輕工作,將工作科學(xué)化、規(guī)范化,提高了圖書館信息管理的工作質(zhì)量因此根據(jù)圖書館目前實(shí)際的管理情況開發(fā)一套圖書管理系統(tǒng)是十分必要的。1.1圖書管理的現(xiàn)狀一直以來人們使用傳統(tǒng)的人工方式管理圖書館的日常工作,對(duì)于圖書館的借書和還書過程,想必大家都已很熟悉。在計(jì)算機(jī)尚未在圖書管理系統(tǒng)廣泛使用之前,借書和還書過程主要依靠手工。一個(gè)最典型的手工處理還書過程就是:讀者將要借的書和借閱證交給工作人員,工作人員將每本書上附帶的描述書的信息的卡片和讀者的借閱證放在一個(gè)小格欄里,并在借閱證和每本書貼的借閱條上填寫借閱信息。這樣借書過程就完成了。還書時(shí),讀者將要還的書交給工作人員,工作人員根據(jù)圖書信息找到相應(yīng)的書卡和借閱證,并填好相應(yīng)的還書信息,這樣還書過程就完成了。隨著近年來信息技術(shù)及計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,圖書館也先從傳統(tǒng)的圖書館發(fā)展到自動(dòng)化圖書館,再發(fā)展到今天的數(shù)字圖書館,這些變化使得圖書館的形象越來越現(xiàn)代化,人們查找資料也更加方便。對(duì)于一些小圖書館和一些圖書室來說,由于工作人員比較少,長期以來,作為圖書館的主要工作—圖書借閱一直未能很好地開展。在平常的圖書借閱工作中,由于大部分讀者不熟悉圖書館藏書,且對(duì)圖書排架分類的不了解,往往花費(fèi)很長時(shí)間才能找到其所需的書。為提高管理效率,更好地為讀者服務(wù),利用已有的辦公局域網(wǎng)絡(luò)條件,將館藏書籍做成基于WEB的查詢系統(tǒng),實(shí)現(xiàn)圖書在一個(gè)單位的網(wǎng)絡(luò)內(nèi)甚至Internet上查詢,可使圖書查詢和借閱變得更加方便快捷,從而使圖書室的工作效率得到明顯提高。傳統(tǒng)的圖書管理模式其最大的特點(diǎn)是手工;首先要把買來的圖書資料登記到資料本上,再給每本書分類貼上標(biāo)簽及制作和標(biāo)簽相對(duì)應(yīng)的圖書分類卡片,最后把圖書分類卡片按類別分別放置在文件柜里。對(duì)于有學(xué)生〔教師證的學(xué)生〔教師來說還要對(duì)他們資料作一定的記錄。并且在人們來借書的時(shí)候,首先持證件者要去存放圖書分類卡片的文件柜里查找想借的書是否在架,如果卡片存在,再按照?qǐng)D書分類卡片在相應(yīng)的書架上找到需要的圖書,然后登記持證件者的借還書時(shí)間和在書簽條上寫下借還書記錄,之后把借書證留在那里;還書的時(shí)候,相對(duì)應(yīng)的消去出借記錄;這樣做起來比較麻煩,比較費(fèi)時(shí)間。傳統(tǒng)圖書管理的特點(diǎn)是一直以來,中小型書店、中小學(xué)的小型圖書館及各高校圖書館和資料室使用傳統(tǒng)的人工方式管理圖書檔案、會(huì)員檔案。這種管理方式存在著諸多缺點(diǎn),如:手續(xù)繁瑣、工作量大、效率低下、出錯(cuò)率高等,同時(shí)給對(duì)大量資料的查詢、更新及維護(hù)都帶來不少困難。1.2現(xiàn)有圖書管理系統(tǒng)的概述在試用了一些個(gè)圖書管理系統(tǒng)和查閱了大量相關(guān)資料文獻(xiàn)的基礎(chǔ)上,發(fā)現(xiàn)那些系統(tǒng)在幾個(gè)方面已經(jīng)不符合時(shí)代的要求,由于設(shè)計(jì)人員及其所用的工具的不同,有VisualBasic6.0、VisualForPro6.0、PowerBuilder等,再加上這些圖書管理系統(tǒng)設(shè)計(jì)的時(shí)間也不一樣,所用具體場合也有區(qū)別,因此在功能上除了圖書資料管理所需的基本功能之外也有所不同。經(jīng)過比較總結(jié)他們都實(shí)現(xiàn)了以下圖書管理的基本功能:1、圖書檢索模塊:是圖書管理系統(tǒng)的重要模塊之一,是讀者快速查詢圖書的途徑。2、圖書管理模塊:是圖書管理員操作模塊,讀者是無權(quán)進(jìn)入的。本模塊由借出圖書登記、歸還圖書登記和續(xù)借圖書登記子模塊構(gòu)成。3、數(shù)據(jù)維護(hù)模塊:是由圖書管理員控制的模塊,它由增加、修改和刪除讀者,增加、修改刪除圖書,瀏覽修改讀者、瀏覽修改圖書等程序組成。4、數(shù)據(jù)統(tǒng)計(jì)模塊:由讀者統(tǒng)計(jì)、圖書統(tǒng)計(jì)、借出圖書分類統(tǒng)計(jì)、到期末歸還圖書讀者統(tǒng)計(jì)幾部分組成。這些系統(tǒng)解決了以前的那種管理方式所存在著的諸如手續(xù)繁瑣、工作量大、效率低下、出錯(cuò)率高等缺點(diǎn),設(shè)計(jì)出的系統(tǒng)能使讀者快速檢索到自己喜愛的書,圖書管理員能減輕工作量。但是鑒于開發(fā)工具和開發(fā)當(dāng)時(shí)的科技發(fā)展水平所限,再加上歷史發(fā)展到今天,人們的生活環(huán)境已經(jīng)發(fā)生了改變,大家對(duì)于圖書查詢這方面的要求也更高。比如在一個(gè)局域網(wǎng)內(nèi),大家希望能在本臺(tái)電腦上就能查找自己想要的圖書,而不用跑到圖書館或圖書室里去用那里的電腦查詢,這就需要一個(gè)網(wǎng)絡(luò)化的聯(lián)機(jī)查詢系統(tǒng)。1.3選題的目的、意義隨著社會(huì)的進(jìn)步,信息技術(shù)的廣泛應(yīng)用,數(shù)字化管理的優(yōu)勢日趨顯著。針對(duì)中小型圖書館或圖書室管理落后的情況,設(shè)計(jì)實(shí)現(xiàn)一個(gè)圖書信息管理系統(tǒng),通過與計(jì)算機(jī)的結(jié)合使用對(duì)中小型圖書館或圖書室的各種圖書信息進(jìn)行管理可以給管理員和用戶帶來以下不同的方便:檢索迅速、查找方便、可靠性高、存儲(chǔ)量大、保密性好、壽命長、成本低等。這些優(yōu)點(diǎn)能夠極大地提高工作效率,也是圖書館等部門管理科學(xué)化、正規(guī)化的重要標(biāo)志之一。而且計(jì)算機(jī)管理的成本不斷降低。因此,開發(fā)一套這樣的中小型圖書管理軟件已經(jīng)很有必要,并且實(shí)現(xiàn)研究服務(wù)于實(shí)踐的原則。1.4圖書管理系統(tǒng)的可行性分析本次畢業(yè)設(shè)計(jì)題目:"學(xué)校圖書管理系統(tǒng)的開發(fā)"主要目的是利用數(shù)據(jù)庫軟件編制一個(gè)管理軟件,用以實(shí)現(xiàn)圖書、讀者以及日常工作等多項(xiàng)管理。同時(shí)對(duì)整個(gè)系統(tǒng)的分析、設(shè)計(jì)過程給出一個(gè)完整論證。圖書管理系統(tǒng)是一種基于集中統(tǒng)一規(guī)劃的數(shù)據(jù)庫數(shù)據(jù)管理新模式。在對(duì)圖書、讀者的管理,其實(shí)是對(duì)圖書、讀者數(shù)據(jù)的管理。本系統(tǒng)的建成無疑會(huì)為管理者對(duì)圖書管理系統(tǒng)提供極大的幫助。本系統(tǒng)的設(shè)計(jì)主要從以下幾方面做起:系統(tǒng)業(yè)務(wù)流程分析、系統(tǒng)的功能設(shè)計(jì)、系統(tǒng)的數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)等。作這些工作需對(duì)數(shù)據(jù)庫知識(shí)有足夠認(rèn)識(shí),并深入的了解Java的使用和管理系統(tǒng)的相關(guān)知識(shí)。在信息時(shí)代的今天,人類需要對(duì)在政治、經(jīng)濟(jì)、軍事、文化、科研、教育等領(lǐng)域產(chǎn)生的大量信息進(jìn)行管理,并對(duì)數(shù)據(jù)進(jìn)行加工處理,數(shù)據(jù)庫技術(shù)則是信息管理與數(shù)據(jù)處理的先進(jìn)技術(shù)。隨著信息量的不斷增加,作為計(jì)算機(jī)的三大主要應(yīng)用〔科學(xué)計(jì)算、過程控制和數(shù)據(jù)處理之一的數(shù)據(jù)處理,已迅速上升為計(jì)算機(jī)應(yīng)用的主要方面,數(shù)據(jù)庫技術(shù)則成為人們?nèi)粘I钪刑幚頂?shù)據(jù)不可缺少的有力工具,并且現(xiàn)代的信息管理系統(tǒng)幾乎都以數(shù)據(jù)庫技術(shù)作為核心。現(xiàn)在大多數(shù)的圖書管理方式為手工處理,重復(fù)勞動(dòng)多,勞動(dòng)強(qiáng)度大,而且容易出錯(cuò),新系統(tǒng)的使用能否可以很好的解決這些問題要看系統(tǒng)的可行性,可行性研究的目的是用最小的代價(jià)在盡可能短的時(shí)間內(nèi)確定問題是否能夠解決。系統(tǒng)的可行性分析有以下幾個(gè)方面:<1>技術(shù)可行性:處理速度快、準(zhǔn)確通過權(quán)限的設(shè)置,數(shù)據(jù)的安全性好、方便查詢、借閱管理等。<2>經(jīng)濟(jì)可行性:系統(tǒng)建設(shè)不需要很大的投入、可縮減人力投入。<3>運(yùn)行上可行性:本系統(tǒng)作為一個(gè)小型的圖書館信息管理系統(tǒng),所耗費(fèi)的資源非常的小。<4>從各種社會(huì)因素可行性分析:可降低工作人員工作強(qiáng)度,提高效率,會(huì)得到學(xué)校工作人員的一致同意的。綜上所述通過可行性分析認(rèn)為新系統(tǒng)的開發(fā)方案切實(shí)可行,可進(jìn)行開發(fā)。1.5系統(tǒng)開發(fā)運(yùn)行環(huán)境系統(tǒng)開發(fā)環(huán)境:MyEclipseJavaEnterprise6.5系統(tǒng)開發(fā)語言:Java運(yùn)行平臺(tái):WindowsXP數(shù)據(jù)庫:MySQL5.0Web服務(wù)器:Tomcat6.02圖書管理系統(tǒng)開發(fā)相關(guān)技術(shù)的介紹2.1JAVA的介紹JAVA的優(yōu)勢介紹Java已用動(dòng)態(tài)的交互應(yīng)用軟件使Web栩栩如生。它使開發(fā)人員具有‘編寫一次到處運(yùn)行TM"的巨大能力。而且,借助其JavaAPI及其編程語言上的Java虛擬機(jī),它已產(chǎn)生一種分布信息的嶄新模式。這種模式叫做Java企業(yè)計(jì)算,正在幫助各企業(yè)以各種不同的方法取得競爭優(yōu)勢。網(wǎng)管和控制已大大簡化。軟件分配基本上是免費(fèi)的,而且立即可實(shí)現(xiàn)。電子貿(mào)易已獲得。占有成本大幅度降低。信息和應(yīng)用軟件到處可存取。Java建立在簡單的前提基礎(chǔ)上,即所有微處理器都應(yīng)講同一種語言——所有內(nèi)部采用芯片的產(chǎn)品都應(yīng)能一起工作,無縫而方便地共享信息。它已經(jīng)改變企業(yè)和個(gè)人同Internet大交道的方式。現(xiàn)在,它正在對(duì)消費(fèi)類產(chǎn)品產(chǎn)生明顯的影響,而且從總體上更加深刻地影響企業(yè)計(jì)算。借助Java,您可自由自在地使用您已擁有的硬件和軟件。這是因?yàn)镴ava是獨(dú)立于平臺(tái)的。它還可使您超越企業(yè)計(jì)算,使應(yīng)用軟件在便攜式計(jì)算機(jī)、信息亭、電視、蜂窩電話和其他大量設(shè)備上運(yùn)行。全世界的公司都已發(fā)現(xiàn)Java數(shù)不勝數(shù)的用途。所有用途可從其無可比擬的能力,即提高可靠性、安全性和簡化各種不同計(jì)算產(chǎn)品和環(huán)境的能力中受益非淺,而且節(jié)省的時(shí)間和費(fèi)用十分可觀。Java無處不在。它已擁有幾百萬個(gè)用戶,其發(fā)展速度要快于在它以前的其他任何一種計(jì)算機(jī)產(chǎn)品。它可位于任何地方,而且能到處運(yùn)行。Java正在迅速被用做傳播信息的事實(shí)上標(biāo)準(zhǔn),這是因?yàn)樗瓤山o企業(yè),也可給最終用戶帶來似乎數(shù)不清的好處。JAVA的特點(diǎn)面向?qū)ο螅浩鋵?shí)是現(xiàn)實(shí)世界模型的自然延伸?,F(xiàn)實(shí)世界中任何實(shí)體都可以看作是對(duì)象。對(duì)象之間通過消息相互作用。另外,現(xiàn)實(shí)世界中任何實(shí)體都可歸屬于某類事物,任何對(duì)象都是某一類事物的實(shí)例。如果說傳統(tǒng)的過程式編程語言是以過程為中心以算法為驅(qū)動(dòng)的話,面向?qū)ο蟮木幊陶Z言則是以對(duì)象為中心以消息為驅(qū)動(dòng)。用公式表示,過程式編程語言為:程序=算法+數(shù)據(jù);面向?qū)ο缶幊陶Z言為:程序=對(duì)象+消息。所有面向?qū)ο缶幊陶Z言都支持三個(gè)概念:封裝、多態(tài)性和繼承,Java也不例外?,F(xiàn)實(shí)世界中的對(duì)象均有屬性和行為,映射到計(jì)算機(jī)程序上,屬性則表示對(duì)象的數(shù)據(jù),行為表示對(duì)象的方法〔其作用是處理數(shù)據(jù)或同外界交互。所謂封裝,就是用一個(gè)自主式框架把對(duì)象的數(shù)據(jù)和方法聯(lián)在一起形成一個(gè)整體。可以說,對(duì)象是支持封裝的手段,是封裝的基本單位。Java語言的封裝性較強(qiáng),因?yàn)镴ava無全程變量,無主函數(shù),在Java中絕大部分成員是對(duì)象,只有簡單的數(shù)字類型、字符類型和布爾類型除外。而對(duì)于這些類型,Java也提供了相應(yīng)的對(duì)象類型以便與其他對(duì)象交互操作??梢浦残裕壕褪窃谶@個(gè)系統(tǒng)上作的程序經(jīng)過一次編譯后可以移植到別的系統(tǒng)上解釋執(zhí)行,只要經(jīng)過簡單的粘貼和復(fù)制就行了,不影響程序的效果安全性:在iSeries服務(wù)器上運(yùn)行的大多數(shù)Java<TM>程序是應(yīng)用程序,而不是applet,所以"砂箱"安全性模型對(duì)它們不起限制作用。從安全性的觀點(diǎn)看,Java應(yīng)用程序所受的安全性限制與iSeries服務(wù)器上的任何其它程序相同。要在iSeries服務(wù)器上運(yùn)行Java程序,您必須對(duì)集成文件系統(tǒng)中的類文件具有權(quán)限。程序一旦啟動(dòng),它就在該用戶權(quán)限控制下運(yùn)行。您可以使用沿用權(quán)限來訪問具有運(yùn)行程序的用戶的權(quán)限和程序擁有者權(quán)限的對(duì)象。沿用權(quán)限臨時(shí)地將用戶原先無權(quán)訪問的對(duì)象的權(quán)限授予用戶。并發(fā)性:JAVA支持多線程技術(shù),就是多個(gè)線程并行機(jī)制,多線程是Java的一個(gè)重要方法,特別有利于在程序中實(shí)現(xiàn)并發(fā)任務(wù).Java提供Thread線程類,實(shí)現(xiàn)了多線程的并發(fā)機(jī)制.然而,程序的并發(fā)執(zhí)行必定會(huì)出現(xiàn)多個(gè)線程互斥訪問臨界資源的局面,因而并發(fā)系統(tǒng)解決的關(guān)鍵就是對(duì)臨界資源的管理和分配問題,而在進(jìn)行臨界資源分配時(shí)有兩方面需要考慮,即安全性和公平性.文中首先討論了多線程并發(fā)系統(tǒng)中的安全性與公平性問題,指出安全性與公平性在并發(fā)系統(tǒng)中訪問臨界資源時(shí)的重要性.并通過火車行駛單行隧道的實(shí)例,演示各種條件下的行駛情況來進(jìn)一步說明該問題.MySQL概述MySQL是一個(gè)小型關(guān)系型數(shù)據(jù)庫管理系統(tǒng),開發(fā)者為瑞典MySQLAB公司。在20XX1月16號(hào)被Sun公司收購。而20XX,SUN又被Oracle收購.對(duì)于Mysql的前途,沒有任何人抱樂觀的態(tài)度.目前MySQL被廣泛地應(yīng)用在Internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點(diǎn),許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫。它具有以下特點(diǎn):<1>.使用C和C++編寫,并使用了多種編譯器進(jìn)行測試,保證源代碼的可移植性。<2>.支持AIX、FreeBSD、HP-UX、Linux、MacOS、NovellNetware、OpenBSD、OS/2Wrap、Solaris、Windows等多種操作系統(tǒng)。<3>.為多種編程語言提供了API。這些編程語言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。<4>.支持多線程,充分利用CPU資源。<5>.優(yōu)化的SQL查詢算法,有效地提高查詢速度。<6>.既能夠作為一個(gè)單獨(dú)的應(yīng)用程序應(yīng)用在客戶端服務(wù)器網(wǎng)絡(luò)環(huán)境中,也能夠作為一個(gè)庫而嵌入到其他的軟件中提供多語言支持,常見的編碼如中文的GB2312、BIG5,日文的Shift_JIS等都可以用作數(shù)據(jù)表名和數(shù)據(jù)列名。<7>.提供TCP/IP、ODBC和JDBC等多種數(shù)據(jù)庫連接途徑。<8>.提供用于管理、檢查、優(yōu)化數(shù)據(jù)庫操作的管理工具。<9>.可以處理擁有上千萬條記錄的大型數(shù)據(jù)庫。2.3Web技術(shù)瀏覽器/服務(wù)器<Browser/Server>結(jié)構(gòu)隨著Web和Internet計(jì)算環(huán)境的發(fā)展,將使企業(yè)能夠以更快的速度、更低的費(fèi)用去創(chuàng)建和布置企業(yè)的應(yīng)用系統(tǒng),因而,普遍認(rèn)為C/S架構(gòu)將會(huì)被B/S結(jié)構(gòu)取代。Internet為數(shù)據(jù)庫應(yīng)用系統(tǒng)提供了新的機(jī)會(huì),采用B/S結(jié)構(gòu),客戶機(jī)上只要安裝一個(gè)瀏覽器<Browser>,如NetscapeNavigator或InternetExplores;中間層采用Web服務(wù)器,它接受客戶端的請(qǐng)求,將其轉(zhuǎn)換為SQL語句,通過ODBC或其他手段傳給數(shù)據(jù)庫服務(wù)器,并將數(shù)據(jù)庫服務(wù)器返回的結(jié)果用HTML文件格式傳回給客戶機(jī)??蛻魴C(jī)的要求大大降低,大部分程序在服務(wù)器端執(zhí)行。采用3層體系結(jié)構(gòu)的Web應(yīng)用程序由Web瀏覽器、Web服務(wù)器和數(shù)據(jù)庫3部分組成,如圖2-1所示。Web瀏覽器與Web服務(wù)器之間的通信仍然遵循HTTP,Web服務(wù)器與數(shù)據(jù)庫之間的通信遵守CGI<CommonGatewayInterface>或者ServerAPI規(guī)范。在采用三層體系結(jié)構(gòu)的Web應(yīng)用程序中,Web瀏覽器向Web服務(wù)器請(qǐng)求某個(gè)HTML文檔或者請(qǐng)求執(zhí)行某個(gè)CGI腳本程序。Web服務(wù)器根據(jù)Web瀏覽器請(qǐng)求的是某個(gè)CGI程序或者API程序,Web服務(wù)器則執(zhí)行<或調(diào)用外部程序執(zhí)行>該程序,然后將程序執(zhí)行結(jié)果返回給Web瀏覽器。習(xí)慣上,我們把采用這種體系結(jié)構(gòu)的Web網(wǎng)站稱作"動(dòng)態(tài)網(wǎng)站"。目前,互聯(lián)網(wǎng)中絕大部分網(wǎng)站和大多數(shù)Web應(yīng)用系統(tǒng)都采用了這種體系結(jié)構(gòu)。2.3.2IIS服務(wù)器技術(shù)Tomcat是Apache軟件基金會(huì)〔ApacheSoftwareFoundation的Jakarta項(xiàng)目中的一個(gè)核心項(xiàng)目,由Apache、Sun和其他一些公司及個(gè)人共同開發(fā)而成。由于有了Sun的參與和支持,最新的Servlet和JSP規(guī)范總是能在Tomcat中得到體現(xiàn),Tomcat5支持最新的Servlet2.4和JSP2.0規(guī)范。因?yàn)門omcat技術(shù)先進(jìn)、性能穩(wěn)定,而且免費(fèi),因而深受Java愛好者的喜愛并得到了部分軟件開發(fā)商的認(rèn)可,成為目前比較流行的Web應(yīng)用服務(wù)器。目前最新版本是6.0。Tomcat很受廣大程序員的喜歡,因?yàn)樗\(yùn)行時(shí)占用的系統(tǒng)資源小,擴(kuò)展性好,支持負(fù)載平衡與郵件服務(wù)等開發(fā)應(yīng)用系統(tǒng)常用的功能;而且它還在不斷的改進(jìn)和完善中,任何一個(gè)感興趣的程序員都可以更改它或在其中加入新的功能。Tomcat是一個(gè)小型的輕量級(jí)應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場合下被普遍使用,是開發(fā)和調(diào)試JSP程序的首選。對(duì)于一個(gè)初學(xué)者來說,可以這樣認(rèn)為,當(dāng)在一臺(tái)機(jī)器上配置好Apache服務(wù)器,可利用它響應(yīng)對(duì)HTML頁面的訪問請(qǐng)求。實(shí)際上Tomcat部分是Apache服務(wù)器的擴(kuò)展,但它是獨(dú)立運(yùn)行的,所以當(dāng)你運(yùn)行tomcat時(shí),它實(shí)際上作為一個(gè)與Apache獨(dú)立的進(jìn)程單獨(dú)運(yùn)行的。這里的訣竅是,當(dāng)配置正確時(shí),Apache為HTML頁面服務(wù),而Tomcat實(shí)際上運(yùn)行JSP頁面和Servlet。另外,Tomcat和IIS、Apache等Web服務(wù)器一樣,具有處理HTML頁面的功能,另外它還是一個(gè)Servlet和JSP容器,獨(dú)立的Servlet容器是Tomcat的默認(rèn)模式。不過,Tomcat處理靜態(tài)HTML的能力不如Apache服務(wù)器。3系統(tǒng)總體設(shè)計(jì)分析3.1系統(tǒng)需求分析隨著互聯(lián)網(wǎng)的爆炸性發(fā)展,人們越來越習(xí)慣于利用網(wǎng)絡(luò)來實(shí)現(xiàn)所需的服務(wù),網(wǎng)絡(luò)已深深影響到人們生活的各個(gè)方面。另外,傳統(tǒng)的圖書館不能滿足一部分現(xiàn)代人的需要,而電子閱覽室,由于其不受時(shí)間與空間的限制同時(shí)又具有傳統(tǒng)圖書館的大部分功能,能夠滿足各類用戶的常規(guī)與特殊需求,而且其方便快捷,實(shí)現(xiàn)技術(shù)又比較成熟,因此受到當(dāng)代人的喜愛。該系統(tǒng)主要分為兩部分:讀者部分和管理員部分。為了方便讀者查找自己感興趣的主題進(jìn)行閱讀,要將圖書按照內(nèi)容進(jìn)行分類。讀者可以按照類別進(jìn)行查找,逐級(jí)瀏覽、可以查看自己的信息。本系統(tǒng)還可對(duì)用戶的賬號(hào)和書目的閱讀權(quán)限進(jìn)行管理。管理員需要給用戶分配用戶名和密碼,及設(shè)定用戶的級(jí)別,還為用戶提供圖書的排行榜讓用戶能知道那些圖書受到大家的歡迎。3.2系統(tǒng)實(shí)現(xiàn)的目標(biāo)學(xué)校圖書管理系統(tǒng)的開發(fā)主要要實(shí)現(xiàn)的目標(biāo)有以下幾個(gè)方面:<1>界面設(shè)計(jì)友好、美觀。<2>數(shù)據(jù)存儲(chǔ)安全、可靠。<3>信息分類清晰、準(zhǔn)確。<4>強(qiáng)大的查詢功能,保證數(shù)據(jù)查詢的靈活性。<5>實(shí)現(xiàn)對(duì)圖書借閱和歸還過程的全程數(shù)據(jù)信息跟蹤。<6>提供圖書借閱排行榜,為圖書管理員提供了真實(shí)的數(shù)據(jù)信息。<7>提供靈活、方便的權(quán)限設(shè)置功能,使整個(gè)系統(tǒng)的管理分工明確。<8>具有易維護(hù)性和易操作性。3.3系統(tǒng)功能模塊設(shè)計(jì)<1>系統(tǒng)設(shè)置模塊:添加刪除管理員、設(shè)置管理員的權(quán)限、說明圖書存放書架信息添加刪除書架信息。<2>讀者管理模塊:添加刪除不同類型的讀者及注明可借圖書的數(shù)量、添加刪除讀者的檔案。<3>圖書管理模塊:添加刪除不同類型的的圖書及注明圖書可借的天數(shù)庫存數(shù)量、添加刪除圖書的檔案。<4>圖書借還模塊:可查詢讀者借閱和歸還圖書的信息及圖書的現(xiàn)有庫存量。<0035>系統(tǒng)查詢模塊:可根據(jù)不同的條件〔條形碼、書名、類別、作者、書架、出版社查詢讀者需要的圖書、讀者可根據(jù)不同的條件〔圖書條形碼、圖書名稱、讀者編號(hào)、讀者名字、到期時(shí)間查詢自己借閱圖書信息。<6>排行榜模塊:可以讓讀者知道圖書借閱的排行榜及讀者借閱的排行榜。3.4系統(tǒng)功能結(jié)構(gòu)圖根據(jù)圖書管理系統(tǒng)的實(shí)際需求,可以將圖書管理系統(tǒng)劃分為系統(tǒng)設(shè)置、圖書管理、讀者管理、圖書借還、系統(tǒng)查詢、排行榜6個(gè)部分各個(gè)部分的具體功能的系統(tǒng)功能結(jié)構(gòu)圖如圖3-1所示。圖書管理系統(tǒng)圖書管理系統(tǒng)系統(tǒng)設(shè)置管理員設(shè)置書架設(shè)置讀者管理排行榜圖書管理圖書借還系統(tǒng)查詢讀者類型管理圖書借閱排行榜讀者借閱排行榜圖書借閱查詢圖書檔案查詢圖書歸還圖書借閱圖書檔案管理圖書類型管理讀者檔案管理圖3-1系統(tǒng)功能結(jié)構(gòu)圖<1>圖書借閱系統(tǒng)完成用戶的借書過程其數(shù)據(jù)流圖如圖3-2所示。圖3-2借閱系統(tǒng)的數(shù)據(jù)流圖<2>還書系統(tǒng)完成圖書的歸還過程其數(shù)據(jù)流圖如圖3-3所示。圖3-3歸還系統(tǒng)的數(shù)據(jù)流圖〔3圖書檔案管理系統(tǒng)為用戶提供圖書檔案信息其數(shù)據(jù)流圖如圖3-4所示。圖3-4圖書檔案管理數(shù)據(jù)流圖〔4讀者檔案系統(tǒng)用于記錄讀者的詳細(xì)信息其數(shù)據(jù)流圖如圖3-5所示。圖3-5讀者檔案管理數(shù)據(jù)流圖3.5系統(tǒng)流程圖圖書管理系統(tǒng)的流程是用戶先輸入自己的帳號(hào)密碼及系統(tǒng)顯示的驗(yàn)證碼進(jìn)入系統(tǒng)如有一項(xiàng)不符合則不能進(jìn)入系統(tǒng),成功登陸系統(tǒng)后系統(tǒng)根劇登陸的帳號(hào)信息從數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行對(duì)比判斷是讀者還是管理員,如果是讀者則能進(jìn)行信息查詢,及修改自己的相關(guān)信息,查詢到自己所需要的圖書就能通過管理員進(jìn)行借閱圖書、歸還圖書也是通過管理員完成的。如果不是讀者而是管理員,那管理員可以進(jìn)行相關(guān)信息的查詢、添加刪除圖書及讀者的所有信息、設(shè)置相應(yīng)的權(quán)限、為圖書更新排行榜的信息、以及完成讀者的圖書借閱與歸還。圖書管理系統(tǒng)的系統(tǒng)流程圖如圖3-6所示。登陸系統(tǒng)登陸系統(tǒng)是否登陸判斷身份管理員讀者圖書歸還圖書借閱信息查詢排行榜信息圖書信息讀者信息否圖3-6圖書管理系統(tǒng)的流程圖4數(shù)據(jù)總體結(jié)構(gòu)設(shè)計(jì)4.1數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì)是在需求分析的基礎(chǔ)上,設(shè)計(jì)出能夠滿足用戶需求的各種實(shí)體,以及它們之間的關(guān)系,為后面的邏輯結(jié)構(gòu)設(shè)計(jì)打下基礎(chǔ)。這個(gè)階段不用考慮所采用的數(shù)據(jù)庫管理系統(tǒng)、操作系統(tǒng)類型、機(jī)器類型等問題。這階段可用的工具很多。用的最多的是E-R圖<Entity-Relation,實(shí)體-關(guān)系圖>,另外還有許多計(jì)算機(jī)輔助工具<ComputerAidedSoftwareEngineering,CASE>可以幫助進(jìn)行設(shè)計(jì)。本系統(tǒng)采用了E-R圖的方法進(jìn)行數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì)。E-R圖是描述數(shù)據(jù)實(shí)體關(guān)系的一種直觀描述工具。這種圖中有:<1>實(shí)體:用方框表示,方框內(nèi)為實(shí)體的名稱。<2>實(shí)體的各種屬性:用橢圓表示,橢圓內(nèi)為屬性名稱。使用線段將其和響應(yīng)的實(shí)體連接起來。<3>實(shí)體之間的聯(lián)系:用菱形表示,菱形內(nèi)為聯(lián)系的名稱。實(shí)體和實(shí)體之間的聯(lián)系較多,比較常見的聯(lián)系有l(wèi):1,l:N和M:N這三種。4.2數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)概念結(jié)構(gòu)是獨(dú)立于實(shí)際數(shù)據(jù)模型的信息結(jié)構(gòu),必須將其轉(zhuǎn)化為邏輯結(jié)構(gòu)后才能進(jìn)行數(shù)據(jù)庫應(yīng)用的設(shè)計(jì)。也就是要將概念上的結(jié)構(gòu)轉(zhuǎn)化為數(shù)據(jù)庫系統(tǒng)所支持的實(shí)際數(shù)據(jù)模型。第一種轉(zhuǎn)化是將實(shí)體轉(zhuǎn)化為關(guān)系表。這種轉(zhuǎn)化較簡單,需要將實(shí)體的屬性定義為表的屬性即可。第二種轉(zhuǎn)化是聯(lián)系的轉(zhuǎn)化。即將各個(gè)實(shí)體之間的聯(lián)系轉(zhuǎn)化為表格之間的關(guān)系,如外部鍵的定義。在上面工作的基礎(chǔ)上歸納出人員管理數(shù)據(jù)庫表格的組成之間的聯(lián)系等等。該數(shù)據(jù)庫系統(tǒng)具有以下方面的特點(diǎn):結(jié)構(gòu)合理,對(duì)一個(gè)人員建立多條記錄。所建立的數(shù)據(jù)冗余度小,獨(dú)立性強(qiáng)。建檔、修改、查詢、統(tǒng)計(jì)快速而準(zhǔn)確。保密性好、可靠性好。圖書管理系統(tǒng)中要有圖書,圖書是圖書管理系統(tǒng)中密不可分的部分,因此要?jiǎng)?chuàng)建一圖書信息實(shí)體,用來保存圖書的詳細(xì)信息。圖書信息實(shí)體屬性圖如圖4-1所示。圖4-1圖書信息實(shí)體屬性圖讀者是圖書管理系統(tǒng)重要組成部分,這里創(chuàng)建了一個(gè)讀者信息實(shí)體,用來存儲(chǔ)讀者的詳細(xì)信息。讀者信息實(shí)體E-R圖如圖4.2所示。圖4-2讀者信息實(shí)體屬性圖圖書的借閱和歸還是圖書管理系統(tǒng)中的一項(xiàng)重要的環(huán)節(jié),開發(fā)圖書管理系統(tǒng)就是為了方便讀者對(duì)圖書的借閱和歸還,因此要建立一個(gè)圖書借還實(shí)體,用來保存讀者對(duì)圖書的借閱和歸還的詳細(xì)信息。圖書的借閱和歸還實(shí)體屬性圖如圖4-3所示。圖4-3讀者借還實(shí)體屬性圖圖書管理系統(tǒng)為了增加系統(tǒng)的安全性,管理員只有在系統(tǒng)登陸模塊驗(yàn)證通過后才能進(jìn)入管理員的操作界面,因此套在數(shù)據(jù)庫中創(chuàng)建一個(gè)存放登錄用戶信息的管理員實(shí)體。管理員實(shí)體屬性圖如圖4-4所示。圖4-4管理員實(shí)體屬性圖4.3圖書管理系統(tǒng)的系統(tǒng)E-R圖圖書管理系統(tǒng)的系統(tǒng)E-R圖如圖4-5所示。讀者讀者圖書管理員管理管理借還還書時(shí)間借書時(shí)間刪除類型條形碼……修改密碼修改名稱編號(hào)類型……編號(hào)添加添加刪除圖4-5圖書管理系統(tǒng)的系統(tǒng)E-R圖4.4數(shù)據(jù)表設(shè)計(jì)本系統(tǒng)使用的數(shù)據(jù)庫管理系統(tǒng)為MySQL5.0。數(shù)據(jù)庫中的表有管理員信息表、圖書信息表、讀者信息表、管理員權(quán)限表、圖書借閱歸還表等。圖書管理員基本信息表tb_admin,如表4-6所示。字段名數(shù)據(jù)類型長度主鍵描述idvarchar50是管理員編號(hào)namevarchar50否管理員名稱pwdvarchar30否密碼表4-6tb_admin〔管理員表讀者詳細(xì)信息表tb_reader,如表4-7所示。字段名數(shù)據(jù)類型長度主鍵描述idvarchar30是讀者編號(hào)namevarchar50否讀者名稱sexchar4否性別typevarchar50否讀者類型birthdaysmalldatetime4否生日paperTypevarchar20否證件類型paperNumvarchar30否證件號(hào)碼telvarchar20否電話emailvarchar50否E-mailcreateDatesmalldatetime4否注冊日期opervarchar30否操作員remarktext16否備注borrownumint4否借閱次數(shù)表4-7tb_reader<讀者信息>表圖書詳細(xì)信息表tb_bookkifo,如表4-8所示。字段名數(shù)據(jù)類型長度主鍵描述Bookcodevarchar30是圖書條形碼booknamevarchar50否圖書名稱typevarchar50否圖書類型autorvarchar50否作者translatorvarchar50否譯者pubnamevarchar100否出版社pricemoney8否價(jià)格pageint4否頁碼bcasevarchar50否書架storagebigint8否存儲(chǔ)數(shù)量inTimesmalldatetime4否入館時(shí)間opervarchar30否操作員borrownumint4否被借次數(shù)表4-8tb_bookkifo〔圖書信息表圖書借閱和歸還信息表tb_borrowandback,如表4-9所示。字段名數(shù)據(jù)類型長度主鍵描述idvarchar30是借書編號(hào)readidvarchar20否讀者編號(hào)bookcodevarchar30否圖書條形碼borrowTimesmalldatetime4否借書時(shí)間ygbackTimesmalldatetime4否應(yīng)該還書時(shí)間sjbackTimesmalldatetime4否實(shí)際還書時(shí)間borrowopervarchar30否借書操作backopervarchar30否還書操作isbackbit1否是否歸還表4-9tb_borrowandback〔圖書借閱和歸還信息表權(quán)限信息表tb_purview,如表4-10所示。字段名數(shù)據(jù)類型長度主鍵描述idvarchar50是用戶編號(hào)sysetbit1否系統(tǒng)設(shè)置readsetbit1否讀者管理booksetbit1否圖書管理borrowbackbit1否圖書借還syaquerybit1否系統(tǒng)查詢表4-10tb_purview〔權(quán)限信息表5圖書管理系統(tǒng)詳細(xì)設(shè)計(jì)5.1系統(tǒng)流程分析根據(jù)開發(fā)圖書管理系統(tǒng)的需求分析,本系統(tǒng)設(shè)計(jì)了三種用戶,分別為系統(tǒng)管理員、教師和學(xué)生。系統(tǒng)要求有系統(tǒng)管理員用戶,我們設(shè)定系統(tǒng)管理員,當(dāng)系統(tǒng)管理員使用帳戶登錄后,需要查看有關(guān)圖書的一系列的信息,管理員可以通過系統(tǒng)導(dǎo)航菜單進(jìn)入讀者管理界面、圖書管理界面、圖書借還界面、系統(tǒng)查詢界面、排行榜界面,在讀者界面中,管理員添加和修改學(xué)生或教師信息、用戶可以查看自己信息,在圖書管理界面管理員可以添加和修改圖書信息、用戶可查看圖書,在圖書借還界面完成讀者借書還書的操作,系統(tǒng)查詢界面管理員可以查看借出去的圖書信息及庫存的信息、用戶可以查找自己的所需的圖書,排行榜界面主要是可以讓用戶知道哪些圖書受到讀者的喜愛。讀者〔老師和學(xué)生使用讀者帳號(hào)登陸系統(tǒng)后,可以查詢自己所需要的圖書的信息、也可以查詢自己個(gè)人的基本信息及圖書的借還信息,還能查看排行榜的信息。讀者的借書和還書過程是通過管理員完成的。5.2主要模塊的運(yùn)行登陸界面當(dāng)用戶輸入用戶名、密碼,系統(tǒng)自動(dòng)將輸入的信息和相關(guān)數(shù)據(jù)表中的內(nèi)容進(jìn)行比較,如果該用戶輸入的內(nèi)容和數(shù)據(jù)表中的內(nèi)容相符,則通過驗(yàn)證,此次登錄成功;否則登錄失敗。比較的過程是由瀏覽器將指令,數(shù)據(jù)發(fā)送到Web服務(wù)器,Web服務(wù)器通過對(duì)數(shù)據(jù)庫進(jìn)行查詢將結(jié)果返回到瀏覽器,從而端顯示成功的消息,用戶只有成功登陸系統(tǒng)后才能進(jìn)行一系列的操作,如下圖5-1所示。5-1圖書管理系統(tǒng)登陸界面圖書信息管理模塊圖書信息管理模塊主要分為查看圖書信息頁面和添加修改圖書信息頁面,用戶可以在查看圖書信息頁面查看圖書的基本信息,管理員也可以看這些信息,并且可以通過單擊"添加圖書信息"這個(gè)超級(jí)鏈接或集合列表中的"詳情"超級(jí)鏈接轉(zhuǎn)到添加或刪除圖書信息界面,并在該頁中添家或修改圖書信息,如圖5-2與5-3所示。圖5-2查看圖書信息界面圖5-3添家或修改圖書信息界面圖書信息管理模塊的實(shí)現(xiàn),主要是使用了Hibernate框架操作數(shù)據(jù)庫技術(shù)。 Hibernate,通過對(duì)jdbc進(jìn)行封裝,對(duì)java類和關(guān)系數(shù)據(jù)庫進(jìn)行mapping,實(shí)現(xiàn)了對(duì)關(guān)系數(shù)據(jù)庫的面向?qū)ο蠓绞降牟僮?改變了傳統(tǒng)的jdbc+sql操作數(shù)據(jù)的方式,從而使開發(fā)人員可以話更多精力進(jìn)行對(duì)象方面的開發(fā)。其優(yōu)點(diǎn)并不只是簡化了數(shù)據(jù)庫操作,更有價(jià)值的是對(duì)不同的數(shù)據(jù)庫提供了統(tǒng)一操作的接口,使應(yīng)用程序的跨數(shù)據(jù)庫開發(fā)成為可能。圖書借還信息模塊圖書借還管理模塊主要分為圖書借閱頁面和圖書歸還頁面,用戶可以在通過這個(gè)模塊查看圖書的借閱和歸還信息。管理員可以在圖書通過這個(gè)模塊來完成讀者借和還書的操作,如圖5-4與5-5所示。圖5-4圖書的借閱管理圖5-5圖書歸還管理5.3系統(tǒng)開發(fā)的遇到的相關(guān)問題及解決5.3.1圖書管理系統(tǒng)索引圖書管理系統(tǒng)開發(fā)中存在大量的數(shù)據(jù)和信息檢索,怎樣更好的檢索數(shù)據(jù)和信息操作是保證檢索速度的提高和數(shù)據(jù)的分頁顯示,主要考慮了以下幾個(gè)方面:<1>設(shè)計(jì)邏輯結(jié)構(gòu)時(shí)充分考慮冗余量和可處理性兩方面的要求,在接受冗余量的提下,盡量減少表的連接操作。<2>關(guān)系的大小對(duì)查詢的影響也是很大的,因此為了提高數(shù)據(jù)庫的查詢速度,減小系的大小和數(shù)據(jù)量也是必要的。<3>建立合理的索引結(jié)構(gòu)。索引相當(dāng)于一個(gè)映射機(jī)構(gòu),將鍵值轉(zhuǎn)換成相對(duì)應(yīng)的記錄地址,形成索引文件。索引設(shè)計(jì)是數(shù)據(jù)庫物理設(shè)計(jì)的基本問題,也是較困難的問題,建立索引可以極大地提高系統(tǒng)的查詢速度,但是同時(shí)做Insert、Update、Delete操作時(shí)會(huì)降低速度,因?yàn)樽鲞@些操作的同時(shí)需要更新索引,所以不能對(duì)數(shù)據(jù)庫中所有的表都建立索引。比如滿足下列條件之一的不易建立索引:不出現(xiàn)或很少出現(xiàn)的屬性或表、屬性分布嚴(yán)重不均的屬性、經(jīng)常更新的屬性或表、過長的屬性、太小的表等。滿足下列條件之一的可以考慮建立索引:主鍵和外鍵都建立索引、對(duì)于以讀為主或只讀的表,只要需要,且存儲(chǔ)空間允許,可以減少連接開銷、對(duì)于等值查詢〔即查詢條件以等號(hào)為比較符,最好建立索引、對(duì)查詢范圍〔即查詢條件>,<,≤,≥為比較符,最好建立索引、有些查詢可以由檢索直接得到結(jié)果,不必訪問數(shù)據(jù)塊。根據(jù)實(shí)際需要,讀者信息表,圖書信息表,圖書借還信息表,權(quán)限信息,管理員信息表等都建立索引,合理使用緩沖區(qū)。5.3.2如何驗(yàn)證輸入的字符串在圖書管理系統(tǒng)的開發(fā)過程中,需要對(duì)一些輸入的字符串進(jìn)行驗(yàn)證,例如金額、電話號(hào)碼、E-mail等,由于許多模塊都需要用到這些驗(yàn)證,因此可以將其寫入到一個(gè)公共JS腳本中然后在其他的頁面中直接調(diào)用即可。JS中對(duì)字符串進(jìn)行驗(yàn)證時(shí),十分的方便快捷,減少服務(wù)器與客戶端交互的過程,在客戶端輕松的解決,要使用正則表達(dá)式驗(yàn)證輸入的字符串,如驗(yàn)證輸入的字符串是否為E-mail的地址格式的實(shí)現(xiàn)方法。代碼如下:驗(yàn)證輸入為Emailif<formname.email.value!=formname.email.value.match</^\w+[@]\w+[.][\w.]+$/>>{alert<"您的電子郵件格式錯(cuò)誤!">;formname.email.focus<>;returnfalse;}5.3.3自動(dòng)計(jì)算圖書歸還日期在圖書管理系統(tǒng)運(yùn)行中會(huì)常常遇到這樣的問題:在借閱圖書時(shí),需要自動(dòng)計(jì)算圖書的歸還日期,而這個(gè)日期又不是固定不變的,它是需要根據(jù)系統(tǒng)日期和數(shù)據(jù)表中保存的各類圖書的最多借閱天數(shù)來計(jì)算的,即圖書歸還日期="系統(tǒng)日期"+"最多借閱天數(shù)"。因此本系統(tǒng)是這樣解決問題的:首先獲取系統(tǒng)時(shí)間,然后從數(shù)據(jù)表中查詢出該類圖書最多借閱天數(shù),最后計(jì)算歸還日期。計(jì)算方法如下:首先取出所借圖書的最多借閱天數(shù),然后根據(jù)圖書的最多借閱天數(shù),使用getMaxDay<>方法返回一個(gè)int值,最后使用當(dāng)前時(shí)間與先返回的Timespan時(shí)間間隔相加。自動(dòng)計(jì)算圖書歸還日期的關(guān)鍵代碼如下://獲得當(dāng)前日期 SimpleDateFormattime=newSimpleDateFormat<"yyyy-MM-dd">; Calendarc=Calendar.getInstance<>;//獲得最多借閱天數(shù)intdays=getMaxDay<>;//增加圖書借閱天數(shù) c.add<Calendar.DAY_OF_MONTH,days>;//獲得圖書歸還日期Stringborrowandbackmanage=time.format<c.getTime<>>;5.3.4系統(tǒng)登陸驗(yàn)證碼的實(shí)現(xiàn)在學(xué)校圖書管理系統(tǒng)的開發(fā)過程中,怎么樣防止某些人利用某些惡意的軟件對(duì)圖書管理系統(tǒng)進(jìn)行惡意的登陸來攻擊系統(tǒng),增加圖書管理系統(tǒng)的安全性是一個(gè)重要的問題。在圖書管理系統(tǒng)的登陸模塊中加入一個(gè)驗(yàn)證碼的功能,即用戶除了要輸入帳號(hào)和密碼還要輸入系統(tǒng)為用戶提供的驗(yàn)證碼。驗(yàn)證碼可以很好的解決了怎樣防止惡意用戶利用惡意軟件對(duì)系統(tǒng)頁面的瘋狂提交、以及暴力破解密碼進(jìn)行登陸的問題。因此,設(shè)置一個(gè)隨機(jī)函數(shù)在數(shù)字0~9和英文字母A~Z中隨機(jī)抽取四個(gè),在用戶打開登陸界面的時(shí)候,系統(tǒng)通過隨機(jī)生成器隨機(jī)生成4個(gè)數(shù)字或字母或數(shù)字加字母存放在緩存內(nèi),并出現(xiàn)在界面上順序是隨機(jī)的,當(dāng)用戶登陸時(shí)輸入的驗(yàn)證碼要與緩存中的進(jìn)行對(duì)比符合就進(jìn)入,不符合就不能登陸。系統(tǒng)在提供驗(yàn)證碼時(shí)候要加入一些干擾的條件的,不過這些人的肉眼是很容易分辨,但機(jī)器人程序不能分辨,很好的防止某人利用機(jī)器人程序?qū)ο到y(tǒng)的惡意操作增加了系統(tǒng)的安全性。驗(yàn)證碼實(shí)現(xiàn)的關(guān)鍵代碼如下:<inputname="rand"type="text"style="width:40px;height:20px;"onkeydown="if<event.keyCode==13>MM_submit<>;"/><imgsrc="image.jsp"border="1"align="absmiddle"/>Image.jsp頁面<%@pagecontentType="image/jpeg"%><%@pageimport="javax.imageio.*,com.lilosoft.util.VerifyImage"%><% response.setDateHeader<"Expires",-1000>;//response.setContentType<"image/jpeg">; response.setHeader<"Pragma","No-cache">; response.setHeader<"Cache-Control","no-cache">; response.setDateHeader<"Expires",0>; VerifyImagevb=VerifyImage.creatInstance<>;ImageIO.write<vb.image,"JPEG",response.getOutputStream<>>;session.setAttribute<VerifyImage.VerifyNo,vb.sRand>;response.flushBuffer<>;out.clear<>;out=pageContext.pushBody<>;%>//VerifyImage驗(yàn)證碼類文件importjava.awt.Color;importjava.awt.Font;importjava.awt.Graphics;importjava.awt.Image;importjava.awt.image.BufferedImage;importjava.util.Random;/***@authorTochangethetemplateforthisgeneratedtypecommentgoto*Window>Preferences>Java>CodeGeneration>CodeandComments*/publicclassVerifyImage{publicStringsRand="";publicBufferedImageimage=null; publicStringgetSRand<>{returnsRand; }publicBufferedImagegetImage<>{returnimage; }privateVerifyImage<>{ }publicstaticfinalStringVerifyNo="VerifyNo";publicstaticVerifyImagecreatInstance<>{VerifyImagevi=newVerifyImage<>;//在內(nèi)存中創(chuàng)建圖象intwidth=40,height=17; vi.image=newBufferedImage<width,height,BufferedImage.TYPE_INT_RGB>;//獲取圖形上下文 Graphicsg=vi.image.getGraphics<>;//生成隨機(jī)類 Randomrandom=newRandom<>;//設(shè)定背景色 g.setColor<getRandColor<200,250>>; g.fillRect<0,0,width,height>;//設(shè)定字體 g.setFont<newFont<"TimesNewRoman",Font.PLAIN,12>>;//畫邊框//g.setColor<newColor<>>;//g.drawRect<0,0,width-1,he

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論