目录1系统概述.....................................................................................................................................12需求分析.....................................................................................................................................23概念模型设计.............................................................................................................................34数据字典.....................................................................................................................................55总体E-R图................................................................................................................................96逻辑设计...................................................................................................................................107物理设计...................................................................................................................................108用SQL实现.............................................................................................................................109数据的输入...............................................................................................................................1411数据的查询与测试.................................................................................................................1612课程设计总结.........................................................................................................................191机票预定系统设计1系统概述随着社会发展的不断进步,民航事业的壮大,人们消费水平的提高,乘坐民航的消费者也越来越多,旅游也逐渐成为普通老百姓的生活组成部分,飞机票预定查询系统在各机票预定网点中的作用也越显重要。目前,我国一些旅行社和酒店的机票预定还停留在人工处理阶段,这已经严重制约了工作效率,在计算机技术高速发展的今天,有必要引入高效的计算机系统,来协助处理机票预定工作。因此,开发一套具有完整的存储,查询,核对,打印机票功能的实时机票预定系统势在必行。机票预定系统是为机场工作人员和客户提供订票退票等与机票相关内容和管理的系统,它具有开放体系结构的、易扩充的、易维护的、具有良好人机界面的优点.它除克服了存储乘客信息少,查询效率低下等问题外,更重要的是其安全性,可靠性,实现航空公司的机票销售的自动化。它为企业的决策层提供准确、精细、迅速的机票销售信息,为乘客出行提供方便,便于机场工作人员对机票信息进行管理,提高了机场工作人员对机票管理的工作效率。本课程设计任务是通过开发一个数据库机票预订系统,学习数据库系统的设计与开发,SQL相关的软件为开发工具。通过对计算机硬件和软件解决方案的论证,对应用领域进行调查分析,参考各种资料和进行数据库系统开发实践。在指导老师的帮助下,已经基本上成功地实现了设计任务书的要求,使得设计的数据库系统能够实现一般数据库的管理。机票预订系统主要是机票管理人员通过系统输入每个航班的信息及各个航班的座位信息,旅客可以输入自己的基本信息,进行机票预订,定好机票后打印取票通知。旅客在飞机起飞的前一天凭取票通知交款取票,中间旅客可以退订机票,机票管理人员可以查询每个航班的预订情况以及满座率。22需求分析机票预订系统流程图随着社会发展的不断进步,民航事业的壮大,人们消费水平的提高,乘坐民航的消费者也越来越多,机票的预定也越显重要,航空公司为方便旅客出行,需开发一个机票预定系统。预定机票的旅客信息,包括姓名、电话、航班时间、旅行目的地,输入机票预定系统的客户端程序,系统经过查询航空公司内的航班数据服务器后,为旅客安排航班,印出取票通知。旅客在飞机起飞前一天凭取票通知和帐单交款后取票,系统校对无误后即印出机票给旅客。经过综合分析,确定了机票预订系统主要包括以下功能:(1)机票信息管理功能主要实现机票的一些基本信息,机票编号、座位号、座位信息、目的地、起飞时间的管理与查询。(2)旅客信息管理功能此模块的主要实现旅客一些基本信息,顾客编号、姓名、电话等信息的查询功能。(3)取票信息管理功能此模块用于取票信息的管理,包括对机票的基本信息,机票编号,目的地等,旅客基本信息,旅客姓名、座位号等信息的查询。3(4)售票员信息的管理功能主要用来管理售票员的信息,包括编号,姓名,机票编号,取票通知单编号等信息的查询。(5)账单信息管理功能此模块是用来对账单进行管理,账单编号,顾客编号,顾客姓名,售票员编号,价格,数量的查询与管理。(6)座位信息的管理功能此模块主要用来查询座位信息,包括座位编号,机票编号,目的地,等级。使用的DBMS环境:SQLServer20003概念模型设计数据库需要表达的信息有以下几种:(1)机票信息4(2)售票员信息(3)顾客信息(4)取票通知单信息5(5)座位信息(6)账单信息4数据字典数据项:取票通知单编号含义说明:唯一标识每个取票通知单类型:字符型长度:10取值范围:0000000000至9999999999取值含义:每个通知单的次序数据项:售票员编号含义说明:唯一标识每个售票员类型:字符型长度:10取值范围:0000000000至99999999996取值含义:每个售票员的编号数据项:售票员姓名含义说明:售票员的姓名类型:字符型长度:20取值范围:……取值含义:……数据项:旅客编号含义说明:唯一标识每个旅客长度:8类型:字符型取值范围:00000000至99999999取值含义:旅客按顺序的编号数据项:旅客姓名含义说明:旅客的姓名类型:长度:20取值范围:……取值含义:……数据项:机票编号含义说明:唯一标识每张机票长度:8类型:字符型取值范围:00000000至99999999取值含义:机票按顺序编号数据项:数量含义说明:每个旅客购买机票的数量长度:10类型:字符型取值范围:0000000000至9999999999取值含义:……数据项:价格含义说明:每张机票的价格长度:20类型:字符型7取值范围:……取值含义:……数据项:座位编号含义说明:旅客购买机票的座位号长度:10类型:字符型取值范围:0000000000至9999999999取值含义:……数据项:目的地含义说明:旅客所乘坐飞机所到达的地点长度:20类型:字符型取值范围:……取值含义:……数据项:电话含义说明:旅客的联系电话长度:20类型:字符型取值范围:……取值含义:……数据项:飞机时间含义说明:旅客所乘坐飞机的起飞时间长度:8类型:时间型取值范围:00:00至24:59取值含义:……数据项:账单编号含义说明:唯一标识账单长度:10类型:字符型取值范围:0000000000至9999999999取值含义:账单按顺序编号数据项:等级含义说明:飞机座位等级长度:108类型:字符型取值范围:0000000000至9999999999取值含义:……数据结构:旅客含义说明:是机票预订系统的一个主体数据结构,定义了一个旅客的有关信息组成:编号,姓名,电话,机票编号,目的地,数量数据结构:售票员含义说明:是机票预订系统的一个主体数据结构,定义了一个售票员的有关信息组成:编号,姓名,机票编号,取票通知编号数据结构:机票含义说明:是机票预订系统的一个主体数据结构,定义了一张机票的有关信息组成:编号,目的地,起飞时间,座位编号,价格数据结构:座位信息含义说明:定义每个座位的信息组成:编号,机票编号,目的地,等级数据流:取票通知单说明:旅客预订机票的最终结果数据流来源:订票数据流去向:审核组成:编号,旅客姓名,旅客编号,机票编号,价格,座位号,数量平均流量:……高峰期流量:……数据存储:账单说明:旅客购买机票的财务情况流入数据流:取票通知单流出数据流:……组成:编号,顾客编号,顾客姓名,售票员编号,价格,数量数据量:……存取方式:随机存取95总体E-R图106逻辑设计通过E/R模型到关系模型的转化,可以得到如下关系模式:(1)FlightTicket(NO,Destination,Price,Flighttime,Seatno)(2)Seller(NO,Name,Ticketno,Notno)(3)Customer(NO,Name,Count,Tel,Destination,TicketNo)(4)Note(NO,CustomerNO,CustomerName,TicketNo,Count,Price,Seatno,SellerNO,Sellername)(6)Bill(NO,CustomerNO,Customername,Price,Count,Sellerno)(7)SeatInformation(Seatno,TicketNo,Destination,Grade)7物理设计为了提高在表中搜索元组的速度,在实现时应该基于码建立索引。建立索引的表项如下:(1)FlightTicket(NO)(2)Worker(NO)(3)Customer(NO)(4)Note(NO,CustomerNO)(6)Bill(NO,CustomerNO)(7)SeatInformation(Seatno,Ticketno)8用SQL实现(1)建立FlightTicket表CREATETABLEFlightTicket(NOchar(8),Pricechar(10)NOTNULL,FlighttimeintNOTNULL,Destinationchar(20)NOTNULL,SeatnointNOTNULL,);11(2)建立Seller表CREATETABLESeller(NOchar(10),Namevarchar(20)NOTNULL,Ticketnodatetime(10)NOTNULL,Noteno(20)NOTNULL,);(3)建立Customer表CREATETABLECustomer(Nochar(10)NOTNULL,Namevarchar(20)NOTNULL,Sexchar(8)NOTNULL,Telvarchar(20)NOTNU