數(shù)據(jù)庫課程設計-機票預定系統(tǒng)_第1頁
數(shù)據(jù)庫課程設計-機票預定系統(tǒng)_第2頁
數(shù)據(jù)庫課程設計-機票預定系統(tǒng)_第3頁
數(shù)據(jù)庫課程設計-機票預定系統(tǒng)_第4頁
數(shù)據(jù)庫課程設計-機票預定系統(tǒng)_第5頁
已閱讀5頁,還剩19頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、齊齊哈爾大學數(shù)據(jù)庫課程設計報告題目: 飛機機票預訂系統(tǒng) 班級: 計本095姓名:鄭蘭濤學號:2009021165指導教師:潘海珠 2010年 6 月 數(shù)據(jù)庫課程設計評分表班級計本095姓名鄭蘭濤指導教師潘海珠題目:飛機機票預訂系統(tǒng)評分標準評分標準分數(shù)權重評分的依據(jù)得分AC選題10選題符合大綱要求,題目較新穎,工作量大選題基本符合大綱要求,工作量適中工作態(tài)度10態(tài)度端正,能主動認真完成各個環(huán)節(jié)的工作,不遲到早退,出勤好。能夠完成各環(huán)節(jié)基本工作,出勤較好。數(shù)據(jù)庫設計20能正確繪制總體E-R圖,定義表結構準確,約束信息完備,對關系的規(guī)范化完全符合大綱要求能基本正確繪制E-R圖,定義表結構基本準確,對

2、關系的規(guī)范化基本符合大綱要求獨立解決問題的能力10具有獨立分析、解決問題能力,有一定的創(chuàng)造性,能夠獨立完成數(shù)據(jù)庫及相關軟件的設計與調試工作,程序結構合理,邏輯嚴謹,功能完善。有一定的分析、解決問題能力。能夠在老師指導下完成軟件的設計與調試工作,程序功能較完善。答辨問題回答20能準確回答老師提出的問題能基本準確回答老師提出的問題程序運行情況10程序運行正確、界面清晰,測試數(shù)據(jù)設計合理。程序運行正確、界面較清晰,能給出合適的測試數(shù)據(jù)。課程設計論文20格式規(guī)范,層次清晰,設計思想明確,解決問題方法合理,體會深刻。格式較規(guī)范,設計思想基本明確,解決問題方法較合理。總分指導教師(簽字):注:介于A和C之

3、間為B級,低于C為D級和E級。按各項指標打分后,總分在90100為優(yōu),8089為良,7079為中,6069為及格,60分以下為不及格。飛機機票預訂系統(tǒng)機票預訂是向廣大用戶提供各大航空公司機票預訂服務和交易的方式。用戶可以通過網站、電話、手機獲得機票預訂服務,預訂各航空公司國內機票。機票預訂可以根據(jù)您的需求準確快速的預訂到您想要乘坐的航班;在機票預訂之前用戶可以實時對您所需要的航班查詢;系統(tǒng)會根據(jù)您的航班查詢條件顯示航班信息,查詢完成后,您就可以對滿意的航班進行機票預訂。關鍵字:機票 預訂 退票1. 概述隨著社會發(fā)展的不斷進步,民航事業(yè)的壯大,人們消費水平的提高,乘坐民航的消費者也越來越多,旅游

4、也逐漸成為普通老百姓的生活組成部分,飛機票預定查詢系統(tǒng)在各機票預定網點中的作用也越顯重要。目前,我國一些旅行社和酒店的機票預定還停留在人工處理階段,這已經嚴重制約了工作效率,在計算機技術高速發(fā)展的今天,有必要引入高效的計算機系統(tǒng),來協(xié)助處理機票預定工作。因此,開發(fā)一套具有完整的存儲,查詢,核對,打印機票功能的實時機票預定系統(tǒng)勢在必行。機票預定系統(tǒng)是為機場工作人員和客戶提供訂票退票等與機票相關內容和管理的系統(tǒng),它具有開放體系結構的、易擴充的、易維護的、具有良好人機界面的優(yōu)點.它除克服了存儲乘客信息少,查詢效率低下等問題外,更重要的是其安全性,可靠性,實現(xiàn)航空公司的機票銷售的自動化。它為企業(yè)的決策

