




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、畢業(yè)設(shè)計(論文)題 目 JSP火車票網(wǎng)上訂票系統(tǒng) 系 別軟件與服務(wù)外包學(xué)院.專 業(yè) 軟件技術(shù) .班 級 .學(xué)生姓名 .學(xué) 號 .指導(dǎo)教師 .火車站網(wǎng)上訂票系統(tǒng)摘要:長期以來,我國鐵路客票的發(fā)售一直沿用常備客票和手工作業(yè)方式,勞動強(qiáng)度大,售票速度慢,售票范圍受局限,席位管理紊亂,旅客購票要排長隊(duì)甚至夜間就開始等候,如果要買不同方向或不同席別的車票還要到多個窗口排隊(duì),“買票難”成了旅客費(fèi)力費(fèi)神的社會問題。正是有了這種問題于是就需要火車站售票管理系統(tǒng)。系統(tǒng)的用戶可以分為三類,用戶(旅客)、管理員這兩類。由于他們權(quán)限的不同,系統(tǒng)所賦予他們的功能也是不同的。用戶(旅客)在該系統(tǒng)中所應(yīng)用的功能是對列車和售
2、票信息的查詢。管理員在系統(tǒng)中所應(yīng)用的主要功能是添加列車線路與用戶管理。系統(tǒng)應(yīng)用時下流行的JSP技術(shù)來開發(fā)。JSP是Java Server Pages的縮寫,是servlet的擴(kuò)展,它的主要優(yōu)點(diǎn)是能夠是顯示和業(yè)務(wù)邏輯分離,通過JSP來生成動態(tài)的網(wǎng)頁,由JavaBean,Servlet或是一些Java程序來實(shí)現(xiàn)復(fù)雜的業(yè)務(wù)邏輯,JSP這樣的特點(diǎn)大大的減輕了服務(wù)器的負(fù)擔(dān)。除此而外JSP還具有很多的優(yōu)點(diǎn),比如JSP還具有Java語言一次編寫處處運(yùn)行的跨平臺優(yōu)點(diǎn),等等。這里就不一一介紹了。所以說JSP技術(shù)是開發(fā)基于B/S構(gòu)架的web應(yīng)用的最佳選擇。關(guān)鍵詞:JSP JavaBean B/S Jsp onli
3、ne booking systemAbstract:For long time, our country railroad guest tickets sell has been follow to use often have guest ticket and handicraft operation method, labor strength greatly, sell a speed slowly, sell a scope is limit, seat management mess, travellers ticket-purchasing want lieutenants bri
4、gade even nighttime start waiting, if want to buy different direction or different seat another ticket still want to several window ways line up, buy one difficult became a traveller hard to tackle requiring attention social problem.BE to have this kind of problem hence need the train station to sel
5、l a management system.The customer of system can is divided into 2 types, customer(traveller), the system be these 2 types of managing person.Because of the dissimilarity of their legal power, their functions that system give are also different.The function that the customer(traveller) applies in th
6、at system is to railroad train and sell an information of search. But the function apply by the managing person of system then to customer management, the management of managing person with add railroad train route.System apply the technique of JSP that is very popular at present. JSP is the abbrevi
7、ation of the Java Server Pages, is a servlet to expand. The main advantage is to manifest and separate the business logic By JSP can make dynamic web page from JavaBean, Servlet or some the procedure of Java to realize complicated business logic. Such characteristics of JSP alleviate the burden of t
8、he server In addition to this but the JSP still has a lot of advantages, for example, the JSP still has the language of Java a weave the cross-platform advantage that write circulates everywhere, etc. Here isnt introduce detailed. So JSP is the best choice in web development according to the frame o
9、f B/S.Keywords:JSP JavaBean B/S目錄 TOC o 1-3 h z u HYPERLINK l _Toc259644554 引言 PAGEREF _Toc259644554 h 5 HYPERLINK l _Toc259644555 第1章 緒論 PAGEREF _Toc259644555 h 6 HYPERLINK l _Toc259644556 1.1 選題意義 PAGEREF _Toc259644556 h 6 HYPERLINK l _Toc259644557 1.2 同類軟件國內(nèi)外情況 PAGEREF _Toc259644557 h 6 HYPERLINK
10、 l _Toc259644558 1.3 本系統(tǒng)功能描述 PAGEREF _Toc259644558 h 7 HYPERLINK l _Toc259644559 第2章 需求分析 PAGEREF _Toc259644559 h 7 HYPERLINK l _Toc259644560 2.1 需求分析 PAGEREF _Toc259644560 h 7 HYPERLINK l _Toc259644561 2.2 功能需求 PAGEREF _Toc259644561 h 8 HYPERLINK l _Toc259644562 2.2.1 列車查詢與訂購 PAGEREF _Toc259644562
11、h 8 HYPERLINK l _Toc259644563 2.2.2 添加列車路線 PAGEREF _Toc259644563 h 8 HYPERLINK l _Toc259644564 登錄系統(tǒng) PAGEREF _Toc259644564 h 8 HYPERLINK l _Toc259644565 2.2.4 管理員管理 PAGEREF _Toc259644565 h 9 HYPERLINK l _Toc259644566 2.2.5 用戶管理 PAGEREF _Toc259644566 h 9 HYPERLINK l _Toc259644567 第3章 關(guān)鍵技術(shù) PAGEREF _Toc
12、259644567 h 9 HYPERLINK l _Toc259644568 3.1 關(guān)于JDBC PAGEREF _Toc259644568 h 9 HYPERLINK l _Toc259644569 3.2 數(shù)據(jù)庫 PAGEREF _Toc259644569 h 10 HYPERLINK l _Toc259644570 3.2 SQL語言 PAGEREF _Toc259644570 h 11 HYPERLINK l _Toc259644571 第4章 系統(tǒng)設(shè)計 PAGEREF _Toc259644571 h 14 HYPERLINK l _Toc259644572 系統(tǒng)結(jié)構(gòu)圖 PAGER
13、EF _Toc259644572 h 14 HYPERLINK l _Toc259644573 4.2 數(shù)據(jù)庫設(shè)計 PAGEREF _Toc259644573 h 14 HYPERLINK l _Toc259644574 第5章 系統(tǒng)實(shí)現(xiàn) PAGEREF _Toc259644574 h 18 HYPERLINK l _Toc259644575 登錄模塊 PAGEREF _Toc259644575 h 18 HYPERLINK l _Toc259644576 5.2 系統(tǒng)管理 PAGEREF _Toc259644576 h 19 HYPERLINK l _Toc259644577 第6章 系統(tǒng)的
14、運(yùn)行與維護(hù) PAGEREF _Toc259644577 h 23 HYPERLINK l _Toc259644578 6.1 系統(tǒng)的配置 PAGEREF _Toc259644578 h 23 HYPERLINK l _Toc259644579 系統(tǒng)的維護(hù) PAGEREF _Toc259644579 h 24 HYPERLINK l _Toc259644580 致 謝 PAGEREF _Toc259644580 h 26 HYPERLINK l _Toc259644581 參考文獻(xiàn) PAGEREF _Toc259644581 h 27引言隨著時代的發(fā)展與進(jìn)步,網(wǎng)絡(luò)已經(jīng)成為人們生活與學(xué)習(xí)不可缺少的
15、工具,環(huán)境。網(wǎng)絡(luò)的發(fā)展需要開發(fā)技術(shù)的大力支持。JSP技術(shù)就是在網(wǎng)絡(luò)技術(shù)迅速發(fā)展的今天,以其帶著Java與平臺無關(guān)的優(yōu)越個性,沖在其他開發(fā)網(wǎng)絡(luò)的技術(shù)的前面,成為了現(xiàn)今的主流。售票系統(tǒng)是在當(dāng)今網(wǎng)絡(luò)這個大環(huán)境下產(chǎn)生出來的。在以前沒有網(wǎng)絡(luò)技術(shù)的情況下,一般人都是去火車站的售票窗口來購買?,F(xiàn)如今,交通水平發(fā)展速度迅速,火車站的客運(yùn)列車增加,客運(yùn)量也隨之而增加,老式售票已經(jīng)不能在滿足現(xiàn)在旅客的需要了。我會常常遇到這樣的情況,當(dāng)我排了很長時間的隊(duì),來到了售票員窗口前,才知道我買的車票已經(jīng)售空了。當(dāng)然,這只是老式售票的一種不便,類似的問題還有很多。為了解決這樣的問題,售票系統(tǒng)便自然而然的借助于網(wǎng)絡(luò)出現(xiàn)了。JS
16、P技術(shù)便是實(shí)現(xiàn)售票系統(tǒng)的一種方便而有效的技術(shù)。為了方便旅客,售票系統(tǒng)不僅僅是只能夠售票,也就是說系統(tǒng)的用戶應(yīng)該不只是售票員和管理員,還應(yīng)該有旅客。旅客能夠通過售票系統(tǒng)得到自己想要的乘車信息。這樣才能夠真正的解決以前老式售票的種種不便,才能夠真正的成為現(xiàn)在網(wǎng)絡(luò)社會的真正適應(yīng)者。第1章 緒論1.1 選題意義現(xiàn)今的社會發(fā)展迅速,火車成為了人們在交通方面不可缺少的交通工具,乘坐火車出行的人越來越多,所以鐵路的客運(yùn)量也在迅速的增長著。同時,時間代表的是生命。為了給人們帶來方便快捷的交通環(huán)境,鐵路系統(tǒng)采取提高列車的速度,增加客運(yùn)列車等等從而來滿足大量的旅客的乘車需求。但是,現(xiàn)在人多車多的情況下,如果再像是
17、從前一樣,在一個單一的地點(diǎn)售票,必然滿足不了現(xiàn)在的形勢。所以就需要售票能夠在不同的地點(diǎn)進(jìn)行,同時旅客也應(yīng)該能夠在購買車票之前知道自己所需要的列車是否有票的信息。如此的情況之下,售票系統(tǒng)的需要自然是相當(dāng)必要的。售票系統(tǒng)的出現(xiàn)能夠在很大的程度上解決單一地點(diǎn)售票所帶來的種種不便,并且能夠給想要出行的旅客帶來足夠的相關(guān)信息,使旅客們不必非要到車站的售票處,甚至不用出門就能夠知道是否有合適自己出行的車票。對于售票處的地點(diǎn)也從原來的單一地點(diǎn)(車站)變成了多個地點(diǎn),可以在市內(nèi)的多個地點(diǎn)(賓館、酒店、娛樂場所等等)。這樣給將要出行的旅客帶來了更進(jìn)一步的方便。使旅客無論是在金錢還是在時間方面都能夠得到充分的節(jié)省
18、。1.2 同類軟件國內(nèi)外情況目前,售票系統(tǒng)在國內(nèi)外都已經(jīng)得到了廣泛的應(yīng)用,無論是在飛機(jī)場,火車站,還是汽車站,都是借助于售票系統(tǒng)進(jìn)行售票的。國外售票系統(tǒng)的開發(fā)及應(yīng)用起步的比較早,而且國外的通信發(fā)達(dá),所以在售票系統(tǒng)的結(jié)構(gòu)上大都采用的是集中處理的主機(jī)/終端方式。尤其在歐洲這樣的結(jié)構(gòu)更加適合。但是在對于國土遼闊,人口眾多的中國,考慮到網(wǎng)絡(luò)的覆蓋,通信等眾多方面,主要采用的是采用近代發(fā)展的集中與分布相結(jié)合的客戶機(jī)/服務(wù)器體系結(jié)構(gòu)。但這種結(jié)構(gòu)在某種程度上還是不能完全滿足數(shù)據(jù)庫的全國聯(lián)網(wǎng)。所以目前我國對與售票系統(tǒng)的開發(fā)還是處于進(jìn)一步的探索和發(fā)展當(dāng)中。目前我國開發(fā)售票系統(tǒng)的方向是整個系統(tǒng)由中央級、地區(qū)級和車
19、站級三層結(jié)構(gòu)組成的。包括全國票務(wù)中心管理系統(tǒng)、地區(qū)票務(wù)中心管理系統(tǒng)和車站電子售票系統(tǒng)。系統(tǒng)采取集中與分布相結(jié)合的方案,在全路票務(wù)中心內(nèi)安裝中央數(shù)據(jù)庫,Sybase領(lǐng)先的數(shù)據(jù)庫產(chǎn)品Adaptive Server Enterprise、Replication Server、Sybase IQ,中間件產(chǎn)品Open Client、Open Server以及開發(fā)工具PowerBuilder和PowerDesigner在其中都有著非常重要的應(yīng)用;這一系統(tǒng)主要用于計劃與調(diào)度全系統(tǒng)的數(shù)據(jù),并接收下一系統(tǒng)的統(tǒng)計數(shù)據(jù)和財務(wù)結(jié)算數(shù)據(jù)。在地區(qū)票務(wù)中心設(shè)有地區(qū)數(shù)據(jù)庫,Sybase的Adaptive Server Ent
20、erprise、Replication Server、Open Client、Open Server、PowerBuilder、PowerDesigner將全面支持這一數(shù)據(jù)庫,它主要用于計劃與調(diào)度本地區(qū)數(shù)據(jù),并可響應(yīng)異地購票請求。系統(tǒng)的基礎(chǔ)部分是由Sybase的Adaptive Server Enterprise、Replication Server、Open Client、Open Server、PowerBuilder、PowerDesigner構(gòu)成的車站售票系統(tǒng),它主要具有售票、預(yù)訂、退票、異地售票、統(tǒng)計等多種功能。中國鐵路客票發(fā)售和預(yù)訂系統(tǒng)實(shí)現(xiàn)了計算機(jī)聯(lián)網(wǎng)售票,并且有出售返程、聯(lián)程等異
21、地購票的功能,實(shí)現(xiàn)了票額、座席、制票、計算、結(jié)算和統(tǒng)計等計算機(jī)管理。當(dāng)然上述的系統(tǒng)概述,是我國正在研究和開發(fā)的新課題,不久的將來它將會在全國各個售票網(wǎng)點(diǎn)投入使用,新售票處系統(tǒng)的投入和使用將標(biāo)志著我國鐵路客運(yùn)達(dá)到一個新的高峰,甚至是世界鐵路客運(yùn)水平的前列。1.3 本系統(tǒng)功能描述本系統(tǒng)的應(yīng)用主要是針對一個始發(fā)站的。系統(tǒng)實(shí)現(xiàn)了作為一個始發(fā)站售票活動相關(guān)的基本功能。具體的功能描述如下:用戶查詢列車線路和網(wǎng)上訂票。用戶可以通過自己的需求來查詢是否有滿足自己需求的列車并訂票。添加列車路線。管理員可以向系統(tǒng)中添加一列新的列車路線的全部信息用戶管理。可以進(jìn)行用戶信息的修改,查詢訂購火車票。管理員管理。可以進(jìn)行
22、用戶信息的修改,管理員信息的修改,添加火車路線,車次,站點(diǎn)。第2章 需求分析2.1 需求分析火車站售票系統(tǒng)是一個融合火車票的訂購、列車路線的添加、管理員管理,列車信息及售票信息查詢?yōu)橐簧淼木C合系統(tǒng)。通過該系統(tǒng)可以使售票相關(guān)的活動在可以訪問Internet的任何地點(diǎn)進(jìn)行。解決了單一售票地點(diǎn)所帶了的種種不便。該系統(tǒng)的用戶有三類,他們分別是一般用戶(旅客)、管理員(售票員)、系統(tǒng)管理員。在功能方面可分為以下五個部分:列車信息查詢及訂購。添加列車路線。登錄系統(tǒng)。管理員的管理。5) 用戶管理。2.2 功能需求 列車查詢與訂購此功能是任何能夠訪問到系統(tǒng)的用戶都擁有的功能。一般旅客用戶在購買出行的火車票前,
23、可以登錄系統(tǒng),通過方便自己的查詢方式,來查詢到滿足自己要求的列車,并可以確定出自己需要的某個日期是否有票可以出售。這里提供給用戶的查詢方式有兩種,一通過車次的查詢。二通過目的站的查詢。通過車次查詢,旅客已經(jīng)確定了自己想要乘坐的列車的車次,便可以直接的來查詢該車次的列車的具體售票情況。通過目的站的查詢,旅客如果不知道自己乘坐的列車的車次,只是知道想要去哪里,這時候就需要通過目的站來查詢滿足要求的列車及售票的情況。 添加列車路線列車路線可以由管理員添加,總共分七個步驟。這里可以添加的功能有站點(diǎn)數(shù)、列車次、起點(diǎn)站、終點(diǎn)站、里程數(shù)、各站點(diǎn)名稱、到站時間、發(fā)車時間、各類型車票數(shù)量以及價格。登錄系統(tǒng)登錄系
24、統(tǒng)是指系統(tǒng)的三類用戶訪問系統(tǒng)并應(yīng)用自己權(quán)限內(nèi)的功能。包括用戶登錄,管理員登錄。用戶登錄,一般用戶通過流覽器訪問該系統(tǒng)的網(wǎng)址,登錄到系統(tǒng)的首頁并在頁面做自己權(quán)限內(nèi)的查詢,并可以進(jìn)行網(wǎng)上訂票。在密碼修改頁面可以修改自己的個人信息。管理員登錄,管理員在登錄系統(tǒng)的首頁后。登錄系統(tǒng)后,系統(tǒng)會顯示出車站售票員所具有的所有操作權(quán)限。 管理員管理管理員管理包括添加列車路線、添加刪除管理員、查看管理員信息、刪除用戶、查看用戶信息增加列車路線,比如車站將要加車。系統(tǒng)管理員將一列新的列車的全部信息分七個步驟輸入到系統(tǒng)的數(shù)據(jù)庫中,一列新的列車的全部信息一經(jīng)被輸入到數(shù)據(jù)庫中,外界便可以通過系統(tǒng)來查詢它的所有信息,并且可
25、以訂購該列車的車票。 用戶管理 用戶管理包括查詢列車信息、訂購車票、修改密碼。查詢列車信息用戶可以在首頁的列表中查找,若列表中數(shù)據(jù)太多可以輸入列車車次搜索。找到后訂票的時候需要輸入起點(diǎn)站和終點(diǎn)站并輸入訂票數(shù)量和座位類型。系統(tǒng)會自動計算價格、顯示結(jié)果。第3章 關(guān)鍵技術(shù)3.1 關(guān)于JDBCJDBC是一種用于執(zhí)行SQL語句的JavaTMAPI。它由一組用Java編程語言編寫的類和接口組成。JDBC為工具/數(shù)據(jù)庫開發(fā)人員提供了一個標(biāo)準(zhǔn)的API,使他們能夠用純JavaAPI來編寫數(shù)據(jù)庫應(yīng)用程序。 有了JDBC,向各種關(guān)系數(shù)據(jù)庫發(fā)送SQL語句就是一件很容易的事。換言之,有了JDBCAPI,就不必為訪問Sy
26、base數(shù)據(jù)庫專門寫一個程序,為訪問Oracle數(shù)據(jù)庫又專門寫一個程序,為訪問Informix數(shù)據(jù)庫又寫另一個程序,等等。您只需用JDBCAPI寫一個程序就夠了,它可向相應(yīng)數(shù)據(jù)庫發(fā)送SQL語句。而且,使用Java編程語言編寫的應(yīng)用程序,就無須去憂慮要為不同的平臺編寫不同的應(yīng)用程序。將Java和JDBC結(jié)合起來將使程序員只須寫一遍程序就可讓它在任何平臺上運(yùn)行。 Java具有堅(jiān)固、安全、易于使用、易于理解和可從網(wǎng)絡(luò)上自動下載等特性,是編寫數(shù)據(jù)庫應(yīng)用程序的杰出語言。所需要的只是Java應(yīng)用程序與各種不同數(shù)據(jù)庫之間進(jìn)行對話的方法。而JDBC正是作為此種用途的機(jī)制。 JDBC擴(kuò)展了Java的功能。例如,
27、用Java和JDBCAPI可以發(fā)布含有applet的網(wǎng)頁,而該applet使用的信息可能來自遠(yuǎn)程數(shù)據(jù)庫。企業(yè)也可以用JDBC通過Intranet將所有職員連到一個或多個內(nèi)部數(shù)據(jù)庫中(即使這些職員所用的計算機(jī)有Windows、Macintosh和UNIX等各種不同的操作系統(tǒng))。隨著越來越多的程序員開始使用Java編程語言,對從Java中便捷地訪問數(shù)據(jù)庫的要求也在日益增加。 MIS管理員們都喜歡Java和JDBC的結(jié)合,因?yàn)樗剐畔鞑プ兊萌菀缀徒?jīng)濟(jì)。企業(yè)可繼續(xù)使用它們安裝好的數(shù)據(jù)庫,并能便捷地存取信息,即使這些信息是儲存在不同數(shù)據(jù)庫管理系統(tǒng)上。新程序的開發(fā)期很短。安裝和版本控制將大為簡化。程序員
28、可只編寫一遍應(yīng)用程序或只更新一次,然后將它放到服務(wù)器上,隨后任何人就都可得到最新版本的應(yīng)用程序。對于商務(wù)上的銷售信息服務(wù),Java和JDBC可為外部客戶提供獲取信息更新的更好方法。3.2 數(shù)據(jù)庫SQL Server 是一個關(guān)系數(shù)據(jù)庫管理系統(tǒng)它最初是由Microsoft Sybase 和Ashton-Tate三家公司共同開發(fā)的于1988 年推出了第一個OS/2 版本在Windows NT 推出后Microsoft與Sybase 在SQL Server 的開發(fā)上就分道揚(yáng)鑣了Microsoft 將SQL Server 移植到Windows NT系統(tǒng)上專注于開發(fā)推廣SQL Server 的Window
29、s NT 版本Sybase 則較專注于SQL Server在UNIX 操作系統(tǒng)上的應(yīng)用在本書中介紹的是Microsoft SQL Server 以后簡稱為SQL Server或MS SQL Server。 SQL Server 2000 是Microsoft 公司推出的SQL Server 數(shù)據(jù)庫管理系統(tǒng)的最新版本該版本繼承了SQL Server 7.0 版本的優(yōu)點(diǎn)同時又比它增加了許多更先進(jìn)的功能具有使用方便可伸縮性好與相關(guān)軟件集成程度高等優(yōu)點(diǎn)可跨越從運(yùn)行Microsoft Windows 98 的膝上型電腦到運(yùn)行Microsoft Windows 2000 的大型多處理器的服務(wù)器等多種平臺使
30、用。3.2 SQL語言SQL(Structured Query Language,結(jié)構(gòu)查詢語言)是一個功能強(qiáng)大的數(shù)據(jù)庫語言。SQL通常使用于數(shù)據(jù)庫的通訊。ANSI(美國國家標(biāo)準(zhǔn)學(xué)會)聲稱,SQL是關(guān)系數(shù)據(jù)庫管理系統(tǒng)的標(biāo)準(zhǔn)語言。SQL語句通常用于完成一些數(shù)據(jù)庫的操作任務(wù),比如在數(shù)據(jù)庫中更新數(shù)據(jù),或者從數(shù)據(jù)庫中檢索數(shù)據(jù)。使用SQL的常見關(guān)系數(shù)據(jù)庫管理系統(tǒng)有:Oracle、 Sybase、 Microsoft SQL Server、 Access等等。雖然絕大多數(shù)的數(shù)據(jù)庫系統(tǒng)使用SQL,但是它們同樣有它們自立另外的專有擴(kuò)展功能用于它們的系統(tǒng)。但是,標(biāo)準(zhǔn)的SQL命令,比如Select、 Insert、
31、 Update、 Delete、 Create和 Drop常常被用于完成絕大多數(shù)數(shù)據(jù)庫的操作。MS SQL Server 就是用的Transact- SQL。SQL語言有著非常突出的優(yōu)點(diǎn),SQL語言是非過程化的語言、統(tǒng)一的語言、是所有關(guān)系數(shù)據(jù)庫的公共語言。非過程化語言:SQL是一個非過程化的語言,因?yàn)樗淮翁幚硪粋€記錄,對數(shù)據(jù)提供自動導(dǎo)航。SQL允許用戶在高層的數(shù)據(jù)結(jié)構(gòu)上工作,而不對單個記錄進(jìn)行操作,可操作記錄集,所有SQL 語句接受集合作為輸入,返回集合作為輸出。SQL的集合特性允許一條SQL語句的結(jié)果作為另一條SQL語句的輸入。統(tǒng)一的語言:SQL可用于所有用戶的DB活動模型,包括系統(tǒng)管理員
32、、數(shù)據(jù)庫管理員、 應(yīng)用程序員、決策支持系統(tǒng)人員及許多其它類型的終端用戶。所有關(guān)系數(shù)據(jù)庫的公共語言:由于所有主要的關(guān)系數(shù)據(jù)庫管理系統(tǒng)都支持SQL語言,用戶可將使用SQL的技能從一個RDBMS(關(guān)系數(shù)據(jù)庫管理系統(tǒng))轉(zhuǎn)到另一個,所有用SQL編寫的程序都是可以移植的。SQL為許多任務(wù)提供了命令,其中包括:查詢數(shù)據(jù)、在表中插入、修改和刪除記錄、建立、修改和刪除數(shù)據(jù)對象、控制對數(shù)據(jù)和數(shù)據(jù)對象的存取、保證數(shù)據(jù)庫一致性和完整性等。以前的數(shù)據(jù)庫管理系統(tǒng)為上述各類操作提供單獨(dú)的語言,而SQL 將全部任務(wù)統(tǒng)一在一種語言中。SQL功能強(qiáng)大,是一種完備的數(shù)據(jù)處理語言,不僅用于數(shù)據(jù)庫查詢,而且用于數(shù)據(jù)庫中的數(shù)據(jù)修改和更新
33、,概括起來,它可以分成以下幾組:DML(Data Manipulation Language,數(shù)據(jù)操作語言):用于檢索或者修改數(shù)據(jù);DDL(Data Definition Language,數(shù)據(jù)定義語言): 用于定義數(shù)據(jù)的結(jié)構(gòu),比如 創(chuàng)建、修改或者刪除數(shù)據(jù)庫對象;DCL(Data Control Language,數(shù)據(jù)控制語言):用于定義數(shù)據(jù)庫用戶的權(quán)限。DML組可以細(xì)分為以下的幾個語句:SELECT:用于檢索數(shù)據(jù);INSERT:用于增加數(shù)據(jù)到數(shù)據(jù)庫;UPDATE:用于從數(shù)據(jù)庫中修改現(xiàn)存的數(shù)據(jù);DELETE:用于從數(shù)據(jù)庫中刪除數(shù)據(jù)。DDL語句可以用于創(chuàng)建用戶和重建數(shù)據(jù)庫對象。下面是DDL命令:
34、CREATE TABLE,ALTER TABLE,DROP TABLE,CREATE INDEX,DROP INDEX。下面是一個簡單SQL語句的例子:我們使用SQL語句來從user_info中檢索用戶ID為000001的用戶姓名:SELECT 姓名 FROM user_info WHERE用戶ID = 000001數(shù)據(jù)定義語言DDL:它是用來創(chuàng)建和修改數(shù)據(jù)庫結(jié)構(gòu)的一種語句,包括 Create、Alter和Drop 語句。數(shù)據(jù)操作語言DML:包括數(shù)據(jù)查詢與數(shù)據(jù)更新。數(shù)據(jù)查詢主要是由Select語句完成,這一點(diǎn)不再贅述。而數(shù)據(jù)更新所造成的風(fēng)險大大超過數(shù)據(jù)查詢。數(shù)據(jù)庫管理系統(tǒng)必須在更改期內(nèi)保護(hù)所存
35、儲的數(shù)據(jù)的一致性,確保有效的數(shù)據(jù)進(jìn)入數(shù)據(jù)庫,數(shù)據(jù)庫必須保持一致性,DBMS還必須協(xié)調(diào)多用戶的并行更新,以確保用戶和它們的更改不至于影響其它用戶的作業(yè)。用于修改數(shù)據(jù)庫內(nèi)容的 SQL 語句主要有以下三個:Insert,向一個表中加入新的數(shù)據(jù)行;Update,更改數(shù)據(jù)庫中已經(jīng)存在的數(shù)據(jù);Delete,從一個表中刪除數(shù)據(jù)行;Insert標(biāo)準(zhǔn)語法:INSERT INTO table_name (col1, col2.) VALUES(value1, value2.)。Insert 語句還可以將多行數(shù)據(jù)添加到目標(biāo)表中去,在這種形式的 Insert 語句中,新行的數(shù)據(jù)值不是在語句正文中明確地指定的,而是語句
36、中指定的一個數(shù)據(jù)庫查詢。添加的值來自數(shù)據(jù)庫自身的行,在某些特定的狀態(tài)下,這是非常有用的。多行 Insert 語句為拷貝數(shù)據(jù)提供了一種緊湊而高效的方法。Update語句用于更新單表中選定行的一列或多列的值。要更新的目標(biāo)表在語句中定義,Set子句則指定要更新哪些列并計算它們的值。Update語句總是包含Where語句,而且Update語句比較危險,所以您必須明確地認(rèn)識到Where語句的重要性,Where語句被用來指定需要更新的行。標(biāo)準(zhǔn)語法:UPDATE table_nameSET columnname1 = value1 , columname2 = value2. WHERE search_co
37、nditionDelete 語句標(biāo)準(zhǔn)語法:DELETE FROM tablename WHERE condition在信息管理系統(tǒng)中,我們往往會遇到歸類、匯總、映射、索引、子查詢等復(fù)雜操作,相應(yīng)的支持與實(shí)現(xiàn)如下:GROUP BY方法:GROUP BY子句語法為:SELECT column1, SUM(column2)FROM list-of-tablesGROUP BY column-list;這個GROUP BY子句將集中所有的行在一起,它包含了指定列的數(shù)據(jù)以及允許合計函數(shù)來計算一個或者多個列。組合條件和布爾運(yùn)算符:以下的SQL語句中就含有組合條件:SELECT column1, SUM(c
38、olumn2)FROM list-of-tablesWHERE condition1 AND condition2;UNION子句:有些時候,需要一起瀏覽多個查詢的結(jié)果、組合它們的輸出,我們可以使用UNION關(guān)鍵字。第4章 系統(tǒng)設(shè)計 圖4.1 系統(tǒng)結(jié)構(gòu)圖4.2 數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫設(shè)計主要是進(jìn)行數(shù)據(jù)庫的邏輯設(shè)計,即將數(shù)據(jù)按一定的分類、分組系統(tǒng)和邏輯層次組織起來,是面向用戶的。數(shù)據(jù)庫設(shè)計時需要綜合企業(yè)各個部門的存檔數(shù)據(jù)和數(shù)據(jù)需求,分析各個數(shù)據(jù)之間的關(guān)系,按照DBMS提供的功能和描述工具,設(shè)計出規(guī)模適當(dāng)、正確反映數(shù)據(jù)關(guān)系、數(shù)據(jù)冗余少、存取效率高、能滿足多種查詢要求的數(shù)據(jù)模型。數(shù)據(jù)庫設(shè)計的步驟是:1、數(shù)
39、據(jù)庫結(jié)構(gòu)定義:目前的數(shù)據(jù)庫管理系統(tǒng)(DBMS)有的是支持聯(lián)機(jī)事務(wù)處理CLTP(負(fù)責(zé)對事務(wù)數(shù)據(jù)進(jìn)行采集、處理、存儲)的操作型DBMS,有的可支持?jǐn)?shù)據(jù)倉庫、有聯(lián)機(jī)分析處理CLAP(指為支持決策的制定對數(shù)據(jù)的一種加工操作)功能的大型DBMS,有的數(shù)據(jù)庫是關(guān)系型的、有的可支持面向?qū)ο髷?shù)據(jù)庫。針對選擇的DBMS,進(jìn)行數(shù)據(jù)庫結(jié)構(gòu)定義。2、數(shù)據(jù)表定義:數(shù)據(jù)表定義指定義數(shù)據(jù)庫中數(shù)據(jù)表的結(jié)構(gòu),數(shù)據(jù)表的邏輯結(jié)構(gòu)包括:屬性名稱、類型、表示形式、缺省值、校驗(yàn)規(guī)則、是否關(guān)鍵字、可否為空等。關(guān)系型數(shù)據(jù)庫要盡量按關(guān)系規(guī)范化要求進(jìn)行數(shù)據(jù)庫設(shè)計,但為使效率高,規(guī)范化程度應(yīng)根據(jù)應(yīng)用環(huán)境和條件來決定。數(shù)據(jù)表設(shè)計不僅要滿足數(shù)據(jù)存儲的
40、要求,還要增加一些如反映有關(guān)信息、操作責(zé)任、中間數(shù)據(jù)的字段或臨時數(shù)據(jù)表。3、存儲設(shè)備和存儲空間組織:確定數(shù)據(jù)的存放地點(diǎn)、存儲路徑、存儲設(shè)備等,備份方案,對多版本如何保證一致性和數(shù)據(jù)的完整性。4、數(shù)據(jù)使用權(quán)限設(shè)置:針對用戶的不同使用要求,確定數(shù)據(jù)的用戶使用權(quán)限,確保數(shù)據(jù)安全。5、數(shù)據(jù)字典設(shè)計:用數(shù)據(jù)字典描述數(shù)據(jù)庫的設(shè)計,便于維護(hù)和修改。為了更好地組織數(shù)據(jù)和設(shè)計出實(shí)際應(yīng)用數(shù)據(jù)庫,應(yīng)該注意如下問題:關(guān)系數(shù)據(jù)結(jié)構(gòu)的建立:在進(jìn)行了數(shù)據(jù)基本結(jié)構(gòu)的規(guī)范化重組后,還必須建立整體數(shù)據(jù)的關(guān)系結(jié)構(gòu)。這一步設(shè)計完成后數(shù)據(jù)庫和數(shù)據(jù)結(jié)構(gòu)設(shè)計工作基本完成,只待系統(tǒng)實(shí)現(xiàn)時將數(shù)據(jù)分析和數(shù)據(jù)字典的內(nèi)容代入到所設(shè)計的數(shù)據(jù)整體關(guān)系結(jié)
41、構(gòu)中,一個規(guī)范化數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)就建立起來了。根據(jù)系統(tǒng)功能設(shè)計,把數(shù)據(jù)庫命名:tickets,在SQLServer數(shù)據(jù)庫創(chuàng)建以下幾個表:管理員表,訂票信息表,車站表,始發(fā)目的站表、車票表、車次表、車次站次表、類型表、用戶表。表結(jié)構(gòu)如下(列表格式):表4.1 管理員表 admin字段名字段長度字段類型空值admin_id10charNpassword20charN表4.2 訂票信息表 book字段名字段長度字段類型空值user_id10charNstart_station20charNdest_station20charNsubscriptiondoubleNcountnumber11intNar
42、rorddoubledefault表4.3 車站表 station字段名字段長度字段類型空值station_id10charNstation_name10charNstation_on11intNstation_off11intN表4.4 始發(fā)站目的站表 station_station字段名字段長度字段類型空值station_id110charNstation_id210CharNdistancedoubleNtotal_pricedoubleN表4.5 車票表 ticket字段名字段長度字段類型空值train_id10charNstart_station10charNdest_station
43、10charNtype5charNpricedoubleNseat5charNticket_id20charNstartdate20charN表4.6 車次表 train字段名字段長度字段類型空值train_id10charNstart_station10charNdest_station10charNstarttime10charNspeed11intNticket_num11intNtrain_type10charNunit_pricedoubleN表4.7車次站次表 train_station字段名字段長度字段空值train_id10charNstation_id10charNseque
44、nce11intNwait_time10charNwait_time10charN表4.8 類型表 type字段名字段長度字段空值type_id5charNname10charN表4.9 用戶表 user字段名字段長度字段空值user_id20charNuser_name20charNsex2charNsex20charNpassword20charNemail20charNphone20charNaddress30charN第5章 系統(tǒng)實(shí)現(xiàn)應(yīng)用程序是用JSP開發(fā)的,界面精簡,美觀,主色調(diào)為粉紅色,不需要華麗,給人一種可信度很高的感覺。主要模塊為:用戶管理、在線訂票、查詢,管理員站點(diǎn)添加等。登
45、錄模塊有管理員登錄和用戶登錄,以用戶登錄為列,用戶登錄模塊如下圖所示。圖5-1 用戶登錄用戶登錄與管理員登錄模塊功能相似,用戶名,密碼錯誤時,系統(tǒng)自動退出。連接代碼如下:String message=null; String id=null; id=req.getParameter(name1); HttpSession session=req.getSession(true); session.setAttribute(name1,String.valueOf(id); String password=null; password= req.getParameter(name2); Stri
46、ng kind =null; kind=req.getParameter(name4); String temp =getPassword(req,res,id,kind); if( password.equals(temp) goo(req,res,kind); else message=用戶名或密碼有誤!; doError(req,res,message); 本系統(tǒng)中,管理員擁有所有權(quán)限,用戶只有檢索和修改自己密碼的權(quán)限。5.2 系統(tǒng)管理登錄系統(tǒng)后進(jìn)入主界面如圖5-2。在系統(tǒng)功能設(shè)計中,系統(tǒng)維護(hù)功能有修改密碼、按車次查詢、按站點(diǎn)查詢、按站點(diǎn)查詢、訂票情況等。只有注冊用戶才有權(quán)限進(jìn)入本界面。
47、車票查詢:當(dāng)進(jìn)入本系統(tǒng)后,可以根據(jù)站點(diǎn)、初始站和終點(diǎn)站、車次進(jìn)行選擇。圖5-2 系統(tǒng)主頁面 圖5-3 按地點(diǎn)查詢查詢模塊實(shí)現(xiàn)代碼,以按地點(diǎn)查詢?yōu)榱校簆ublic ResultSet Trainidquery(String start,String destination) String sql=select a.* from (select train_id,station_id,starttime + from train_station where station_id=+start+)as a + cross join (select train_id,station_id,startt
48、ime + from train_station where station_id=+destination+) as b + on a.train_id=b.train_id ; sqlBean db= new sqlBean(); ResultSet rs=db.executeQuery(sql); return rs; public ResultSet getMaxseat(String trainid) String sql=select max(seat) from ticket where train_id=+trainid+ ; sqlBean db= new sqlBean()
49、; ResultSet rs=db.executeQuery(sql); return rs; 車票預(yù)訂如圖5-4,圖5-5所示: 圖5-4 按地點(diǎn)查詢圖5-5 查詢結(jié)果圖5-6 提交訂票信息實(shí)現(xiàn)訂票代碼如下: public ResultSet getBook()String sql=select user_id,book.start_station,book.dest_station,subscription,countnumber,afford, +train_id,type,price from book,ticket + where book.start_station=ticket.
50、start_station and book.dest_station=ticket.dest_station;sqlBean db= new sqlBean();ResultSet rs = db.executeQuery(sql); return rs; public void updateBook() String sql=update book SET + startplace=+startplace+,destination=+destination+, + starttime=+starttime+,remain=+shengyu+, + price=+price+,seat=+s
51、eat+,train_id=+trainid+ where ticket_id=+ticketid+ ; sqlBean db= new sqlBean(); db.executeInsert(sql);由于管理員權(quán)限中的查詢與更新,功能與上述模塊相似,本論文中就不再次做出演示了。 第6章 系統(tǒng)的運(yùn)行與維護(hù)系統(tǒng)在完成系統(tǒng)實(shí)施、投入正常運(yùn)行之后,就進(jìn)入了系統(tǒng)運(yùn)行與維護(hù)階段。6.1 系統(tǒng)的配置 1、硬件配置要求: CPU:1GHz以上。 內(nèi)存:256MB以上。 硬盤:20GB以上(可用空間最好在5GB以上)。 2、軟件配置要求: WINDOWS2000/xp中文版操作系統(tǒng)。 本系統(tǒng)運(yùn)行:首先啟動Windows2000/XP,將本系統(tǒng)拷貝到硬盤相應(yīng)地目錄下,用附加數(shù)據(jù)庫加載上數(shù)據(jù),運(yùn)行“EXE文件”即可。 系統(tǒng)維護(hù)的目的是保證管理信息系統(tǒng)正常而可靠地運(yùn)行,并能使系統(tǒng)不斷得到改善和提高,以充分發(fā)揮作用。換言之,系統(tǒng)維護(hù)就是為了保證系統(tǒng)中的各個要素隨著環(huán)境的變化始終處于最新的、正確的工作狀態(tài)。系統(tǒng)維護(hù)的工作量往往是很大的,其費(fèi)用大約占整個生命周期的60%,所以我們必須對系統(tǒng)維護(hù)給予足夠的重視。 1、系統(tǒng)維
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 各類協(xié)議合同模板
- 合同未成立仲裁協(xié)議書
- 實(shí)習(xí)教師聘用協(xié)議合同
- 山體滑坡合同協(xié)議
- 合同轉(zhuǎn)讓條約協(xié)議
- 醫(yī)院就業(yè)協(xié)議合同
- 工傷協(xié)議合同模板
- 合同協(xié)議去哪公正
- 廣告牌匾合同協(xié)議
- 雙方合同簽訂協(xié)議
- 課題申報書:醫(yī)學(xué)院校研究生“導(dǎo)學(xué)思政”創(chuàng)新實(shí)踐路徑研究
- 2025年游泳教練資格認(rèn)證考試?yán)碚撛囶}集(初級)
- 《項(xiàng)脊軒志》公開課課件【一等獎】
- 慢性支氣管炎臨床診療指南
- 社區(qū)工作者經(jīng)典備考題庫(必背300題)
- 國家開放大學(xué)《管理英語4》章節(jié)測試參考答案
- 涵洞流量水文分析計算書(四川盆地)
- 新會中集資料:集裝箱標(biāo)貼
- 愛眼護(hù)眼知識競賽題庫二
- 幼兒園繪本故事掩耳盜鈴PPT課件
- 上海東區(qū)污水處理廠參觀報告(PPT課件)
評論
0/150
提交評論