課程設計說明文檔_第1頁
課程設計說明文檔_第2頁
課程設計說明文檔_第3頁
課程設計說明文檔_第4頁
課程設計說明文檔_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、民航售票管理系統(tǒng)前提申明:購票者統(tǒng)一假設為在當?shù)爻鞘械娘w機場購票,訂票性質(zhì)統(tǒng)一為網(wǎng)上訂票,單詞操作只能訂一張票。民航售票系統(tǒng)一:數(shù)據(jù)庫需求分析 訂票信息查詢航線信息查詢系統(tǒng)管理許可客戶信息查詢添加訂票信息修改訂票信息客戶信息添加客戶信息修改客戶信息刪除客戶類型航線信息添加航線信息刪除航線信息修改艙位信息艙位信息更新密碼用戶管理數(shù)據(jù)流圖艙位等級設置客機登記客戶類型設置基本信息錄入基本信息錄入基本信息錄入艙位登記信息管理客機信息管理客戶類型信息管理航線設置航線信息管理客戶信息錄入客戶注冊(會員)客戶信息管理訂票信息錄入訂票信息管理二:數(shù)據(jù)庫概念結構設計(E-R圖(局部和全局圖) (1):航班信息(

2、機場) (2):航線計劃信息(航空公司) (3):客戶信息(機場) (4):訂票信息(機場) (5):航班延誤信息(機場) (6):航空公司信息(沒有在關系數(shù)據(jù)模型中起作用,主要供客戶查詢) 說明:機場-航空公司ER模型,和航空公 司航班編號到達時間航線編號航班班期出發(fā)城市起飛時間到達城市經(jīng)濟艙基準價公務艙基準價頭等艙基準價基建燃油稅里程折扣比機場航班編號客機型號出發(fā)日期頭等艙剩余座位數(shù)經(jīng)濟艙剩余座位數(shù)公務艙剩余座位數(shù)總剩余座位數(shù)由于篇幅原因:在此對上述ER模型說明,機場與航空公司的關系是m:n即:一家航空公司可為一個機場提供多條航線信息,一個機場又可以接受多家航空公司的航班。客戶客戶類型身份

3、證號碼客戶編號客戶姓名客戶性別聯(lián)系電話三個局部ER圖已經(jīng)確定了,然后對航空公司與客戶的關系進行說明。一家航空公司可擁有許多會員(客戶)并提供相關的航線信息,一個客戶可以有多家航空公司供參考選擇。所以航空公司于客戶的關系是m:n對客戶與機場的關系進行說明??蛻粼谝患覚C場進行訂票業(yè)務,而機場則可以為多個客戶提供訂票業(yè)務。所以客戶與機場的關系是1:m。由此:可以得出全局ER模型: 客 戶機 場航 空公 司擁有提供線路訂票客戶姓名性別身份證號碼編 號航線編號航班編號航班班期到達城市出發(fā)城市費用參考啟程時間航班編號艙位數(shù)量信息出發(fā)時間到達城市 出發(fā)城市費用結算三:數(shù)據(jù)庫邏輯結構設計1. 航線計劃:航線編

4、號,航班編號,航班班期,出發(fā)城市,到達城市,起飛時間,達到時間,經(jīng)濟艙基準價,公務艙基準價,頭等艙基準價,基建燃油費,里程,折扣比。2. 航空公司:航空公司名字,航空公司二字代碼3. 航班信息:航班編號,客機型號,總剩余座位數(shù),經(jīng)濟艙剩余座位數(shù),公務艙剩余座位數(shù),頭等艙剩余座位數(shù),出發(fā)城市,到達城市,出發(fā)日期。4. 客戶信息:客戶編號,客戶姓名,客戶性別,身份證號碼,庫戶類型,聯(lián)系電話。5. 客戶訂票信息:訂票編號,客戶類型,客戶姓名,航空公司名字,航班編號,艙位,起飛時間,到達時間,出發(fā)城市,到達城市,機票價格,基建燃油費。四:數(shù)據(jù)庫物理結構實現(xiàn)create database airbook

5、ticktingcreate table airlineinfo /*航線計劃*/( 航線編號char(8) primary key, 航班編號char(8), 航班班期char(3) check (航班班期in('星期一','星期二','星期三','星期四','星期五','星期六','星期天'), 出發(fā)城市varchar(20), 到達城市varchar(20), 起飛時間numeric(18), 到達時間numeric(18), 經(jīng)濟艙基準價money, 公務艙基準價money,

6、 頭等艙基準價money, 基建燃油money, 里程char(4), 折扣比char(3) /*針對會員*/ )create table aircompany /*航空公司信息*/( 航空公司名字char(20) primary key, 航空公司二字代碼char(2)create table planeinfo /*航班信息*/( 航班編號char(8) primary key, 客機型號char(12), 總剩余座位數(shù)char(3), 經(jīng)濟艙剩余座位數(shù)char(3), 公務艙剩余座位數(shù)char(3), 頭等艙剩余座位數(shù)char(3), 出發(fā)城市varchar(20), 到達城市varch

7、ar(20), 出發(fā)日期datetime)create table bookerinfo /*客戶信息*/( 客戶編號char(10) unique, 客戶姓名char(12) primary key, 客戶性別char(2), 身份證號碼char(20), 客戶類型char(4) check (客戶類型in('普通','會員'), 聯(lián)系電話char(20)create table bookinginfo /*客戶訂票信息*/( 訂票編號int identity(1,1), 客戶類型char(4) check (客戶類型in('普通','

8、會員'), 客戶姓名char(12), 航空公司名字char(20), 航班編號char(8), 艙位char(8) check (艙位in('公務艙','經(jīng)濟艙','頭等艙'), 起飛時間numeric(18), 到達時間numeric(18), 出發(fā)城市varchar(20), 到達城市varchar(20), 機票價格money, 基建燃油money, constraint k1 foreign key(航班編號) references planeinfo(航班編號), constraint k2 foreign key(客戶姓名)

9、 references bookerinfo(客戶姓名), constraint k4 foreign key(航空公司名字) references aircompany(航空公司名字),)create table adminman /*系統(tǒng)管理員*/( 編號char(8), 姓名char(10), 密碼char(6) )create table sorry /*飛機延誤信息*/( 航班編號char(8), 預計延誤時間char(3), 出發(fā)城市varchar(20), 到達城市varchar(20), 補充信息char(200) default '對航班延誤給你帶來的不便表示歉意,請

10、給為乘客耐心等待,謝謝合作' constraint k3 foreign key(航班編號) references planeinfo(航班編號),)create trigger a /*總座位數(shù)操作的觸發(fā)器*/on planeinfoafter updateasdeclare 總剩余座位數(shù)char(3)select 總剩余座位數(shù)=總剩余座位數(shù)from planeinfo if 總剩余座位數(shù)=0 begin raiserror('很抱歉,該航班機票已經(jīng)售完',16,1,總剩余座位數(shù)) rollbackendcreate trigger b /*經(jīng)濟艙操作的觸發(fā)器*/on

11、 planeinfo after updateasdeclare 經(jīng)濟艙剩余座位數(shù)char(3)select 經(jīng)濟艙剩余座位數(shù)=經(jīng)濟艙剩余座位數(shù)from planeinfo if 經(jīng)濟艙剩余座位數(shù)=0 begin raiserror('很抱歉,經(jīng)濟艙機票已經(jīng)售完',16,1,經(jīng)濟艙剩余座位數(shù)) rollbackend create trigger c /*公務艙操作的觸發(fā)器*/on planeinfoafter updateasdeclare 公務艙剩余座位數(shù)char(3)select 公務艙剩余座位數(shù)=公務艙剩余座位數(shù)from planeinfo if 公務艙剩余座位數(shù)=0

12、begin raiserror('很抱歉,公務艙機票已經(jīng)售完',16,1,公務艙剩余座位數(shù)) rollbackendcreate trigger d /*頭等艙操作的觸發(fā)器*/on planeinfoafter update as declare 頭等艙剩余座位數(shù)char(3) select 頭等艙剩余座位數(shù)=頭等艙剩余座位數(shù)from planeinfo if 頭等艙剩余座位數(shù)=0 begin raiserror('很抱歉,頭等艙機票已經(jīng)售完',16,1,頭等艙剩余座位數(shù)) rollbackendcreate trigger e /*插入訂票信息的同時更新航班信

13、息表的相關的數(shù)據(jù)*/ on bookinginfofor insertas declare 總剩余座位數(shù)char(3),經(jīng)濟艙剩余座位數(shù)char(3),公務艙剩余座位數(shù)char(3),頭等艙剩余座位數(shù) char(3) if exists(select * from bookinginfo where 艙位='經(jīng)濟艙') update planeinfo set 總剩余座位數(shù)=總剩余座位數(shù)-1,經(jīng)濟艙剩余座位數(shù)=經(jīng)濟艙剩余座位數(shù)-1 if exists(select * from bookinginfo where 艙位='公務艙') update planein

14、fo set 總剩余座位數(shù)=總剩余座位數(shù)-1,公務艙剩余座位數(shù)=公務艙剩余座位數(shù)-1 if exists(select * from bookinginfo where 艙位='頭等艙') update planeinfo set 總剩余座位數(shù)=總剩余座位數(shù)-1,頭等艙剩余座位數(shù)=頭等艙剩余座位數(shù)-1create trigger m /*訂票價格計算信息處理*/ on airlineinfoafter insertas declare 機票價格money,經(jīng)濟艙基準價money,公務艙基準價money,頭等艙基準價money,基建燃油money,折扣比char(3) selec

15、t 經(jīng)濟艙基準價=經(jīng)濟艙基準價,公務艙基準價=公務艙基準價,頭等艙基準價=頭等艙基準價,基建燃油=基建燃油,折扣比=折扣比from inserted if exists(select * from bookinginfo where 艙位='經(jīng)濟艙' and 客戶類型='普通') update bookinginfo set 機票價格=經(jīng)濟艙基準價+基建燃油 if exists(select * from bookinginfo where 艙位='經(jīng)濟艙' and 客戶類型='會員') update bookinginfo se

16、t 機票價格=經(jīng)濟艙基準價*折扣比+基建燃油 if exists(select * from bookinginfo where 艙位='公務艙' and 客戶類型='普通') update bookinginfo set 機票價格=公務艙基準價+基建燃油 if exists(select * from bookinginfo where 艙位='公務艙' and 客戶類型='會員') update bookinginfo set 機票價格=公務艙基準價*折扣比+基建燃油 if exists(select * from bookinginfo where 艙位='頭等艙' and 客戶類型='普通') update bookinginfo set 機票價格=頭等艙基準價+基建燃油 if exists(select * from bookinginfo where 艙位='頭等艙' and 客戶類型='會員')upd

溫馨提示

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

評論

0/150

提交評論