机票预订系统.docx
《机票预订系统.docx》由会员分享,可在线阅读,更多相关《机票预订系统.docx(14页珍藏版)》请在冰豆网上搜索。
机票预订系统
数据库报告
题目:
机票预订系统
专业班级:
组员:
2012年05月17日
目录
一、需求分析………………………………………………………….3
二、E-R图..………………………………………………………….4
三、关系模式…………..…………………………………………….5
四、存储过程………………………..……………………………….7
4.1业务逻辑……………………………..…..………..……...7
4.2程序…………………………………..…………...……...8
4.3实现…………………………………..….………..……...8
五、视图………….…………………………………………………..10
六、查询………………………………………………….………….10
七、数据字典……………………………………...…………………13
机票预订系统
需求分析
机票预订系统。
需要预订机票的客户均可使用。
用户输入起飞城市,到达城市以及乘机日期即可查询到相关的航班信息。
选中航班后输入姓名,联系方式,证件号码和是否购买保险可进行机票预订。
订票成功后,用户需要输入姓名和身份证号码可查询预定机票的相关信息,包括航空公司,机型,日期,时间点,起飞机场,到达机场,准点率,价格,折扣,是否附带保险,机建燃油费用以及是否空票等信息。
用户可提前在网上办理网上值机,而后可查询到客户姓名,证件号码,航空公司,航班号,航班起始站,登机时间,登机口,座位号,舱位等级等信息。
E-R图
关系模式
乘客(身份证号,姓名,联系方式)
航班(机型,公司,起飞到达机场,基建燃油,准点率,登机口)
座位类型(机型,类型,价格,数量)
折扣(机型,日期,折扣量)
预订(机型,身份证号,乘客姓名,出发日期,座位类型,票种,保险,价格)
存储过程·机票剩余数量更新:
业务逻辑
程序
CreateProcyd(@Fnumberchar(20),@IDcardvarchar(20),@Namechar(20),@cfmonthchar(8),@cfdatechar(8),@Levelchar(10),@pzchar(5),@bxchar(5))
as
Begin
Declare@ypint
Declare@jgsmallint
Select@yp=number--查询剩余机票数量并存入变量
FromSeatlevel
WhereFnumber=@FnumberAndLevel=@Level
If@yp>=0
begin--内存储过程,当机票预订成功时,机票剩余量自动减一。
--在预定表中插入新的乘客数据
select@jg=Price*Rebate
fromSeatlevel,Discount
whereSeatlevel.Fnumber=Discount.Fnumberanddate=@cfmonthandLevel=@level
InsertintoReservation(Fnumber,IDcard,Name,cfmonth,cfdate,Level,pz,bx,jg)
Values(@Fnumber,@IDcard,@Name,@cfmonth,@cfdate,@Level,@pz,@bx,@jg)
end
Elseprint'机票已售完'
End
实现
Execyd'MU745','510129199108076789','胡文俊','5','24','经济舱','成人票','有'
Execyd'MU745','512139199208096785','余红星','5','24','经济舱','成人票','有'
Execyd'MU745','524234199407025342','李国艳','5','24','头等舱','成人票','有'
Execyd'MU745','512129187609025634','郭靖','6','24','经济舱','成人票','有'
Execyd'BH667','513136187309025876','闫友菲','6','24','经济舱','成人票','有'
Execyd'BH667','514127199702035673','周淑慧','6','24','经济舱','儿童票','有'
Execyd'BH667','524129176508025672','黄蓉','6','24','头等舱','成人票','有'
Execyd'BH658','512129187609022345','洪七公','7','24','经济舱','成人票','有'
Execyd'BH658','513128199102036784','欧阳','7','24','头等舱','儿童票','有'
Execyd'BH658','513129197603045642','王思','8','24','头等舱','儿童票','有'
Execyd'BH658','513129176509082654','书客居','8','24','经济舱','成人票','有'
视图·登机牌
createviewBoardingcheck(Fnumber,IDcard,Name,cfmonth,cfdate,Level,pz,bx)
as
selectFnumber,IDcard,Name,cfmonth,cfdate,Level,pz,bx
fromReservation
select*fromBoardingcheck
查询
--查询余票
selectReservation.Fnumber,Reservation.Level,cfmonth,cfdate,numberzp,number-count(*)yp
fromSeatlevel,Reservation
whereReservation.Fnumber=Seatlevel.FnumberandReservation.Level=Seatlevel.Level
groupbycfmonth,cfdate,Reservation.Fnumber,Reservation.Level,number
--查询某日某航班售票总金额
selectFnumber,cfmonth,cfdate,sum(jg)zje
fromReservation
groupbyFnumber,cfmonth,cfdate
--输入起飞到达城市查询航班
selectFnumber,Fcompany,Fqfdajc,Fjjry,Fzdl,Fdjk
fromFlight
whereFqfdajc='西安-海南'
--查询某日从西安到海南所有乘客信息
selectPassenger.Name,Passenger.IDcard,Telephone,cfmonth,cfdate
fromReservation,Passenger,Flight
whereReservation.IDcard=Passenger.IDcardandReservation.Fnumber=Flight.FnumberandFqfdajc='西安-海南'andcfmonth='5'andcfdate='24'
数据字典
乘客表
名称
含义
类型
约束
Idcard
身份证号,,唯一标识每位乘客
字符型
主码
Name
乘客姓名
字符型
非空
Telephone
联系电话
字符型
非空
航班表
名称
含义
类型
约束
Fnumber
航班编号,唯一标识一个航班
字符型
主码
Fcompany
航空公司编号
字符型
非空
Fqfdajc
起飞到达机场
字符型
非空
Fjjry
基建燃油费
字符型
非空
Fzdl
飞机准点率
字符型
非空
Fdjk
航班登机口
字符型
非空
折扣表
名称
含义
类型
约束
Fnumber
航班编号
字符型
主属性,外码,参照航班表
Date
起飞日期
字符型
主属性
Rebate
折扣量,因机型和预订时间不同而有不同折扣量
浮点型
无
座位类型表
名称
含义
类型
约束
Fnumber
航班编号
字符型
主属性,外码,参照航班表
Level
座位类型
字符型
主属性
Price
机票价格,特指机票全价
整型
无
Number
机票剩余数量
字符型
无
预定表
名称
含义
类型
约束
Fnumber
航班编号
字符型
主属性,外码,参照航班表
IDcard
身份证号
字符型
主属性,外码,参照乘客表
Name
姓名
字符型
无
cfmonth
起飞月份
字符型
无
cfdate
起飞日
字符型
无
Level
座位类型
字符型
无
pz
机票种类,即成人票或者儿童票
字符型
无
bx
保险
字符型
无
jg
折扣之后机票的价格
整型
无