




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 課程設計說明書 課程名稱:數(shù)據(jù)庫課程設計 題 目: 火車站售票系統(tǒng) 院 系: 理學院 專業(yè)班級: 信計 11-2 學 號: 2011304968 學生姓名: 鄭麗麗 指導教師: 柳文濤 2014年 月 日 安徽理工大學課程設計(論文)任務書 理學院 院系 信計 教研室學 號2011304968學生姓名鄭麗麗專業(yè)(班級)信計11-2 設計題目 火車站售票系統(tǒng)設計技術參數(shù)·jdk1.6·開發(fā)工具:Eclipse ·DBMS:MYSQL5.5,Navicat8設計要求 開發(fā)一個具有一定使用價值的員工管理系統(tǒng),系統(tǒng)具備查詢、修改、添加、刪除等功能。后臺數(shù)據(jù)庫基于MySq
2、l5.0建立的。工作量 報告頁數(shù)不少于15頁,參考文獻數(shù)目不得少于5個工作計劃 1月5日熟練使用Myeclipse10.0,MySQL5.5,Navicat 8 1月6日建立數(shù)據(jù)庫和表及關系表,模塊設計 1月7日學習界面的開發(fā) 1月8日學習數(shù)據(jù)庫的連接和用戶登錄的實現(xiàn) 1月9日至1月10日學會數(shù)據(jù)的添加,修改,刪除和查詢功能,編寫代碼,調試運行 1月11日至1月15日文檔寫作包括需求分析,數(shù)據(jù)字典與模塊設計 1月16提交課程設計參考資料 1 陳軼,姚曉昆.Java程序設計實驗指導M.北京:清華大學出版社,2006.2 楊昭編.二級Java語言程序設計教程M.北京:中國水利水電出版社,2006.
3、3 趙文靖.Java程序設計基礎與上機指導M.北京:清華大學出版社,2006.4 趙毅主.跨平臺程序設計語言JavaM.西安:西安電子科技大學出版社,2006.5 王路群.Java高級程序設計M.北京:中國水利水電出版社,2006.6 雍俊.Java程序設計習題集M.北京:清華大學出版社,2006.7 朱福喜.Java語言習題與解析M.北京:清華大學出版社,2006.8 吳其慶.Java程序設計實例教程M.北京:冶金工業(yè)出版社,2006指導教師簽字 教研室主任簽字 年 月 日 學生姓名: 鄭麗麗 學號: 2011304968 專業(yè)班級: 信計11-2 課程設計題目: 火車站售票系統(tǒng) 指導教師評
4、語: 成績: 指導教師: 年 月 日安徽理工大學課程設計(論文)成績評定表目 錄摘要I第1章 緒論1.1 項目背景11.2 編寫目的11.3 開發(fā)環(huán)境11.3.1 硬件環(huán)境11.3.2 軟件環(huán)境1第2章 系統(tǒng)功能介紹32.1 系統(tǒng)功能總框圖32.2 模塊功能介紹32.2.1 系統(tǒng)登錄32.2.2 管理員登錄42.2.3 普通用戶登錄42.3組內任務分工5第3章 數(shù)據(jù)庫設計53.1 數(shù)據(jù)庫需求分析53.2 數(shù)據(jù)流圖53.3 數(shù)據(jù)庫概念結構設計63.4 數(shù)據(jù)庫表的設計8第4章 系統(tǒng)功能實現(xiàn)104.1普通用戶登錄104.1.1 查詢104.1.2 售票17結論22參考文獻23摘要:隨著Interne
5、t和Intranet技術的發(fā)展,人們對網絡信息的需求越來越大,對網絡數(shù)據(jù)庫的交互和查詢速度等性能的要求也越來越高。未來火車站的發(fā)展趨勢是完全自動化的售票信息查詢,網絡訂票,智能化訂票,而且隨著計算機的普及,信息處理量的逐漸擴大,手工處理方式已經遠遠不能滿足人們管理活動的需要,各種工作都逐漸由手工轉為自動化,將使許多復雜、繁瑣、且需要很多人力的工作變得簡單?;疖囌臼燮惫芾硎潜鞠到y(tǒng)的根本任務,通過實現(xiàn)票務信息的計算機管理,以提高工作效率。實現(xiàn)計算機管理的最佳技術就是數(shù)據(jù)庫技術。我們可以利用數(shù)據(jù)庫將整個火車站的票務情況存入計算機,再配置上功能豐富的用戶接口,以滿足用戶需求。 基于這樣的背景并考慮到一
6、定的實際意義及于我們將實踐與理論結合起來,我們組在這次課設中選擇了“火車售票管理系統(tǒng)”。在這次課設中我們使用Java技術來開發(fā)該火車票管理系統(tǒng)。因而在本報告中介紹了系統(tǒng)的開發(fā)環(huán)境以及開發(fā)工具,對Java在系統(tǒng)上的應用設計思想做了一個全面的敘述,對于系統(tǒng)中數(shù)據(jù)庫中的數(shù)據(jù)表之間的具體關聯(lián)等方面也做出了詳細說明,并且具體講述了系統(tǒng)各個功能模塊的設計以及實現(xiàn)過程。關鍵詞: 火車售票管理系統(tǒng) Java技術 網絡數(shù)據(jù)庫Summary:With the development of Internet and Intranet technology, people demand more and more i
7、nformation on the network , such as query speed of interaction and performance of the network databases are increasingly high requirements . Future trends railway station is fully automated ticketing information inquiries, booking network , intelligent ticketing , and with the gradual expansion of t
8、he popularity of information-processing capacity of the computer , manual processing methods have been far from meeting the needs of people management activities various work gradually by hand into automation will enable many complex , cumbersome, and requires a lot of human work easier. Train ticke
9、t management is the fundamental task of the system, by implementing computer management ticketing information to improve work efficiency. Computer technology to achieve optimal management is database technology. We can use the database to the entire train ticket is stored in the computer , and then
10、configure the feature-rich user interface to meet user needs. Based on this background and taking into account certain practical significance and in our practice and theory will combine a lesson for us in this group , select the " train ticket management system ." In this lesson we set up
11、to develop the use of Java technology in the ticket management system. Thus in the present report describes the system development environment as well as development tools for Java applications on the system 's design philosophy has made a comprehensive narrative, related to the specific aspects
12、 of the system data in the database tables , also made a details, and in particular about the design of the system and the various functional modules implementation process .Keywords :train ticketing Java technology network database management system1 緒論1.1項目背景 信息社會的高科技,商品經濟的高效益,使計算機的應用普及到經濟和社會生活的各個
13、領域。計算機與人類的關系愈來愈密切,計算機操作為人們帶了越來越多的便利。為了適應現(xiàn)代社會人們高度強烈的時間觀念,火車票管理系統(tǒng)將會為人們帶來極大的方便。在火車大力普及的今天,一個火車站售票信息管理系統(tǒng)應達到的目標是提供及時、廣泛的信息服務,加快信息檢索的效率,實況靈活的查詢,減輕管理人員制作報表和統(tǒng)計分析的負擔,且系統(tǒng)規(guī)模不太大但又要保證支持日常工作的要求,以便系統(tǒng)應易于擴充,方便日后統(tǒng)一聯(lián)網與管理,提高管理水平。根據(jù)以上的設計目標和要求,本設計用Java編程語言結合微軟的Access數(shù)據(jù)庫進行開發(fā),主要完成查詢、售票、及對票務和用戶進行管理等功能。其實火車售票系統(tǒng)用計算機管理火車站票務信息的
14、一種計算機應用技術的創(chuàng)新,在計算機還未普及之前售票業(yè)務都是由工作人員人工完成的、查詢方式來操作的?,F(xiàn)在一般的車站售票業(yè)務都采用計算機智能化管理,采用計算機作為工具的實用的計算機訂單管理程序來幫助前臺管理員進行更有效的車票業(yè)務查詢,出售管理工作?;疖囀燮惫芾硐到y(tǒng)是典型的信息管理系統(tǒng)(MIS):其開發(fā)主要包括后臺數(shù)據(jù)庫的建立和維護以及前端應用程序的開發(fā)兩個方面。對于前者要求建立起數(shù)據(jù)一致性和完整性強、數(shù)據(jù)安全性好的庫。而對于后者則要求應用程序功能完備,易使用等特點。 經過分析:我們使用Java編程語言開發(fā)工具,利用其提供的各種面向對象的開發(fā)工具,尤其是數(shù)據(jù)窗口這一能方便而簡潔操縱數(shù)據(jù)庫的智能化對象
15、,首先在短時間內建立系統(tǒng)應用原型,然后對初始原型系統(tǒng)進行需求迭代,不斷修正和改進,直到形成用戶滿意的可行系統(tǒng)。1.2編寫目的電腦的漸漸普及,以及互聯(lián)網所容納的信息量大、內容豐富、信息及時、準確,更有相關信息的全面介紹與比較。為了人們在火車站購買車票以及售票員對車票的、管理、查詢以及相應的操作變的簡單,開發(fā)這樣一個火車票管理系統(tǒng)成為很有必要的事情。1.3 開發(fā)環(huán)境1.3.1 硬件環(huán)境PC機。1.3.2 軟件環(huán)境 操作系統(tǒng):Windows XP 開發(fā)工具:EclipseEclipse是著名的跨平臺的自由集成開發(fā)環(huán)境(IDE)。最初主要用來Java語言開發(fā),但是目前亦有人通過插件使其作為C+、Pyt
16、hon、PHP等其他語言的開發(fā)工具。Eclipse的本身只是一個框架平臺,但是眾多插件的支持,使得Eclipse擁有較佳的靈活性。許多軟件開發(fā)商以Eclipse為框架開發(fā)自己的IDE。Eclipse采用的技術是IBM公司開發(fā)的(SWT),這是一種基于Java的窗口組件,類似Java本身提供的AWT和Swing窗口組件;不過IBM聲稱SWT比其他Java窗口組件更有效率。Eclipse的用戶界面還使用了GUI中間層JFace,從而簡化了基于SWT的應用程序的構建。Eclipse的設計思想是:一切皆插件。Eclipse核心很小,其它所有功能都以插件的形式附加于Eclipse核心之上。Eclipse
17、基本內核包括:圖形API (SWT/Jface), Java開發(fā)環(huán)境插件(JDT),插件開發(fā)環(huán)境(PDE)等。 數(shù)據(jù)庫:Microsoft Access2003Access 是微軟公司推出的基于Windows的桌面關系數(shù)據(jù)庫管理系統(tǒng)(RDBMS),是Office系列應用軟件之一。它提供了表、查詢、窗體、報表、頁、宏、模塊7種用來建立數(shù)據(jù)庫系統(tǒng)的對象;提供了多種向導、生成器、模板,把數(shù)據(jù)存儲、數(shù)據(jù)查詢、界面設計、報表生成等操作規(guī)范化;為建立功能完善的數(shù)據(jù)庫管理系統(tǒng)提供了方便,也使得普通用戶不必編寫代碼,就可以完成大部分數(shù)據(jù)管理的任務。 Access是一種關系型數(shù)據(jù)庫管理系統(tǒng),其主要特點如下: 1
18、) 存儲方式單一 Access管理的對象有表、查詢、窗體、報表、頁、宏和模塊,以上對象都存放在后綴為(.mdb)的數(shù)據(jù)庫文件種,便于用戶的操作和管理。 2) 面向對象 Access是一個面向對象的開發(fā)工具,利用面向對象的方式將數(shù)據(jù)庫系統(tǒng)中的各種功能對象化,將數(shù)據(jù)庫管理的各種功能封裝在各類對象中。它將一個應用系統(tǒng)當作是由一系列對象組成的,對每個對象它都定義一組方法和屬性,以定義該對象的行為和外國,用戶還可以按需要給對象擴展方法和屬性。通過對象的方法、屬性完成數(shù)據(jù)庫的操作和管理,極大地簡化了用戶的開發(fā)工作。同時,這種基于面向對象的開發(fā)方式,使得開發(fā)應用程序更為簡便。 3)界面友好、易操作 Acce
19、ss是一個可視化工具,是風格與Windows完全一樣,用戶想要生成對象并應用,只要使用鼠標進行拖放即可,非常直觀方便。系統(tǒng)還提供了表生成器、查詢生成器、報表設計器以及數(shù)據(jù)庫向導、表向導、查詢向導、窗體向導、報表向導等工具,使得操作簡便,容易使用和掌握。 4)集成環(huán)境、處理多種數(shù)據(jù)信息 Access基于Windows操作系統(tǒng)下的集成開發(fā)環(huán)境,該環(huán)境集成了各種向導和生成器工具,極大地提高了開發(fā)人員的工作效率,使得建立數(shù)據(jù)庫、創(chuàng)建表、設計用戶界面、設計數(shù)據(jù)查詢、報表打印等可以方便有序地進行。 5) Access支持ODBC(開發(fā)數(shù)據(jù)庫互連,Open Data Base Connectivity),利
20、用Access強大的DDE(動態(tài)數(shù)據(jù)交換)和OLE(對象的聯(lián)接和嵌入)特性,可以在一個數(shù)據(jù)表中嵌入圖、聲音、Excel表格、Word文檔,還可以建立動態(tài)的數(shù)據(jù)庫報表和窗體等。Access還可以將程序應用于網絡,并與網絡上的動態(tài)數(shù)據(jù)相聯(lián)接。利用數(shù)據(jù)庫訪問頁對象生成HTML文件,輕松構建Internet/Intranet的應用。第2章 系統(tǒng)功能介紹2.1 系統(tǒng)功能總框圖系統(tǒng)功能分析是在系統(tǒng)開發(fā)的總體任務的基礎上完成。根據(jù)系統(tǒng)分析確定的邏輯模型,確定新系統(tǒng)的物理模型,即計算機化信息系統(tǒng)應用軟件的總體結構和數(shù)據(jù)庫設計,并提出系統(tǒng)配置方案,繼而對物理模型進行詳細的設計。主要內容有:代碼設計,用戶界面設計
21、,處理過程設計,編寫系統(tǒng)設計說明書。系統(tǒng)設計是以系統(tǒng)分析為基礎,而系統(tǒng)設計又是系統(tǒng)實施的基礎,系統(tǒng)設計的主要任務是代碼設計、物理設計、數(shù)據(jù)庫設計、功能結構圖設計。本火車票管理系統(tǒng)功能包括用戶登錄、用戶信息管理、火車票信息管理、火車票信息查詢等如圖2.1所示。圖2.1 系統(tǒng)功能圖2.2 模塊功能介紹2.2.1 系統(tǒng)登錄火車票管理系統(tǒng)可以分為2種登錄方式登錄系統(tǒng),分別為管理員、普通用戶??紤]到數(shù)據(jù)庫中數(shù)據(jù)的安全性和用戶的權益,該系統(tǒng)采用“用戶標識”和“口令”相結合的數(shù)據(jù)庫安全技術,并通過自動認證用戶的“權限”來判斷用戶應該登陸到的界面。其中管理員使用密碼登錄可以直接登錄到管理系統(tǒng),進行火車票信息和
22、用戶信息進行管理;普通用戶使用密碼登錄到用戶界面,可以在對火車票查詢的基礎上對乘客所要求買的車票信息進行查詢和填寫以及火車票記錄的打印等操作。2.2.2 管理員登錄管理員是該火車售票系統(tǒng)數(shù)據(jù)的直接管理者,他對該系統(tǒng)數(shù)據(jù)庫中的數(shù)據(jù)享有所有的權限。針對這一點,管理員管理界面包含了“用戶管理”、“票務管理”以及“系統(tǒng)幫助”三個選項。(1)用戶管理用戶管理界面是管理員才能進入的界面,在該窗口中,管理員可以對使用該系統(tǒng)的用戶進行管理,具體包括“查找用戶”、“增加用戶”、“刪除用戶”、“修改用戶”等功能,并將各個子功能的結果顯示在窗口左邊的顯示區(qū)域內,初次登陸此界面時顯示區(qū)域內的信息是所有用戶的信息。通過
23、該模塊的功能,管理員可以很方便的對使用該系統(tǒng)的用戶進行管理。(2)票務管理顧名思義“票務管理”就是對火車票進行的管理,在此模塊中我們可以進行“所有票數(shù)”、“賣出票數(shù)”等的預覽。運行界面如圖2.2所示。圖2.2“票務管理”窗口2.2.3 普通用戶登錄在這個功能模塊里普通用戶即售票員可以進行火車及或火車票的信息進行查詢及售票。查詢子功能中可以“按車次查詢”,也可以“按車站查詢”;在售票子功能中選擇好車票相關信息后并核對確認好乘客需要次車票后可以可預覽車票信息;如果乘客需要數(shù)據(jù)單,則可以點擊“打印”來打印數(shù)據(jù)單。查詢:“查詢”功能中的“按車次查詢”和“按車站查詢”思想相差無幾,這里我們重點說明“按車
24、次查詢”。如現(xiàn)在乘客詢問“T1”的火車具體信息及車票信息或者是購買“T1”的車票,售票員便在“火車票”窗口選擇“按車次查詢”,然后在“車次”一欄中輸入“T1”以及選擇好日期以后點擊“查詢”便會出發(fā)相應的查詢事件即將“車次”和“日期”傳遞給查詢語句后將數(shù)據(jù)庫中各個表中的相關信息查詢出來顯示在“火車票”窗口相應的地方,具體包括始發(fā)站、終點站、發(fā)車時間、剩余票數(shù)、單價等信息。售票:在用戶選定了需要的票之后,點擊確定按鈕之后,會彈出電子票窗口。在購票成功之后,需要對數(shù)據(jù)庫進行更新操作,這就是售票系統(tǒng)的主要功能。2.3 組內任務分工表2.1 組內任務分工姓名任務分工成績鄭麗麗 葛巧巧數(shù)據(jù)庫連接與數(shù)據(jù)交互
25、、用戶管理(增加、查找、修改、刪除)鄭麗麗數(shù)據(jù)庫設計、系統(tǒng)功能實現(xiàn)(普通用戶登錄)葛巧巧數(shù)據(jù)庫設計、系統(tǒng)功能實現(xiàn)(登錄和管理員系統(tǒng))第3章 數(shù)據(jù)庫設計火車票管理系統(tǒng)是一個數(shù)據(jù)庫應用系統(tǒng),各類數(shù)據(jù)的所有信息都是保存在數(shù)據(jù)庫中。在數(shù)據(jù)庫應用系統(tǒng)的開發(fā)進程中,數(shù)據(jù)庫的結構設計是一個非常重要的問題。我們這里所說的數(shù)據(jù)庫結構設計是指數(shù)據(jù)庫中各個表結構的設計,包括信息保存在哪個表格中,各個表的結構如何以及各個表之間的關系如何等。數(shù)據(jù)庫結構設計的好壞將直接對應用系統(tǒng)的效率以及實現(xiàn)的效果產生影響,好的數(shù)據(jù)庫結構設計會減少數(shù)據(jù)庫的存儲量,數(shù)據(jù)庫的完整性和一致性比較高,系統(tǒng)具有較快的響應速度,簡化基于數(shù)據(jù)庫的應用
26、程序的實現(xiàn)等。由數(shù)據(jù)庫設計的重要性,人們提出了許多數(shù)據(jù)庫結構設計的技術。但是這些設計方法和設計者的工作經驗有很大關系。因此要從根本上解決所有數(shù)據(jù)庫結構設計的問題,就需要多實踐,在實踐中積累經驗和教訓,最終成為數(shù)據(jù)庫結構設計的專家。3.1 數(shù)據(jù)庫需求分析數(shù)據(jù)庫結構設計的一個非常重要的階段就是數(shù)據(jù)庫需求分析階段。在這個階段主要是收集基本數(shù)據(jù)以及數(shù)據(jù)處理流程,為以后進一步設計打下基礎。需求分析主要解決兩個問題:內容要求:調查應用系統(tǒng)用戶所操作的數(shù)據(jù),決定的數(shù)據(jù)庫中存儲什么數(shù)據(jù)。處理要求:調查應用系統(tǒng)用戶要求對數(shù)據(jù)進行什么樣的處理,理數(shù)據(jù)庫中的各種數(shù)據(jù)之間的關系如何。解決這兩個問題的時候,程序設計人員
27、需要向應用系統(tǒng)的用戶做詳細調查,保證信息收集的完整性,否則有可能后面所做的所有工作都白白浪費?,F(xiàn)在軟件開發(fā)過程中最常用的需求分析技術是快速原型法,其實質就是快速建立展示目標產品主要功能的軟件,在開發(fā)過程中根據(jù)用戶反饋對模型不斷修改、完善。因此其最重要的一方面體現(xiàn)在“快速”上,要盡可能快地建立原型。第二個方面是所構造的原型必須可以改變,可以根據(jù)用戶反饋不斷更改、完善。在開發(fā)本系統(tǒng)過程中,基本遵循快速原型法原則,經過初步調研后,先建立應用程序框架,然后根據(jù)與用戶的交流,在原型的基礎上不斷修改、完善,直到最后交付使用。這種方法最大的優(yōu)點是開發(fā)周期短、見效快、實用性強。在此系統(tǒng)中用戶中的管理員需求對火
28、車和火車票進行保存、更新,對普通用戶進行增加、刪除、查詢、修改;普通則要求對火車票的相關信息進行查詢、打印,將火車票準確及時的賣出給乘客。這就需要數(shù)據(jù)庫結構能充分滿足各種信息的輸入與輸出,實現(xiàn)有組織地、動態(tài)地存儲大量關聯(lián)數(shù)據(jù),方便用戶訪問系統(tǒng)中的數(shù)據(jù),它與文件系統(tǒng)的重要區(qū)別是數(shù)據(jù)的充分共享,交叉訪問,與應用程序的高度獨立性。3.2 數(shù)據(jù)流圖結構化方法使用數(shù)據(jù)流圖從數(shù)據(jù)傳遞和加工的角度,以圖形的方式刻畫數(shù)據(jù)流從輸入到輸出的變化過程。數(shù)據(jù)流圖是結構化系統(tǒng)分析的主要工具,它表示了系統(tǒng)內部信息的流向,并表示了系統(tǒng)的邏輯處理的功能,是一種功能模型。火車票管理系統(tǒng)的數(shù)據(jù)流圖如下圖3.1所示。圖3.1數(shù)據(jù)流
29、圖3.3 數(shù)據(jù)庫概念結構設計這一階段是在需求分析的基礎上,設計出能夠滿足需求的各種實體,以及它們之間的關系,且為后面的邏輯結構設計打下基礎。這個階段不用考慮所采用得數(shù)據(jù)庫管理系統(tǒng)、操作系統(tǒng)、機器類型等問題。這個階段可用的工具很多。用得最多的是E-R圖(Entity-Relation,實體-關系圖),另外還有許多計算機輔助工具(Computer Aided Software, CASE)可以幫助進行設計。本系統(tǒng)都是采用E-R圖的方法進行數(shù)據(jù)庫概念結構設計的,現(xiàn)在先對E-R圖的方法進行一下簡單的介紹。E-R圖是描述數(shù)據(jù)實體及其關系的一種直觀的描述工具。這種圖中有: 實體。用方框表示,方框內為實體名
30、稱。在火車售票系統(tǒng)中的實體有用戶、車票。 實體的各種屬性。用橢圓表示,橢圓內為屬性名稱。使用線段將其和相應的實體連接起來。概括起來,該系統(tǒng)中各實體的屬性如下:1) 用戶(用戶名,用戶號、用戶密碼、用戶權限);2) 車票(車票號,車票類型,票價);3) 火車(火車號,車型,始發(fā)時間,始發(fā)站,終點站,途經站,運行時間,全程行程);4) 車站(車站號,車站名);5) 車廂(車廂號,類型,總票數(shù),剩余票數(shù));6) 實體之間的聯(lián)系。用菱形表示,菱形內部為聯(lián)系的名稱。圖3.2 總E-R圖3.4 數(shù)據(jù)庫表的設計在做出數(shù)據(jù)庫的具體表之前,我們需要有相應的概念結構。概念結構是獨立于實際數(shù)據(jù)模型的,必須將其轉化為
31、邏輯結構后才能進行數(shù)據(jù)庫應用設計。也就是要將上面的數(shù)據(jù)庫概念轉化為Access數(shù)據(jù)庫所支持的實際數(shù)據(jù)模型。在上面的實體與實體之間關系的基礎上,形成數(shù)據(jù)庫中的表格,以及各個表格之間的關系。具體關系模式如下: 用戶信息(用戶ID,登錄名,用戶密碼,用戶權限);車票(票號,車票類型,票價);車站信息(車站號,車站名);車廂信息(車廂編號,火車編號,類型,座位總數(shù),剩余數(shù)量);火車信息(火車號,車型,始發(fā)時間,始發(fā)站,終點站,途經站,運行時間,全程行程);管理/賣票(票號,火車號);“火車票管理系統(tǒng)”的數(shù)據(jù)庫名稱為Trainticket,數(shù)據(jù)庫中包含6張表。下面根據(jù)系統(tǒng)的關系模式分別給出數(shù)據(jù)表概要說明
32、和主要數(shù)據(jù)表的結構,每個表格表示數(shù)據(jù)庫中的一個表。按照關系模式可分為Tickettable表描述車票信息(如表3.3所示)、Salesticket表描述賣票聯(lián)系(如表3.4所示)、Brailway表描述車廂信息(如表3.5所示)、Users表描述用戶信息(如表3.6所示)、Trainstage表描述車站信息(如表3.7所示)、Trainstation 表描述火車信息(如表3.8所示)。 表3.3 Tickettable表字段名稱字段類型約束條件typeno車票號char(10)主鍵tickettype車票類型char(10)Not nullcharge票價float(8,2)Not null表
33、3.4 Salesticket 表字段名稱字段類型約束條件ticketno車票編號char(10)主鍵,參照tickettable表trainno火車編號char(10)主鍵,參照trainstation表表3.5 Brailway表字段名稱字段類型約束條件Trainno火車編號char(10)主鍵railwayno車廂號int(10)主鍵railwaytype類型char(10)Not nullseatcount總票數(shù)int(10)unsigned Not nulluseable剩余票數(shù)int(10)unsigned Not null表3.6 Users表字段名稱字段類型約束條件userno
34、用戶號碼int(10)主鍵username用戶名char(10)Not nulluserpassword用戶密碼char(10)Not nulluserpopedom用戶權限char(10)Not null 表3.7 Trainstage 表字段名稱字段類型約束條件stagenameindex站號char(10)主鍵stagename站名varchar(50)Not null表3.8 Trainstation表字段名稱字段類型約束條件trainno火車編號char(10)主鍵traintype車型char(10)Not nullStartstage始發(fā)站varchar(45)Not null,
35、參照表trainstageArrivestage終點站varchar(45)Not null,參照表trainstageChangetrain途經站varchar(45)Not null,參照表trainstagearrivetime到達時間char(10)Not nullexittime運行時間char(10)Not nullrunmileage全程行程int(10Not null第4章 系統(tǒng)功能實現(xiàn)4.1 普通用戶登錄4.1.1 查詢 查詢主要包括按車次查詢和按車站查詢。當我們輸入車次“T1”時,會產生一個查詢結果。如圖4.1所示。圖4.1 查詢“T1”相關信息為了更好的仿真,我們還增加了
36、“按車站查詢”的功能的模塊?!鞍窜嚧尾樵儭?、“按車站查詢”的模塊代碼如下:public void actionPerformed(ActionEvent e) if(e.getSource()=_jb1)/ 判斷是否點擊按鈕 _jt1.setText(""); _jt2.setText(""); _jt3.setText(""); _jt4.setText(""); String trainno = _jt5.getText().trim(); if(_cb0.getState()=true) /判斷第一個單選是否
37、為真 if(conn.gettrainno(trainno)!=null) for(int m = 0;m<100;m+) for(int n = 0;n<8;n+) _t.setValueAt("",m,n); useable = conn.getuseable(trainno); startstage = conn.getsalestage(trainno); arrivestage = conn.getarrivestage(trainno); saletime = conn.getsaletime(trainno,""); exitt
38、ime = conn.getexittime(trainno); railwaytype = conn.getrailwaytype(trainno); runmileage = conn.getrunmileage(trainno); starttime = conn.getstarttime(trainno); ticketprice = Float.parseFloat(conn.getticketprice(trainno); _jt1.setText(trainno); _jt2.setText(startstage); _jt3.setText(arrivestage); _jt4
39、.setText(useable); _jb3.setEnabled(true); _t.setValueAt(trainno,0,0); _t.setValueAt(railwaytype,0,1); _t.setValueAt(startstage,0,2); _t.setValueAt(arrivestage,0,3); _t.setValueAt(starttime,0,4); _t.setValueAt(saletime,0,5); _t.setValueAt(exittime+"小時",0,6); _t.setValueAt(runmileage+"公
40、里",0,7); _jl26.setText("單價:"+ticketprice); else JOptionPane.showMessageDialog(this,"對不起,沒有該信息!"); else v = conn._getAllStage(_ch2.getSelectedItem(),_ch3.getSelectedItem(); Enumeration eee = v.elements(); if(!eee.hasMoreElements() JOptionPane.showMessageDialog(this,"對不起,
41、沒有該記錄!"); else for(int m = 0;m<100;m+) for(int n = 0;n<8;n+) _t.setValueAt("",m,n); for(int i = 0;eee.hasMoreElements();i+) stt = (SaleTrainTicket) eee.nextElement(); _t.setValueAt(stt.getTtrainno(),i,0); _t.setValueAt(conn.getrailwaytype(stt.getTtrainno(),i,1); _t.setValueAt(st
42、t.getStartstage(),i,2); _t.setValueAt(stt.getArrivestage(),i,3); _t.setValueAt(stt.getStarttime(),i,4); _t.setValueAt(stt.getSaletime(),i,5); _t.setValueAt(conn.getexittime(stt.getTtrainno()+"小時",i,6); _t.setValueAt(conn.getrunmileage(stt.getTtrainno()+"公里",i,7); _jb3.setEnabled(
43、true); if(e.getSource()=_jb2) if(_cb1.getState()=true) if(!_t.getValueAt(_t.getSelectedRow(),0).equals("") Object _useable = _t.getValueAt(_t.getSelectedRow(),0); Object _startstage = _t.getValueAt(_t.getSelectedRow(),2); Object _arrivestage = _t.getValueAt(_t.getSelectedRow(),3); String _
44、useable = (String)_useable; String _startstage = (String)_startstage; String _arrivestage = (String)_arrivestage; String _ticketprice = (String)_useable; _jt1.setText(_useable); _jt2.setText(_startstage); _jt3.setText(_arrivestage); _jt4.setText(conn.getuseable(_useable); ticketprice = Float.parseFl
45、oat(conn.getticketprice(_ticketprice); _jl26.setText("單價:"+ticketprice); _jl26.setForeground(Color.red); else if(!_t.getValueAt(_t.getSelectedRow(),0).equals("") String _ticketprice = (String)_t.getValueAt(_t.getSelectedRow(),0); ticketprice = Float.parseFloat(conn.getticketprice
46、(_ticketprice); _jl26.setText("單價:"+ticketprice); else JOptionPane.showMessageDialog(this,"你選擇的是空值!"); if(_cb0.getState()=true) _jt1.setText(""); _jt2.setText(""); _jt3.setText(""); _jt4.setText(""); Object _useable = _t.getValueAt(_t.getSe
47、lectedRow(),0); Object _startstage = _t.getValueAt(_t.getSelectedRow(),2); Object _arrivestage = _t.getValueAt(_t.getSelectedRow(),3); String _useable = (String)_useable; String _startstage = (String)_startstage; String _arrivestage = (String)_arrivestage; String _ticketprice = (String)_useable; _jt
48、1.setText(_useable); _jt2.setText(_startstage); _jt3.setText(_arrivestage); _jt4.setText(conn.getuseable(_useable); if(_ch5.getSelectedItem().equals("全票") ticketprice = ticketprice*1; else ticketprice = ticketprice/2; _jl26.setText("單價:"+ticketprice); _jl26.setForeground(Color.re
49、d); else if(!_t.getValueAt(_t.getSelectedRow(),0).equals("") String _ticketprice = (String)_t.getValueAt(_t.getSelectedRow(),0); ticketprice = Float.parseFloat(conn.getticketprice(_ticketprice); _jl26.setText("單價:"+ticketprice); _jl26.setForeground(Color.red); else JOptionPane.sh
50、owMessageDialog(this,"你選擇的是空值!"); if(e.getSource()=_jb3) if(_t.getSelectedRow()=-1)/取行 else if(_t.getValueAt(_t.getSelectedRow(),0).equals("") JOptionPane.showMessageDialog(this,"你選擇的行是空的!"); else String trainno = _jt5.getText().trim(); Object i = _t.getValueAt(_t.getSe
51、lectedRow(),0); trainno = (String)i; String _ticketprice = (String)_t.getValueAt(_t.getSelectedRow(),0); int ticketcount_; float ticketprice_,pay_; String ticketcount = _jt6.getText().trim(); String pay = _jt8.getText().trim(); String ticketprice_ = conn.getticketprice(_ticketprice); ticketcount_ = Integer.pa
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 八年級生物下冊 第8單元 健康地生活 第25章 第1節(jié)《選擇健康的生活方式》教學實錄1 (新版)蘇科版
- 第1課時 找規(guī)律(教學設計)-2023-2024學年三年級下冊數(shù)學北師大版
- 五年級數(shù)學(小數(shù)乘除法)計算題專項練習及答案匯編
- 五年級數(shù)學(小數(shù)四則混合運算)計算題專項練習及答案
- 管板布管區(qū)當量直徑與管板計算直徑之比
- 農村股追加合同范例
- 發(fā)泡混凝土加工合同范本
- 司儀雇傭合同范本
- 醫(yī)院 績效工資 合同范例
- 公司和品牌 合同范例
- 靜脈治療護理技術操作標準解讀
- 河南省公務員面試真題匯編7
- 基于大規(guī)模光伏發(fā)電融合熔鹽儲熱的高溫高壓供汽系統(tǒng)
- 使用林地可行性報告三篇
- 《跨文化傳播》教學大綱
- 高管履歷核實調查報告
- 制作塔臺模型課件科學六年級下冊教科版
- 中國新能源汽車“車電分離”行業(yè)市場現(xiàn)狀分析及競爭格局與投資發(fā)展研究報告2024-2029版
- 雙t板屋面施工方案
- 2025年湖南省邵陽市新寧縣初三第一次聯(lián)考綜合試題含答案
- 2024-2025學年新教材高中地理 第三章 產業(yè)區(qū)位因素 第二節(jié) 工業(yè)區(qū)位因素及其變化(2)教案 新人教版必修2
評論
0/150
提交評論