5、層提供準確、精細、迅速的機票銷售信息,為乘客出行提供方便,便于機場工作人員對機票信息進行管理,提高了機場工作人員對機票管理的工作效率。應用對數(shù)據(jù)庫系統(tǒng)原理的理論學習,通過上機實踐的方式將理論知識與實踐更好的結合起來,鞏固所學知識。實踐和鞏固在課堂教學中學習的關于數(shù)據(jù)庫的有關知識,熟練掌握對于給定結構的數(shù)據(jù)庫的創(chuàng)建、基本操作、程序系統(tǒng)的建立和調試以及系統(tǒng)評價。實踐和鞏固在課堂教學中學習的關于關系數(shù)據(jù)庫原理的有關知識和數(shù)據(jù)庫系統(tǒng)的建立方法,熟練掌握對于給定實際問題,為了建立一個關系數(shù)據(jù)庫信息管理系統(tǒng),必須得經過系統(tǒng)調研、需求分析、概念設計、邏輯設計、物理設計、系統(tǒng)調試、維護以及系統(tǒng)評價的一般過程,

6、為畢業(yè)設計打下基礎。本課程設計任務是通過開發(fā)一個數(shù)據(jù)庫機票預訂系統(tǒng),學習數(shù)據(jù)庫系統(tǒng)的設計與開發(fā), SQL 相關的軟件為開發(fā)工具。通過對計算機硬件和軟件解決方案的論證,對應用領域進行調查分析,參考各種資料和進行數(shù)據(jù)庫系統(tǒng)開發(fā)實踐。在指導老師的幫助下,已經基本上成功地實現(xiàn)了設計任務書的要求,使得設計的數(shù)據(jù)庫系統(tǒng)能夠實現(xiàn)一般數(shù)據(jù)庫的管理。2.需求分析隨著社會發(fā)展的不斷進步,民航事業(yè)的壯大,人們消費水平的提高,乘坐民航的消費者也越來越多,機票的預定也越顯重要,航空公司為方便旅客出行,需開發(fā)一個機票預定系統(tǒng)。預定機票的旅客信息,包括姓名、性別、身份證號碼、旅行時間、旅行目的地,輸入機票預定系統(tǒng)的客戶端程

7、序,系統(tǒng)經過查詢航空公司內的航班數(shù)據(jù)服務器后,為旅客安排航班,印出取票通知。旅客在飛機起飛前一天憑取票通知和帳單交款后取票,系統(tǒng)校對無誤后即印出機票給旅客。如果某方面出現(xiàn)問題,旅客可以持有效證件去飛機場退票。經過綜合分析,確定了機票預訂系統(tǒng)主要包括以下功能:(1) 航班信息管理功能主要實現(xiàn)航班的一些基本信息,航班編號、票價、起飛地、目的地、起飛時間的添加、修改、刪除和查詢。 (2) 機票信息管理功能主要實現(xiàn)機票的一些基本信息,航班編號、座位號、座位信息、機票類型的添加、修改、刪除和查詢。(3) 旅客信息管理功能此模塊的主要實現(xiàn)旅客一些基本信息,姓名、性別、聯(lián)系方式、證件號碼、的查詢功能。(4)

8、 取票信息管理功能此模塊用于取票信息的管理,包括對航班基本信息,航班編號等,旅客基本信息,旅客姓名、座位號、取票時間的查詢。(5) 退票信息管理功能此模塊用于退票信息的管理,包括對訂單號、旅客姓名、聯(lián)系方式、證件號碼的查詢。3.數(shù)據(jù)庫邏輯設計根據(jù)需求分析抽象出信息結構,可得該系統(tǒng)的E-R圖。(1) 旅客E-R圖,如圖1所示。旅客姓名性別證件號碼碼聯(lián)系方式圖1旅客E-R圖(2) 航班信息E-R圖,如圖2所示。航班信息起飛時間航班編號目的地票價起飛地圖2航班信息E-R圖(3) 機票信息E-R圖,如圖3所示。機票信息航班編號座位號座位信息碼機票類型圖3機票信息E-R圖(4) 取票通知E-R圖,如圖4

9、所示。取票通知航班編號旅客姓名座位號取票時間證件號碼圖4取票通知E-R圖(5) 退票信息E-R圖,如圖5所示。退票信息旅客姓名訂單號證件號碼碼聯(lián)系方式圖5退票信息E-R圖根據(jù)分E-R圖和需求分析,可得到總E-R圖,如圖6所示。nnn11mn退票信息航班信息旅客購買包含退票取票通知機票信息購買1姓名性別證件號碼碼聯(lián)系方式起飛時間航班編號目的地起飛地票價航班編號座位號機票類型座位信息碼航班編號旅客姓名座位號取票時間訂單號旅客姓名證件號碼碼聯(lián)系方式證件號碼圖6系統(tǒng)總體結構E-R圖(1) E-R圖向關系模型的轉換將圖6總體概念結構E-R圖轉化成關系模型。 退票信息(訂單號,旅客姓名,聯(lián)系方式,證件號碼

10、)旅客(旅客姓名,證件號碼,聯(lián)系方式,性別) 航班信息表(航班號,票價,起飛地,目的地,起飛時間) 取票通知單(旅客姓名,取票時間,證件號碼,航班號,座位號)機票信息表(座位號,航班號,座位信息,機票類型)(2)數(shù)據(jù)模型的優(yōu)化將轉化的關系模式進行優(yōu)化,最終達到第三范式。 確定數(shù)據(jù)依賴退票信息(訂單號,旅客姓名,聯(lián)系方式,證件號碼)根據(jù)這個關系寫出數(shù)據(jù)依賴訂單號旅客姓名,訂單號聯(lián)系方式,訂單號證件號碼旅客(旅客姓名,證件號碼,聯(lián)系方式,性別)旅客姓名證件號碼,旅客姓名聯(lián)系方式,旅客姓名性別 航班信息表(航班號,票價,起飛地,目的地,起飛時間)航班號起飛地,航班號票價,航班號目的地,航班號起飛時間

