资源描述
四川理工学院毕业设计(论文) 长途客车网上购票系统的分析与设计学 生: 学 号:专 业:信息管理与信息系统班 级:指导教师: 四川理工学院计算机学院二O一三年六月I长途客车网上购票系统的分析与设计摘 要本系统是一个长途汽车车票订票购票管理系统。该系统分析与设计编写的目的是为了说明系统需求概述、设计概要情况和设计思路。让用户和程序代码编写人员,对系统的设计有一个详细的认识,使之成为后期开发工作的基础和依据。本长途汽车购票管理信息系统是现代管理的一个具体体现,长途汽车订票、退票等管理日益现代化,致使长途汽车网上订票管理日益复杂化,管理的内容日益增多,结算方式也有所不同,而原有方式日趋落后。为此,应该开发一个现代管理的长途汽车网上订票管理系统。长途汽车票订票管理信息管理系统的功能主要是实现长途汽车票订票的信息化管理。通过汽车票订票管理系统,汽车站管理人员可以实现对汽车票信息的输入、订票、查找、修改和查询,增加数据功能。关键词:长途客运;订票系统;数据库应用;分析与设计The Analysis and Desgin of Long-Distance Bus Ticketing Online System ABSTRACTThis system is a management system of long-distance bus booking ticket. The graduation project is intended to demonstrate the preparation of system requirements, to design conditions and to design ideas. Let users and software developers have a complete understanding to the system designing so that make it to be a later development of the foundation. This management information system represents modern management,.Bus booking, refunds and other functions become increasingly modern, original way fallen behind. Long-distance bus booking manage is becoming increasingly complex, management is applying on more and more ways, billing methods is in different ways, therefore,we should build a modern long-distance online booking management system. The system main function is to develop a long-distance bus ticket booking information management.Managers can ues the funcion of the bus station ticket information input, booking, search, modify and query, add data with long-distance bus ticket booking management system. Keywords: Distance bus;Booking system;DBA;Analysis and design;目 录第1章 绪论11.1课题背景11.2选题意义11.3系统概述11.4系统实现目标2第2章 可行性研究32.1可行性分析目的32.2经济可行性32.3技术可行性32.4操作可行性42.5可行性研究结论4第3章 需求分析53.1用户需求5 3.1.1 市民需求5 3.1.2管理员需求63.2功能结构描述63.3限制条件8第4章 系统逻辑方案建立94.1 业务流程分析94.1.1系统具体业务流程分析94.2新系统逻辑模型的提出124.2.1数据流程图124.3数据字典164.3.1 数据项174.3.2 数据流184.3.3 数据存储184.3.4外部项定义表194.4数据采集204.5性能需求214.6安全需求21第5章 项目开发计划225.1项目概述225.2实施计划22第6章 数据库设计236.1 E-R图分析236.2数据库表设计266.3表间关系30第7章 详细设计317.1代码设计317.2初始录入功能317.3订票功能327.4查找功能327.4.1按车次查询327.4.2按目的城市查询327.5修改功能327.6增加功能327.7显示功能337.8退出系统33总结34致谢35参考文献36III四川理工学院毕业设计(论文)第1章 绪论1.1课题背景在我国,长途汽车往往比火车更为便捷,无论何时何地,只要有道路,汽车就可以通行,因此是很多偏远的地区与城市连通的主要方式。但是,在客运高峰期购票难依旧是长途汽车订票的一大难题。长途汽车和火车的订票管理虽然有差异,但大体上是相同的。长途汽车在售票的过程中需要对旅客的起始地、目的地、车次、订票和退票进行管理。利用长途汽车网上订票系统及时为旅客预购到目的地的车票,有利于提高购票的速度,更方便旅客的出行。这尤其体现在春运等客运高峰时期。信息社会的高科技,商品经济化的高效益,使计算机的应用已普及到经济和社会生活的各个领域。计算机虽然与人类的关系愈来愈密切,还有人由于计算机操作不方便继续用手工劳动。为了适应现代社会人们高度强烈的时间观念,长途汽车网上订票系统为旅客的出行和售票人员带来了极大的方便。操作人员只需输入一些简单的汉字、数字,即可达到自己的目标。1.2选题意义对于长途汽车公司,利用计算机技术来支持高效完成日常业务,能够轻松适应现代要求、推动管理走向科学化、规范化,同时计算机具有手工管理所无法比拟的优点。比如:可靠性高、查找方便、存储量大、检索迅速、保密性好、寿命长等。这些优点能够极大地提高长途汽车订票管理的效率,也使得长途汽车公司能够科学化、正规化管理。这是一个快节奏的的社会,因此,方便快捷便是人们生活的最大需求。长途汽车网络售票系统是利用互联网技术能及时的车票的详细的动态展示给出行者,有效的解决了出行者没有时间去车站买票的问题,为出行者节约了宝贵的时间。同时这也缓解了汽车站排队买票的拥挤的问题,使客运站用户多,买票难的压力得到缓解。此系统将为出行者带来订票容易,买票方便的便捷服务,实现足不出户即可买到票。1.3系统概述长途汽车网上订票体统需要对旅客预定车票、退订车票、车次、车号核对等一切操作进行管理,并储存旅客的相关信息,严格服从有关规定,按一定的模式或规律进行。体现数据量大,数据流清晰、规范的特点,因而特别适合用计算机管理。1.4系统实现目标(1)建立一个功能结构完整统一、技术先进、高效稳定、安全可靠的系统,保证数据统计及时、准确,查询信息全面、准确,提高工作效率。(2)利用网络资源,采用分布式处理技术和安全可靠的信息传输技术,在同一的信息处理平台上,实现统一的信息浏览、信息共享、信息处理。(3)具有对授权用户所拥有的信息进行检索、统计、管理、维护等基本操作工作功能,保证信息安全的维护。 (4)实现系统网上购票订票退票功能,防止恶意订票和退票等恶意行为,具有对用户网上银行或者电子钱包交易的安全性。 (5)实现让人们可随处自主购票,节省售票人力物力以便投入到更有价值的地方。(6)实现系统对余票变动的高效实时性和查询,预防一票多订。第2章 可行性研究2.1可行性分析目的根据系统功能、性能及实现系统的各项约束条件,了解系统中提出的技术是否符合;弄清系统是否具有实用性,确保能提高工作效率;确定其具有可操作性和可实施性。2.2经济可行性资源已配备有计算机和局域网,硬件已然足够,有足够的机器,考虑到系统的稳定性,建议作为服务器的计算机配置需要提高,若要用于互联网访问,还需申请域名等业务,所用费用不高,可以实现。该系统仅用少量人员开发,用最低的成本和人力,预计实现在较短时间内使该系统具有在线查阅票价,车站,车号,订票等基本功能,预期系统设计期间投入的资金较小,只需要一些设计人员开发设计,而系统完成后,需要维护的人员成本预期也比较少,唯一花费较大的是后期数据库安全设计需要重点考虑,所以从经济角度考虑,此系统开发可行。2.3技术可行性为方便乘客,需开发一个汽车票订票系统,乘客把预定汽车票的乘车信息,包括汽车号,发车时间,发车地点,到站时间,到站地点等信息输入到预定系统的客户端程序,系统经过访问汽车公司内部的数据服务器中的数据库后,为乘客安排所需车辆,印出取票通知,乘客在汽车发车之前一天凭取票通知和账单交款后取票,系统校对无误后即印出车票给旅客。要求系统能有效、快速、安全、可靠和无误的完成上诉操作。并要求客户机的界面简单明了,易于操作,服务器程序利于维护。由于本软件仅实现一些简单功能,且开发人员已掌握相关领域的知识。本系统所需硬件设备,如服务器、PC机、打印机及网络配件等,学校配备都能满足系统功能要求。软件上,操作系统采用WindowsXP,现有软件支持可以满足这一要求。因此技术上是可行的。Microsoft Visual C+,(简称Visual C+或者 VC)微软公司的C+开发工具,可提供编辑C语言,具有集成开发环境, C+以及C+/CLI等编程语言。VC+整合了便利的除错工具,特别是整合了微软视窗程式设计(Windows API)、三维动画DirectX API,Microsoft .NET框架。目前最新的版本是Microsoft Visual C+ 2012。Microsoft VisualC+是Microsoft公司推出的开发Win32环境程序,面向对象的可视化集成编程系统。它不但具有程序框架自动生成、灵活方便的类管理、代码编写和界面设计集成交互操作、可开发多种程序等优点,而且通过简单的设置就可使其生成的程序框架支持数据库接口、OLE2,WinSock网络、3D控制界面。它以拥有“语法高亮”,IntelliSense(自动完成功能)以及高级除错功能而著称。比如,它允许用户在调试期间重新编译被修改的代码,而不必重新启动正在调试的程序,以及用户进行远程调试,单步执行等。其编译及建置系统以预编译头文件、最小重建功能及累加连结著称。这些特征明显缩短程式编辑、编译及连结花费的时间,在大型软件计划上尤其显著。本系统采用C/S技术,操作简单、方便、操作上可行。所以,本系统在运行是可行的。2.4操作可行性目前,市场经济已经覆盖了全球各个地区,大中小型发达城市,从而满足了人们日益增长的物质需求。人们物质文化水平的不断提高和科学技术的不断进步以及人们对快速高效的工作效率要求不断的提高,为我们开发使用汽车票订票系统打下了坚实的基础,随着网络的普及,已经进入全民网络时代,网民比例大幅上升,电子商务近几年也有长足发展,网上购物本身已不算罕见,所以该系统的用户面向范围很大,完全可以推向市场达到预期的系统目的,因此操作上是可行的。2.5可行性研究结论经过以上经济可行性,技术可行性,操作可行性研究,该长途汽车网上购票系统开发可行。第3章 需求分析3.1用户需求因为系统的信息服务是面向特定的某些对象的,所以用户进入系统应该进行身份验证。用户进入系统后,能根据自己的需要选择相应的服务内容,所以系统还应具有鉴别用户身份的功能。长途汽车售票系统能够提供给出行者方便的车票查询和车票订购以及车票改签等功能,实现客运车票的销售。车票的信息有用户提供,如发车的时间,客车的起始站和终点站以及车票号,用户进行输入后即可得到相关车票的余票数目、车票价格以及和该车票相关的所有信息。用户还可以对已购买的车票在允许的时间内进行改签到适当的时间,也可对已购买的车票进行退票操作,这都实现了客运站的功能,因此使用长途汽车售票系统极大地缓解了客运站售票站的压力。本长途汽车售票系统能够读取数据库的数据,有关所有车次的信息存放在数据库中避免了人为的干扰。本系统同时本系统对用户的每一次的操作都能够记录并对客运站的数据库进行改写,以实现数据的实时性,确保为用户提供准确的信息,避免了已被卖出的车票再次被卖出的错误操作,实现了系统运行的准确性。一般来说,网上购票系统服务对象分为两类:市民和管理员,设计到多方面的数据信息,现从各用户的具体需求方面分析:3.1.1 市民需求1、概述市民可以浏览公告信息、最新车票信息、车次信息等相关信息,最重要的是市民可通过系统选择所需要的车票并能更改选择的车票,同时提交订单,对所需要的车票进行操作。2、功能结构图市民查询车次信息查询订单信息订票退票修改订单删除订单图3.1市民功能结构图3.1.2管理员需求1、概述实现对整个系统中用户所用到的各种信息的管理,对数据进行备份。2、功能结构图管理员身份验证客户端数据处理生成订单信息基本信息修改车站公告车站管理员信息车站资源下载公告类型资源类型数据表清理数据备份信息管理登陆基本信息修改车站管理员信息车站公告车站资源下载公告类型资源类型数据备份数据表清理图3.2管理员功能结构图3.2功能结构描述根据以上用户需求的描述,整个系统要实现的功能逐步明朗。在此,可先将该系统的总体功能大致地划分如下:1、服务器端功能1)系统可以生成订单信息,2)查询数据库,3)修改数据库。2、客户端功能1)查询订票信息,2)订票,3)退票,4)修改订单信息,5)删除订单信息。3、数据库功能1)提供下载,2)更新车票信息,3)查询车票信息。系统具体应有的功能为:1、车票余票查询长途汽车网络售票系统应能为用户提供方便操作的车票余额查询功能,使用户方便快捷的得到有关剩余车票的相关信息。(1)按客车发车时间查询为旅客提供按时间查询功能,用户可根据自己的出行时间进行查询,以便在最短时间内查询到在自己出行时间内所有的余票,再根据有关条件找到符合自己条件的车票。(2)按车次查询如果用户已经知道自己所要乘坐车次的车票,即可直接输入当次客车的车票号直接进行查询,便可得到自己所乘车次相关车票余额的信息,提供车票号查询功能使得查询更加快捷。(3)按起始站终点站查询如果用户对自己所乘车次没有什么了解,只知道起始站与终点站,系统提供该功能能够为用户提供所有可以乘坐的车次,以便用户进行选择,根据时间等因素,最终选择符合条件的车次,确定订票。2、车票订购功能如果用户经查询某车票有余额,在用户经相关操作即订票操作后,系统应把该车票预留给该用户,在一定时间内不允许别的用户订购该车票,以免造成用户订购车票后不能取的相关车票。3、车票改签功能在规定时间内,该售票系统应能提供相应的功能,以满足用户由于临时改变行程进行改签,这样避免了用户不必要的损失,给用户带来了更人性化的服务。4、取消订单功能在规定的时间内,如果用户在订购车票后,由于某些原因需要退票。用户可以通过该系统进行操作,实现取消订单。得到结构功能图如下:网上购票系统系统用户数据库生成订单信息查询数据库修改数据库查询车票信息输入订票信息订票退票修改订单删除订单查询车票信息更新车票信息查询数据库修改数据库输入订票信息订票退票修改订单删除订单更新车票信息查询车票信息图3.3系统功能结构图3.3限制条件1、各类用户只能进入自己的页面,只能修改自己页面的信息,也不能看到别人的页面信息。2、各类用户必须实名注册登录。第4章 系统逻辑方案建立4.1 业务流程分析对原有流程进行改善,使系统中必要的活动明确、规范,系统业务流程的分析与提炼为进一步完善功能模块设计提供了依据。4.1.1系统具体业务流程分析经以上需求分析中的初步分析,可将长途汽车网上购票系统流程划分为四个阶段,概括的整个业务流程如下: 订票业务流程用户登录以后,进入系统订票界面,选定所需的车票,然后提交订单,经过系统对剩余车票查询,缺票的时候反馈通知给用户,有余票的时候当即生成订单号,然后数据库存档。用户提交订单订单系统查询订单库缺货缺货通知有货生成订单号数据库存档图4.1订票业务流程图 查询业务流程用户登录系统以后,提交订单号,然后系统查询数据库,可以查询到订单时当即生成订单号,反馈给用户订单信息,查询不到时候发出异常通知给用户。用户提交订单号系统查询订单库异常异常通知正常打印订单信息订单信息图4.2查询业务流程图 退票业务流程用户登录系统以后,提交订单号,然后系统查询数据库,可以查询到订单时当即取消订单,然后数据库存档,查询不到或者已经过期的时候发出异常通知给用户。输入订单号系统查询数据库异常异常通知正常取消订单数据库存档用户图4.3退票业务流程图 改票业务流程用户登录系统以后,提交订单号,然后系统查询数据库,可以查询到订单时当即修改订单,数据库存档,查询不到或者过期的时候发出异常通知给用户。输入订单号系统查询数据库异常异常通知正常修改订单数据库存档用户图4.4改票业务流程图4.1.2 总业务流程图开始用户登录账号、密码用户密码验证选择功能用户数据库车次数据库定票数据库退票成功用户注册查询余票改签车票退票余票信息改签后车票终止图4.5系统总业务流程图4.2新系统逻辑模型的提出系统分析的主要成果是系统的逻辑模型,本系统的逻辑模型以系统的数据流图和数据字典为主要描述工具,即在对系统设计过程网上购票系统业务流程进行认真分析和研究的基础上,按信息系统中应有的数据流和数据结构来勾画系统的概貌。4.2.1数据流程图数据流图是在对系统调研阶段绘制的业务流程图进行分析的基础上,从系统的科学性、管理的合理性、实际运行的可行性角度出发,将信息处理和彼此之间的联系自顶向下组层分解,在逻辑上精确地描述新系统应具有的功能、数据输入、数据输出、数据存储及数据来源和去向。用户网上购票系统F2订单信息F4车票信息F3需要的车票信息客运站F1订单号信息F5退票申请F6退票单号F7余票信息F8退票反馈F9所购车票F10购票单号F11改票单号F12改票信息图4.6系统顶层数据流图在需求分析中已知划分出四个主要的购票业务功能:订票功能、查询功能、退票功能、改票功能。现在明确各功能之间的联系,绘制出数据流图的以及细化图:用户D1 订单表订票退票改票查票车站车站D2 修改订单表F3需要的车次信息F4车票信息D4 退票单表F14改票反馈F12改票信息F11改票单号F13改票申请F7余票信息F1订单号信息F2订单信息D3 订单信息表F7余票信息F5退票申请F8退票反馈F6退票单号F10购票单号F9所购车票图4.7系统一级细化图顶层数据流图仅从总体上反映该系统的信息联系,应按照自顶向下分解的数据流层分析方法对顶层图进一步细化,得到以及细化图。用户车站D5 车辆到站时间表D6 座号表D7 车次信息表F15到站时间F16座号F17车次信息F18查询要求到站时间查询座号查询车次信息查询图4.8用户查询二级细化图用户购票订票车站F19用户信息F21购票车次F20订票车次D8 订票表D9 购票表F22购票信息F24车票号F23订单号用户F25订单号退票车站F26退票申请D10 退票表F27退票反馈图4.9用户订票二级细化图用户F28订单号改票车站F29改票申请D11 改票表F30改票反馈图4.10用户退票二级细化图图4.11用户改票二级细化图1.退票数据流图用户取消订单输入核对显示取消订单数据库车次数据库订单号余票信息订单号信息帐号订单号订单号订单信息帐号图4.12退票数据流图2.车票改签数据流图用户输入订单号核对显示订单修改订单数据库更改帐号错误订单号订单信息订单信息订单号帐号图4.13车票改签数据流图3.订票数据流图帐号用户核对生成订单打印订单号订票成功订单数据库输入车次订单信息订单号车次信息无余票订票失败订单信息车次数据库有余票图4.14订票数据流图在查询模块,用户可以选择不同的查询方式进行查询。用户可以选择和填写相关车次的信息进行查询。例如用户选择2012年6月20日星期三,并且输入xxx车次,便可得到xxx车次的相关信息。或者用户选择2012年6月20日星期三,并输入起始站:长春,终点站:北京,便可得到满足条件的车次的相关信息。此查询界面简洁方便,便于用户操作。4.3数据字典数据流图将数据处理和彼此之间的数据联系进行了说明,为进一步明确数据的详细内容和数据处理过程,下面便将最底层数据流图中的全部数据流、数据存储、数据项、处理逻辑(加工)、外部项通过数据字典描述清楚,以便后面系统设计的进行。4.3.1 数据项数据项又称数据元素,是组成数据流的基本成分。具体内容见下表所示。表4.15市民数据项表数据项编号名称别名简述类型及宽度I001身份证市民证件市民代码char,18I002姓名名字市民姓名varchar,10I003家庭住址所属位置市民住址varchar,30I004联系电话联系电话市民电话varchar,20I005E-MAIL电子邮件市民电子邮件varchar,30I006登录密码登录密码市民登录系统密码int,10表4.16管理员数据项表数据项编号 名称别名简述类型及宽度I007管理员ID管理员编号管理员的代码char,10I008姓名名字管理员的姓名varchar,10I009所属部门所属部门管理员所属部门varchar,30I010登录密码登录密码管理员登录密码int,10表4.17车票信息数据项表数据项编号 名称别名简述类型及宽度I011车票编号车票编号车票的编号char,20I012姓名名字乘客姓名varchar,10I013票价票价车票价格char,10I014出发地出发地出发地char,10I015目的地目的地目的地char,10I016车次编号车次编号车次编号char,10I017日期时间日期时间日期时间char,20I018乘客须知注意事项注意事项char,80表4.18客车信息数据项数据项编号 名称别名简述类型及宽度I019车牌号车牌号车牌的编号char,20I020司机姓名名字司机姓名varchar,10I021购买价格购买价格车辆价格char,10I022出发地出发地出发地char,10I023目的地目的地目的地char,10I024车次编号车次编号车次编号char,10I025使用时间使用时间使用时间char,20I026已出事故已出事故已出事故char,804.3.2 数据流数据流是由一个或一组固定的数据项组成。表4.19数据流表数据流编号数据流名称简述数据流来源数据流去向数据流组成F101市民信息市民的信息市民购票系统身份证号+姓名F102管理员信息管理员的信息管理员系统管理账号+密码F103车票信息车票的信息购票系统市民车票号+身份证F104客车信息客车的信息车站系统管理车牌号+司机姓名4.3.3 数据存储表4.20数据存表数据存储编号名数据存储名称简述关键字相关联的处理数据存储组成D1订单表需要够买的订单订单号订票订单号+客车信息+市民身份证号D2修改订单表需要修改的订单修改单号改票修改单号+修改后的订单信息D3订单信息表已买的订单订单号查询订单号+订单信息D4退票单表需要取消的订单退票单号退票退票单号+退票信息D5客车到站时间表客车到站时间客车到站日期时间查询车牌号+到站日期时间D6座号表客车上的座号座号查询座号+乘客信息D7车次信息表客车车次车次编号查询车次编号+车票信息+客车信息D8订票表预订车票订票单号订票订票单号+预订车票信息D9购票表直接购买车票购票单号订票购票单号+身份证+车票信息D10退票表取消已买车票退票单号退票退票单号+退票信息D11改票表修改已买车票修改单号改票修改单号+改票信息4.3.4外部项定义表表4.21外部项定义表编号名称输入数据流输出数据流简述1市民身份证号,购票信息车票信息,订单号,修改单号,退票单号等。购票2管理员账号密码信息管理等系统管理,系统维护车票信息(车次,始发站,终点站,发车时间,到站时间,余票数)名称:车票信息别名:描述:每一张车票的次相关信息,用于表明个车票的不同定义:车票信息=车次+始发站+终点站+发车时间+到站时间+余票数位置:存储在车票数据库中用户信息(帐号,密码,E-mail,电话)名称:用户信息别名:描述:每一个用户都对应相应的信息,用于是被不同的用户登录定义:用户信息=账号+密码+E-mail+电话位置:存储在用户信息数据库订票信息(订单号,用户帐号,预定车次,用户电话,用户E-mail)名称:订票信息别名:描述:描述不同车票的不同信息,在用户取票时可以据此打印不同用户订购的车票定义:订票信息=订单号+用户账号+预定车次+用户电话+用户E-mail位置:存储在订票信息数据库4.4数据采集通过键盘、鼠标向软件系统输入数据。所有需要的信息都是有用户通过登录系统,操作相关的功能进行输入。4.5性能需求(1)时间特性 访问数据库时间:应能满足用户需求的时间,查询余票需要较快的反应。(2)故障处理 能够应对一定程度的错误输入。4.6安全需求(1)安全性由于软件运行数据放在数据库中,所以参数不容易被错改、破坏,万一参数受到破坏可用连机备份数据库,并且不会影响源程序。(2)可维护性本软件利用数据库进行编程,系统结构由程序基本确定,大量的参数及文本内容全部放于数据库中。修改、更新数据只要在数据库进行修改添加,而不需要对系统结构进行修改,这样系统维护性、升级都十分方便。第5章 项目开发计划5.1项目概述本系统是长途汽车网上售票系统,根据长途汽车站对汽车站日常运行实行了信息化管理,主要依靠网站进行售票和退订业务,长途汽车网上售票系统主要实现网上车票的查询、车票订购、已购车票的改签、已购车票的退票等功能,本实例要求能够实现一个通用的网上汽车票售系统,操作人员主要是买票者,在买票者取票的时候由售票员对系统进行操作。并达到操作直观、方便、实用、安全等要求。本系统主要由客户根据提示在网上进行操作,开始订票和退订的操作,由后台管理者根据客户的操作为客户提供服务。根据客户提供的订票信息查找对应的车次,并为客户订购和退订车票。长途汽车网上售票的过程:客户根据需求将信息输入到网络上,查询到用户需求的车次,若有车票剩余则用户可以订购成功,若车票已经全部售出,则可以提示选择其他车次的列车。订票成功后,客户可根据订单号,在一定的时间到长途汽车站取票。本系统在查询数据库时主要输入需要查询的相关信息,包括车票订单编号、每天发车的车次等信息方便操作人员订购车票和管理。本系统还兼顾一点财务信息的管理,在发生订票过程时,系统需要收取客户的车费,若客户需要订票,必须提前在网上支付等。5.2实施计划本系统使用的开发语言是VC+,以Windows xp系统为操作平台。用户要想实现网上订票,必须要进行注册账号,登录之后方能进行相关订票等操作。网络售票系统实现对服务器数据库读取,以实现用户对有关车票相关信息的查询。通过用户的操作可实现对用户进行的操作记录并形成订单存入订单数据库。能具有一定的安全性、协调性和完整性。第6章 数据库设计6.1 E-R图分析进行系统分析后,在此调查了长途汽车网上购票系统中各种业务的处理过程分析,在这个基础之上,可以得出该系统涉及到的市民、管理员、客车、车站、司机。各实体描述如图6.1-图6.7。在找出所有实体的基础上,需要进一步分析各实体之间的联系,经过分析两两实体之间的联系,然后进行合并,给出所有实体的联系图。始发站车次车票发车时间终点站余票数目到站时间价格图6.1 车票实体E-R图账号用户电话密码身份证姓名图6.2 用户实体E-R图账号管理员姓名密码所属部门性别图6.3 管理员实体E-R图出发站点客车车牌号使用时间驾驶司机目的站点行驶线路司机姓名性别事故记录工龄图6.4 客车实体E-R图 图6.5 司机实体E-R图E-R图分析的目的是确定系统中所有实体、实体的属性及实体之间的联系,为设计数据库表结构打下基础。画E-R图通常使用自底向上的设计方法,首先对局部视图进行分析设计,然后再将局部视图合并,消除冲突和冗余,得到系统的总体E-R图。账号始发站车次车票用户电话账号车次订单号终点站始发站发车时间终点站余票数目订票到站时间价格密码E-mail管理账号管理员姓名密码所属部门性别终点站客车车牌号使用时间驾驶司机始发站行驶线路司机姓名性别事故记录工龄身份证身份证1N1N1N图6.6系统总体实体E-R图6.1.1 数据关系描述设计通过以上系统ER模型和关系数据模型的对应关系进行数据结构的分析,经过转换,可以导出各个关系,其转换规则为:首先每个实体转化为一个关系,有属性的联系也转化为一个关系,然后需要给出每个关系的关键字,根据以上规则,直接给出所有关系:用户(身份证号、姓名、账号、密码、联系电话、E-MAIL);订票(订单号、账号、密码、始发站、终点站、车次);车票(车次、票价、出发时间、到站时间、始发站、终点站、余票数目);客车(车牌号、驾驶司机、使用时间、始发站、终点站、余票数目);司机(身份证号、姓名、性别、工龄、行驶路线、事故记录);管理员(账号、姓名、性别、密码、所属部门);6.2数据库表设计(1)数据库逻辑设计SQL(Structured Query Language)结构化查询语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。同时也是数据库脚本文件的扩展名。SQL是高级的非过程化编程语言,是沟通数据库服务器和客户端的重要工具,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以,具有完全不同底层结构的不同数据库系统,可以使用相同的SQL语言作为数据输入与管理的接口。它以记录集合作为操作对象,所有SQL语句接受集合作为输入,返回集合作为输出,这种集合特性允许一条SQL语句的输出作为另一条SQL语句的输入,所以SQL语句可以嵌套,这使它具有极大的灵活性和强大的功能,在多数情况下,在其他语言中需要一大段程序实现的功能只需要一个SQL语句就可以达到目的,这也意味着用SQL语言可以写出非常复杂的语句。所以我们选择了sql server,在安全性和可靠性方面有很好的性能,所以在测试阶段我们选用了sql server作为数据库系统应用。数据库通信接口采用了ODBC(open database connectivity,开放式数据库互联),目的是将所有底层操作全部隐藏在ODBC的后台驱动程序内核中。对于程序员来说,这意味着,只要构建了一个数据库连接,便可以用统一的API(应用程序编程接口)实现对数据库的读写操作。目前,ODBC提供了大量的数据库支持,这也为我们后期的改进创造了条件。基于以上的功能分析,可为长途汽车网上售票系统创建3个SQLServer数据表。应用和维护都比较方便。将其中的数据表设计如下表:表6.1 车次信息表字段数据类型长度是否为主键车次char10是余票数目int4否发车时间char20否到站时间char20否始发站char15否终点站char15否车票价格int4否表6.2 用户信息表字段数据类型长
展开阅读全文