11、取票通知單(旅客姓名,取票時間,航班號,座位號)旅客姓名取票時間,旅客姓名航班號,旅客姓名座位號,機票信息表(座位號,航班號,座位信息,機票類型)(座位號,航班號)艙位類型,(座位號,航班號,座位信息)機票類型對各關系模式間數(shù)據(jù)依賴進行極小化處理,消除冗余訂單號旅客姓名,訂單號聯(lián)系方式,訂單號證件號碼旅客姓名性別,旅客姓名取票時間,旅客姓名航班號,旅客姓名座位號,旅客姓名機票類型航班號起飛地,航班號目的地,航班號起飛時間(座位號,航班號)座位信息看這些模式是否符合要求,確定是否要對某些模式進行合并或者分解 最終分解成第三范式: (訂單號,聯(lián)系方式,證件號碼)(訂單號,旅客姓名)(旅客姓名,取票

12、時間,性別,機票類型)(旅客姓名,航班號)(旅客姓名,座位號)(航班號,座位號,票價)(航班號,起飛地,目的地,起飛時間)(3)數(shù)據(jù)庫的結構根據(jù)總體結構圖設計機票預定系統(tǒng)基本表結構,其相應標的定義如下:表1旅客信息系統(tǒng)的結構字段名數(shù)據(jù)類型長度約束描述passager namevarchar50主鍵旅客姓名iddecimal不為空證件號碼telephone numberdecimal不為空聯(lián)系方式sexvarchar50不為空性別表2 退票信息系統(tǒng)的結構字段名數(shù)據(jù)類型長度約束描述order form decimal主鍵訂單號passager namevarchar50不為空旅客姓名telepho

13、ne numberdecimal不為空聯(lián)系方式idvarchar50不為空證件號碼表3 航班信息系統(tǒng)的結構字段名數(shù)據(jù)類型長度約束描述flight numberdecimal主鍵航班號take off placevarchar50不為空起飛地destinationvarchar50不為空目的地flight timetime不為空起飛時間priceint不為空票價flight typedecimal不為空航班型號表4取票通知單系統(tǒng)的結構字段名數(shù)據(jù)類型長度約束描述passager name varchar50主鍵旅客姓名get ticket timetime不為空取票時間flight numberd

14、ecimal不為空航班號seat numberdecimal不為空座位號flight ticket typevarchar50不為空機票類型表5 航班座位信息表字段名數(shù)據(jù)類型長度約束描述seat numberdecimal主鍵座位號flight numberdecimal不為空航班號seat messagevarchar50不為空座位信息flight ticket typevarchar50不為空機票類型4.軟件功能設計(1) 根據(jù)上述的功能,可以設計出系統(tǒng)的總體功能模塊,如圖7所示。機票預訂系統(tǒng)航班信息管理模塊機票信息管理模塊退票信息管理模塊取票信息管理模塊旅客信息管理模塊圖7 機票預訂系統(tǒng)

15、功能模塊示意圖(2) 取票信息管理模塊的細化功能模塊如圖8所示。取票信息管理旅客基本信息查詢機票基本信息查詢圖8 取票信息管理模塊(3) 退票信息管理模塊的細化功能模塊如圖9所示。取票信息管理旅客基本信息查詢訂單信息查詢圖9 退票信息管理模塊根據(jù)數(shù)據(jù)庫的基本表結構分別建立六個基本表,這里給出具體的SQL語句如下。(1)創(chuàng)建旅客信息表passagercreate table passager( passager name varchar(50) primary key, id decimal not null, telephone number decimal not null, sex var

16、char(50) not null);(2)創(chuàng)建退票信息表cancellations_messagecreate table cancellations_message( order form decimal primary key, passager name varchar(50) not null,telephone number decimal not null, id varchar(50) not null);(3)創(chuàng)建航班信息表flight_messagecreate table flight_message( flight number decimal primary key,

17、 take off place varchar(50) not null, destination varchar(50) not null, flight time time not null, flight type decimal not null, price int not null);(4)創(chuàng)建取票通知表ticket_messagecreate table get ticket_message( passager name varchar(50) primary key, get ticket time time not null, flight number decimal no

18、t null, seat number decimal not null, flight ticket type varchar(50) not null);(5)創(chuàng)建座位信息表flight_seat_messagecreate table flight_seat_message( seat number decimal primary key, flight number decimal not null, seat message varchar(50) not null, flight ticket type varchar(50) not null);5.界面設計在用戶界面部分,根據(jù)需

19、求分析的結果,用戶需要一個用戶友善界面。在界面設計上,應做到簡單明了,易于操作,并且要注意到界面的布局,應突出的顯示重要以及出錯信息。外觀上也要做到合理化,考慮到用戶多對WINDOWS風格較熟悉,應盡量向這一方向靠攏??偟膩碚f,系統(tǒng)的用戶界面應作到可靠性、簡單性、易學習和使用在本系統(tǒng)的人機界面設計中,主要有四方面的界面。一是旅客進行航班班次查詢的輸入輸出界面,如圖10和圖11所示。二是航空公司進行旅客信息查詢的輸入輸出界面,如圖12和圖13所示。三是旅客自己在電腦上進行訂票操作的界面,如圖14所示。四是旅客自己在電腦上進行退票操作的界面,如圖15所示。圖10 航班班次查詢輸入界面圖11 航班班

20、次查詢輸出界面圖12 旅客信息查詢輸入界面圖13 旅客信息查詢輸出界面圖14 訂票業(yè)務界面圖15 退票業(yè)務界面數(shù)據(jù)庫的連接創(chuàng)建函數(shù)ExecuteSQL ()Public Function ExecuteSQL(By Val SQL_As String,MsgString As String)_As ADODB.Recordset/此函數(shù)功能為執(zhí)行SQL語句,返回記錄集對象Dim cnn As ADODB.ConnectionDim rst As ADODB.RecordsetDim sTokens() As StringOn Error Go To ExecuteSQL_Error /錯誤處理

21、sTokens()=Split(SQL)Set cnn =New ADODB.Connectioncnn.open CONN /打開與數(shù)據(jù)庫的連接If InStr("INSERT,DELETE,UPDATE",_ /插入記錄 UCase$(sToken(0) Then Cnn.Execute SQL MsgString=sTokens(0) & _ "查詢成功"Else Set rst =New ADODB.Recordset Rst.Open Trim$(SQL),cnn,_ adO penKeyset,_ adLockOptimistic S

22、et ExecuteSQL = rst MsgString ="查詢到" & rst.RecordCount & _" 條記錄"End IfExecuteSQL_Exit /切斷與數(shù)據(jù)庫的連接 Set rst = Nothing Set cnn = Nothing Exit Function系統(tǒng)功能模塊設計設計類clsPlane,包含兩個類成員和三個類方法,類的兩個成員定義如下。Public txtSQL As StringDim mrc As ADODB.Recordset類的 ShowData 方法在窗口加載的時候用來顯示數(shù)據(jù)庫中的相

23、關記錄,這里通過控件MSFlexGrid控件來實現(xiàn)。具體代碼如下。Public Sub ShowData(By Val msgList As MSFlexGrid)Dim j As IntegerDim i As IntegerSet mrc = ExecuteSQL(txtSQL,MsgText) With msgList .Row = 1 Do While Not mrc.EOF .Rows = .Rows + 1 For i =1 To mrc.Fields.Count If Not IsNull(Trim(mrc.Fields(i 1) Then Select Case mrc.Fie

24、lds(i 1).Type Case adDBDate .TextMatrix(.Rows 1,i0 = Format(mrc.Fields(i 1)& "","yyyy-mm-dd") Case Else .T extMatrix(.Rows 1,i0 = mrc.Fields(i 1) & "" End Select End If Next i Mrc.MoveNext LoopEnd WithMrc.Close End Sub類的 Save 方法用于保存記錄,以及在修改記錄后對記錄進行更新,并在更新前首先判斷是否

25、具有相同的ID記錄,方法的具體代碼如下。Public Sub Save(txtString() As String) Dim intCount As Integer Dim MsgText As String /添加判斷是否有相同的ID記錄 If gintPmod = 1 Then TxtSQL = "select * from flight_message where flight number='" & Trim(txtString(0) & "" Set mrc = ExecuteSQL(txtSQL,MsgText) If mrc.EOF = False Then MsgBox"已經存在此編號的記錄!",vbOKOnly + vbExclamation, "警告" Exit Sub End If Mrc.Close End If /先刪除已有記錄 t

溫馨提示

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

最新文檔

評論

0/150

提交評論