数据库课程设计报告_车站售票管理系统
车站与火车站车票售票系统--数据库课程设计

目录一.概述 (2)二.系统需求分析 (2)2.1业务需求分析 (2)2.2功能需求 (3)2.3数据字典 (4)三.概念模型设计 (6)3.1 概念结构设计的方法与步骤 (6)3.1.1 概念结构设计的方法 (6)3.1.2 概念结构设计的步骤 (6)3.2 数据抽象与局部视图设计 (6)3.3 视图的集成 (8)四。
逻辑模型设计 (9)4.1 E-R图向关系模型的转化 (9)4.2 数据模型的优化 (10)4.3 数据库表格设计 (10)五。
物理模型设计 (12)六.关键业务逻辑的存储过程实现 (13)6.1 创建数据库 (13)6.2 在数据库‘火车站车票售票系统0301’下建表 (14)6.3 存储过程的实现 (16)6.3.1 按站站查询: (16)6.3.2 查询旅客购票信息: (17)6.3.3 增加一趟列车: (18)6.3.4 关键业务逻辑的实现 (19)七。
课程设计总结 (22)概述随着国民经济快速发展, 人们出行、交通越来越频繁, 对服务的快捷、便利性要求也越来越高。
从而对客运行业的建设与管理提出了更高的要求。
为适应和推动客运行业的发展, 各种交通公司和部门开始广泛采用使用日趋成熟的计算机技术和数据库技术来实现票务信息的现代化管理,具有手工管理所无法比拟的优点,如:检索迅速,查找方便,可靠性高,存储量大,保密性好,寿命长,成本底等。
这些优点能够极大地提高信息管理和业务管理的效率。
本火车站售票系统正是通过数据库存储信息实现高效率管理。
该实验设计首先进行需求分析,然后在需求文档的指导下实现系统的功能,如操作员的信息管理功能及旅客的火车信息查询、订票、退票等功能,最终实现的是旅客购得一张自己满意的票券,同时力求通过数据库系统及计算机在其中的运用达到提高工作效率,节约人力资源的效果。
系统需求分析在构造系统时,首先从需求出发构造数据库表,然后再由数据库表结合需求划分系统功能模块。
这样,就把一个大的系统分解成了几个小系统,使整个系统的功能更加详细易于理解,同时易于实现系统的整体设计。
数据库课程设计实验报告-火车票售票管理系统

数据库课程设计报告 -------火车售票管理信息系统软件学院软件工程2013级x班姓名: xx学号:2013xxxxxxxx目录一、系统开发平台 (1)四、需求分析 (2)4.1 用户需求说明 (2)4.1.1 数据需求 (2)4.1.2 事务需求 (3)4.2 系统需求说明 (4)五、数据库逻辑设计 (4)5.1 ER图 (4)5.2 数据字典 (5)5.3 关系表 (7)六、数据库物理设计 (7)6.1 索引 (7)6.2 视图本节可选 (8)6.3 安全机制 (8)七、应用程序设计 (8)7.1 功能模块 (8)7.2 界面设计 (15)7.3 事务设计 (15)八、测试和运行 (16)九、总结 (16)一、系统开发平台题目:对火车站的售票进行管理。
主要功能:车次管理(车次、起止地点、到达时间、开车时间)、每一车次的车票管理(车厢号、座位号)、售票、退票、查询、异常处理。
开发工具:eclipse数据库:mysql操作系统:windows8.1二、数据库规划2.1 任务陈述:做一个火车票售票管理系统:对火车站的售票进行管理。
主要功能:车次管理(车次、起止地点、到达时间、开车时间)、每一车次的车票管理(车厢号、座位号)、售票、退票、查询、异常处理。
2.2 任务目标完成一个火车票售票管理系统,要实现管理员对车票的增添以及删改功能,同时需要实现用户对车票的查询购买,以及出现调整之后的退票服务。
三、系统定义3.1 系统边界管理员:可以对车票以及车次进行删改操作。
用户:可以买票,但是不可以对火车票进行添加操作3.2 用户视图3.2.1 管理员视图(1)列车管理:包括列车的录入、查询、修改和删除。
(2)用户管理:包括系统使用用户的添加、查询、修改、删除等。
在线支付用户身份信息用户注册车次设置管理员车次信息录入用户信息管理票务系统车站实际情况(3)系统数据处理:数据查询,根据关键字过滤,查看当前车次信息,车票信息,用户信息以及处理历史。
火车售票系统课程设计报告

设
计
技
术
参
数
·jdk1.6
·开发工具:Eclipse
·DBMS:MYSQ发一个具有一定使用价值的员工管理系统,系统具备查询、修改、添加、删除等功能。后台数据库基于MySql5.0建立的。
工
作
量
报告页数不少于15页,参考文献数目不得少于5个
工
作
计
划
1月5日熟练使用Myeclipse10.0,MySQL5.5,Navicat 8
关键词:
Summary:With the development of Internet and Intranet technology, people demand more and more information on the network , such as query speed of interaction and performance of the network databases are increasingly high requirements . Future trends railway station is fully automated ticketing information inquiries, booking network , intelligent ticketing , and with the gradual expansion of the popularity of information-processing capacity of the computer , manual processing methods have been far from meeting the needs of people management activities various work gradually by hand into automation will enable many complex , cumbersome, and requires a lot of human work easier. Train ticket management is the fundamental task of the system, by implementing computer management ticketing information to improve work efficiency. Computer technology to achieve optimal management is database technology. We can use the database to the entire train ticket is stored in the computer , and then configure the feature-rich user interface to meet user needs.
车站售票管理系统数据库课程设计报告

《数据库原理》课程设计报告课程设计题目:火车站售票管理系统学院名称:计算机系专业:信息管理与信息系统学生姓名:王云根学号:指导教师:刘小明2012年 05月 29日重庆工商大学派斯学院课程设计成绩评定表学院:派斯学院班级10计本2班学生姓名:王云根项目分值优秀(100>x≥90)良好(90>x≥80)中等(80>x≥70)及格(70>x≥60)不及格(x<60)评分参考标准参考标准参考标准参考标准参考标准学习态度15学习态度认真,科学作风严谨,严格保证设计时间并按任务书中规定的进度开展各项工作学习态度比较认真,科学作风良好,能按期圆满完成任务书规定的任务学习态度尚好,遵守组织纪律,基本保证设计时间,按期完成各项工作学习态度尚可,能遵守组织纪律,能按期完成任务学习马虎,纪律涣散,工作作风不严谨,不能保证设计时间和进度技术水平与实际能力25设计合理、理论分析与计算正确,实验数据准确,有很强的实际动手能力、经济分析能力和计算机应用能力,文献查阅能力强、引用合理、调查调研非常合理、可信设计合理、理论分析与计算正确,实验数据比较准确,有较强的实际动手能力、经济分析能力和计算机应用能力,文献引用、调查调研比较合理、可信设计合理,理论分析与计算基本正确,实验数据比较准确,有一定的实际动手能力,主要文献引用、调查调研比较可信设计基本合理,理论分析与计算无大错,实验数据无大错设计不合理,理论分析与计算有原则错误,实验数据不可靠,实际动手能力差,文献引用、调查调研有较大的问题创新10 有重大改进或独特见解,有一定实用价值有较大改进或新颖的见解,实用性尚可有一定改进或新的见解有一定见解观念陈旧论文(计算书、图纸)撰写质量50结构严谨,逻辑性强,层次清晰,语言准确,文字流畅,完全符合规范化要求,书写工整或用计算机打印成文;图纸非常工整、清晰结构合理,符合逻辑,文章层次分明,语言准确,文字流畅,符合规范化要求,书写工整或用计算机打印成文;图纸工整、清晰结构合理,层次较为分明,文理通顺,基本达到规范化要求,书写比较工整;图纸比较工整、清晰结构基本合理,逻辑基本清楚,文字尚通顺,勉强达到规范化要求;图纸比较工整内容空泛,结构混乱,文字表达不清,错别字较多,达不到规范化要求;图纸不工整或不清晰指导教师评定成绩:指导教师签名:年月日目录1、需求求报告分析 (1)1、1概述 (1)1、2数据流图 (2)1、4数据字典 (3)2、概念及逻辑结构设计 (7)2、1ER图 (7)2、2关系模式 (8)2、3数据结构 (9)3、数据库设计 (10)4、系统软件结构设计 (11)4、1系统功能设计 (11)4、2其它需求 (12)4、3说明 (12)5、程序模块设计 (15)5、1功能模块详细设计 (15)5、2界面设计 (16)5、3附录:系统程序源代码 (16)参考文献 (25)1系统需求分析报告1.1概述火车站售票管理系统主要用于车站日常的票务处理。
车站售票管理系统数据库课程设计报告

2概念及逻辑结构设计
2.1 E-R图
本系统根据以上的设计规划出的实体有:车票实体、车站实体、顾客实体。各个实体具体的描述E-R图如下:
图2-1车票ER图
图2-2 顾客ER图
图2-3实体之间ER图
2.2关系模型:
车票与顾客之间的联系
车票汇总:工作人员将一天所售出的票进行统计,包括票数,票类,形成确定的车票记录。
查询:将顾客需要的车票信息输入系统,并查询其是否可供应。
查询顾客信息:为订票所设,将顾客的准确信息记录,为其预定所车票。
处理买票:进行买票交易,把顾客需要的票(可供应)售出,并在系统中作相应记录,确定车票记录。
处理订票:进行订票交易,工作人员为顾客预定其所需车票,并在系统中作相应记录,确定订票记录。
1、1 概述…………………………………………………………………………1
1、2 系统功能分析………………………………………………………………1
1、3 数据流图……………………………………………………………………2
1、4 数据字典……………………………………………………………………3
2、概念及逻辑结构设计…………………………………………………………………7
顾客(身份证号,银行卡号,票号,日期,交易时间,交易金额,数量,起始站,终点站)
2.3数据库结构
表2.1 Car表详细设计
字段名
数据类型
是否主键
是否必填
字段说明
CarID
文本
是
是
车次编号
CarType
数字
否
否
客车型号
PlateNumber
车站售票管理系统数据库课程设计报告

目录1、需求求报告分析…………………………………………………………………………11、1概述 (1)1、2系统功能分析 (1)1、3数据流图 (2)1、4数据字典 (3)2、概念及逻辑结构设计…………………………………………………………………72、1ER图 (7)2、2关系模式 (8)2、3数据结构 (9)3、数据库设计 (10)4、系统软件结构设计 (11)4、1系统功能设计 (11)4、2其它需求 (12)4、3说明 (12)5、程序模块设计 (15)5、1功能模块详细设计 (15)5、2界面设计 (16)5、3附录:系统程序源代码 (16)参考文献 (25)1系统需求分析报告1.1概述汽车售票管理系统主要用于车站日常的票务处理。
车售票管理系统在正常运行中需要对使用该系统的主要是汽车站售票人员、汽车站售票工作的管理人员与系统管理员。
为达到操作过程中的直观、方便、实用、安全等要求,我们组在这个系统中采用模块化程序设计的方法,便于系统功能的组合和修改,以及扩充和维护。
1.2系统功能分析根据需求分析,本系统要实现以下的基本功能。
1.登录功能:分为汽车站售票人员和系统管理员两种权限登陆。
用户通过输入不同用户名和密码进行身份验证,系统通过用户名和密码判断不同用户的权限,从而确定该用户可以执行的操作。
2.车票信息查询功能:由汽车站的普通售票人员通过不同的检索入口,查询车票信息,并进行排序。
3.修改功能:汽车站售票人员、汽车站售票工作的管理人员能够修改自身的用户名和密码,系统管理员则能实现系统用户与普通用户的添加,修改普通用户与系统管理员的密码,以此确保该系统能够安全操作,避免不必要的损失。
4.汇总功能:对当天车票的信息进行汇总。
1.3数据流图图1-1顶层图顶层图0层图售票记录1图1-5退票1层图1.4数据字典1.数据项票号、票价、车次、日期、车型、开车时间、票种、座位号、起始站、终点站、身份证号、银行卡号、数量、退票时间、退票手续费、订票时间、订票手续费2.数据结构表1.1车票的数据结构DS04-01车票DS04-02:车票标志DS04-03:车次信息DS04-04:座位信息DS04-05:票价信息I1:车票编号I3:起始站I8:座位号I9:全票价I2:车票类型I4:车次编号I10:折扣I5:终点站I6:发车时间I7:乘车日期3.数据流数据流编号:D04-01数据流名称:车票简述:车票有关信息数据流来源:用户执行售票操作结果数据流去向:购票旅客数据流组成:车票编号+车票类型+车次信息+座位信息+票价信息4.数据存储售票记录:票号,起始站,终点站,票价,车次,日期,开车时间,车型,票种,座位号,售出时间退票记录:票号,起始站,终点站,票价,车次,日期,开车时间,车型,票种,座位号,退票时间订票记录:票号,起始站,终点站,票价,车次,日期,开车时间,车型,票种,座位号,订票时间,顾客身份证号缺票记录:票号,起始站,终点站,票价,车次,日期,开车时间,车型,票种车票记录:票号,起始站,终点站,票价,车次,日期,开车时间,车型,票种,座位号,售出时间,票数5.处理过程车票汇总:工作人员将一天所售出的票进行统计,包括票数,票类,形成确定的车票记录。
数据库课程设计--火车票售票管理系统

课程设计说明书(数据库技术及实训)题目: 火车票售票管理系统院系:计算机科学与工程学院专业班级:班学号:学生姓名:指导教师:2014年 5 月 4日课程设计(论文)任务书年月日摘要中国铁路客票发售和预订系统的核心功能是建立一个覆盖全国铁路的计算机售票网络,实现客票管理和发售工作现代化,从而方便旅客购票和旅行,提高铁路客运经营水平和服务质量,系统可预订、预售和发售当日客票,具有售返程、联程等异地购票功能。
系统预售期为20天。
可以实现票额、坐席、制票、计费、结算、统计等工作的计算机管理。
系统采用微软推出的Visual Studio 2005作为开发工具基于B/S结构,数据库采用微软的SQL Server 2005进行数据库设计。
关键词:铁路客运服务;计算机售票网络;SQL Server 2005目录1系统分析 (1)1.1 课题背景 (1)1.2目的和意义 (1)1.3可行性分析 (1)2系统设计 (3)2.1数据字典 (3)2.2数据流图 (3)2.3 系统模块总体设计 (11)2.4数据库概念结构设计 (11)3系统实现 (13)3.1 数据库逻辑结构设计 (13)3.3测试 (15)4总结 (16)4.1 设计体会 (16)4.2 系统改进 (16)参考文献 (16)1系统分析1.1 课题背景中国拥有总里程超过五万公里的铁路线,是世界上最大的铁路运输网之一,而铁路客运服务在其中又占有非常重要的地位。
其中有5000多个车站承办业务,日开列车2000多列。
为了在日益加剧的客户运输竞争服务中确保优秀,改善铁路客户的服务质量,铁道部门一直在寻找提高竞争力、改善服务的途径。
计算机应用火车站售票的日常管理为火车站售票的现代化带来了前所未有的动力和机遇,为火车站票务管理领域的飞速发展提供了无限潜力。
能给火车站票务带来明显的经济效益和社会效益。
1.2目的和意义火车票票务管理的全部数据处理都由人工操作,工作量大,工作效率低,错误率高,信息反馈不及时,因此本系统拟对该火车票票务管理做如下几方面改革:✧系统功能重构✧业务流程重组✧数据流程重组为解决上述问题,要根据目前火车票的管理模式和方法利用Internet、局域网和计算机开发基于Web的火车票订票管理信息系统,可以实现票额、坐席、制票、计费、结算、统计等工作的计算机管理。
车站与火车站车票售票系统--数据库课程设计

目录一.概述 (2)二.系统需求分析 (2)2.1业务需求分析 (2)2.2功能需求 (3)2.3数据字典 (4)三.概念模型设计 (6)3.1 概念结构设计的方法与步骤 (6)3.1.1 概念结构设计的方法 (6)3.1.2 概念结构设计的步骤 (6)3.2 数据抽象与局部视图设计 (6)3.3 视图的集成 (8)四。
逻辑模型设计 (9)4.1 E-R图向关系模型的转化 (9)4.2 数据模型的优化 (10)4.3 数据库表格设计 (10)五。
物理模型设计 (12)六.关键业务逻辑的存储过程实现 (13)6.1 创建数据库 (13)6.2 在数据库‘火车站车票售票系统0301’下建表 (14)6.3 存储过程的实现 (16)6.3.1 按站站查询: (16)6.3.2 查询旅客购票信息: (17)6.3.3 增加一趟列车: (18)6.3.4 关键业务逻辑的实现 (19)七。
课程设计总结 (22)概述随着国民经济快速发展, 人们出行、交通越来越频繁, 对服务的快捷、便利性要求也越来越高。
从而对客运行业的建设与管理提出了更高的要求。
为适应和推动客运行业的发展, 各种交通公司和部门开始广泛采用使用日趋成熟的计算机技术和数据库技术来实现票务信息的现代化管理,具有手工管理所无法比拟的优点,如:检索迅速,查找方便,可靠性高,存储量大,保密性好,寿命长,成本底等。
这些优点能够极大地提高信息管理和业务管理的效率。
本火车站售票系统正是通过数据库存储信息实现高效率管理。
该实验设计首先进行需求分析,然后在需求文档的指导下实现系统的功能,如操作员的信息管理功能与旅客的火车信息查询、订票、退票等功能,最终实现的是旅客购得一张自己满意的票券,同时力求通过数据库系统与计算机在其中的运用达到提高工作效率,节约人力资源的效果。
系统需求分析在构造系统时,首先从需求出发构造数据库表,然后再由数据库表结合需求划分系统功能模块。
这样,就把一个大的系统分解成了几个小系统,使整个系统的功能更加详细易于理解,同时易于实现系统的整体设计。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
吉林工程技术师范学院课程设计报告设计名称:车站售票信息管理系统姓名:孟祥丽学号:23号专业:计算机科学与技术班级:C1042院系:信息工程学院指导教师:刘国成、杨宇晶、郭天娇2010年12月16日一、概述1、项目背景:随着市场经济的不断飞速发展,交通道路环境的不断改善,人们的出行次数不断增多,人口流动频繁,数量不断加大,车站信息量迅猛增长,车站售票管理系统在人们的日常生活中发挥着越来越重要的作用。
本系统实现了线路信息,汽车信息,票务信息的查询和管理,满足人们的需求。
2、编写目的:掌握数据库设计原理及相关软件的使用。
实现方便、快速售票;是用户准确了解售票情况,提供多种查询和统计功能;实现系统的安全性设置,使系统本身具有一定的维护功能。
3、软件定义:车站售票管理系统,主要用于车站日常的票务处理。
4、开发环境:Visual Studio2008,SQL SERVER2000二、需求分析车站售票管理系统员工管理模块汽车管理模块线路管理模块车票管理模块票务信息管理模块员工信息添加员工信息删除员工信息修改汽车信息添加汽车信息修改汽车信息删除线路信息添加线路信息修改线路信息删除添加车票删除车票查询车票信息购买/预订车票员工信息查询汽车信息查询线路信息查询车票信息查询功能模块图1,员工管理模块:员工有两种身份,售票员和系统管理员。
系统管理员可以进行系统用户的添加,密码的修改操作,汽车,线路,车票信息的更新等,售票员可以查询以上信息和购买车票等。
2,线路信息管理模块:系统管理员可以在线路信息管理模块对车站线路信息进行管理。
管理员首先建立线路信息数据库,输入原始的线路信息,当有新的线路需要添加或者需要对已有的线路信息进行修改,删除的时候,管理员就可以进行相应的操作。
管理员也可以通过本模块查询到所有需要查询的线路的详细信息。
3,汽车信息管理模块:系统管理员可以在汽车信息管理模块实现对汽车信息的管理。
管理员首先应该建立汽车信息数据库,输入原始的数据信息,当有新的汽车信息的时候或者管理员需要修改某个汽车的相关信息以及想要删除某个汽车信息的时候,就可以完成相应的操作。
管理员也可以在整个数据库中查询相关汽车信息。
4,车票信息管理模块:置相应的车票详细信息。
管理员还可以对某条线路的车票信息进行修改,删除和查询操作。
5,车票订购信息模块用户可以通过查询时间,线路和汽车信息,来确定自己要买什么时间,什么路线,什么型号的汽车的车票,并形成表单。
程序分为登陆界面,主界面,线路信息管理界面,汽车信息管理界面,车票信息管理界面,票务信息管理界面,员工管理界面这几个主体界面。
使用时应先知道管理员或员工帐号和密码,登陆进入系统主菜单界面,里面包括线路信息,汽车信息,车票信息,票务信息,帮助,退出程序菜单选项。
三、系统设计(一)数据流图:车站售票管理系统售票员购票信息售票信息系统管理员汽车,线路等信息汽车,路线等信息顶层数据流图查询处理买票购票信息可供票车票车票记录售票记录信息处理车票信息汽车记录线路记录读入信息处理汽车信息站点记录站点信息系统管理员售票员售票出售票查询查询打印售票报表报表打印已售车票查看已售车票情况查看发车时刻表显示发车时刻发车修改修改线路表汽车表员工表线路变更汽车变更人员变更增,删,改增,删,改增,删,改决定决定决定信息处理站点修改增,删,改站点表提取站点(二)数据字典:1,数据项编号数据项名数据项含义说明数据类型长度与其他数据项的关系是否可以为空1 Uno用户编号整型4User表主键不2 UserName姓名nvarchar 20不3 Password密码nvarchar 20 不4 UserIdentiey身份nvarchar 20 不5 Cno 汽车编号整型 4 Coach表主键不6 Coachnumber 车牌号nvarchar 20 不7 Ctype 汽车型号nvarchar 208 Ctime购买时间datetime 89 Cnum座位数量整型 4 不10 Ctv有无电视char 1011 Ccondition有无空调char 1012 Coachholder 负责人nvarchar 20 不13 Lno线路编号整型 4 Line表主键不14 Ldepart起始城市nvarchar 20 不15 Larrival到达城市nvarchar 20 不16 Ltime 路程时间datetime 817 Tno 车票编号整型 4 Ticket表主键不18 Price 车票价格整型 4 不19 SoldTicket 已卖票数整型 4 不20 LastTicket 剩余票数整型 4 不21 Tdate 出发日期datetime 8 不22 Ttime 出发时间datetime 8 不23 Ptime 购买时间datetime 824 Seat 座位号整型 4 不25 ReserveORBuy 预定或购买char 10 不26 Cityno 站点编号整型 4 City表主键不27 CityName 站点名称nvarchar 20 不2,数据结构编号数据结构名属性1 员工员工编号,姓名,密码,身份2 汽车汽车编号,汽车型号,车牌号,购买时间,座位数量,有无电视,有无空调,负责人3 线路线路编号,起始城市,到达城市,路程时间4 车票车票编号,线路编号,汽车编号,车票价格,已卖票数,剩余票数,出发日期,出发时间5 购票车票编号,购买日期,预定或购买,座位号6 站点站点编号,站点名称3,数据流编号数据流名输入输出1 变更汽车信息变更信息汽车记录2 查询汽车信息汽车编号/汽车型号/车牌号/有无电视/有汽车记录无空调/负责人3 变更站点信息变更信息站点记录4 变更线路信息变更信息线路记录5 查询线路信息线路编号/起始城市,到达城市线路记录6 变更车票信息变更信息车票记录7 查询车票信息车票编号/起始城市,到达城市/汽车型号/车票记录出发日期,出发时间8 预定车票车票编号,购买日期,预定或购买预订记录9 购买车票车票编号,购买日期,预定或购买购买记录10 查询购买情况车票编号/起始城市,到达城市/汽车型号购买记录11 更改用户变更信息用户记录12 员工信息用户输入电脑的用户名、密码系统主菜单4,数据存储数据存储名输入数据流输出数据流说明部分用户信息变更用户信息查询用户信息汽车信息变更汽车信息查询汽车信息线路信息变更线路信息查询线路信息车票信息变更车票信息查询车票信息预定车票信息车票信息预订记录购买车票信息车票信息购买记录5、处理过程处理过程名输入数据流输出数据流处理操作查询已知汽车/线路/车票信息所需信息购买/预定车票信息+购票时间+座位号无更新变更信息再次查询信息用户权限认证用户名,密码,身份系统主菜单用户登录(三)E-R 图售票员汽车线路购买员工编号姓名密码身份汽车编号汽车型号购买时间座位数量有无电视有无空调线路编号起始城市到达城市路程时间车票编号车票价格剩余票数购买日期车牌号负责人已卖票数出发时间预定或购买座位号站点站点编号站点名称系统管理员管理管理车票管理包含包含员工编号姓名密码身份出发日期mnnm1p1mm npm(四)关系模型:1,User员工表(员工编号Uno,姓名UserName,密码Password,身份UserIdentiey)2,Coach汽车信息表(汽车编号Cno,汽车型号Ctype,车牌号Coachnumber,购买时间Ctime,座位数量Cnum,有无电视Ctv,有无空调Ccondition,负责人Coachholder)3,Line线路信息表(线路编号Lno,起始城市Ldepart,到达城市Larrival,路程时间Ltime)4,Ticket车票信息表(车票编号Tno,线路编号Lno,汽车编号Cno,车票价格Price,已卖票数SoldTicket,剩余票数LastTicket,出发日期Tdate,出发时间Ttime)5,Purchase车票购买表(车票编号Tno,购买日期Ptime,预定或购买ReserveORBuy,座位号Seat)6,City站点表(站点编号Cityno,站点名称CityName)四、系统实现(一)数据库设计:1,City站点表:2,Userinfo员工表:3,Ticket车票信息表:4,Coach汽车信息表:5,Purchase车票购买表:6,Line线路表:(二)主要界面及代码1,登录界面:登录操作代码:(1)SqlHelper helper = new SqlHelper();SqlDataReader rdr;(2)if (string.IsNullOrEmpty(name) || string.IsNullOrEmpty(password) || string.IsNullOrEmpty(identity)) {MessageBox.Show("姓名,密码,身份框均不能为空!");}rdr = helper.ExecuteReader("dbo.SelectUserinfo", CommandType.StoredProcedure);while (rdr.Read()){if (rdr["UserName"].ToString() == name && rdr["Password"].ToString() == password && rdr["UserIdentity"].ToString() == identity){this.Hide();string iden = rdr["UserIdentity"].ToString();MainForm main = new MainForm(iden);main.ShowDialog();rdr.Close();return;}}MessageBox.Show("错误的姓名或密码或与身份不匹配,请重新输入!");rdr.Close();(3)存储过程:ALTER PROCEDURE dbo.SelectUserinfo/*(@parameter1 int = 5,@parameter2 datatype OUTPUT)*/AS/* SET NOCOUNT ON */BEGINselect * from UserinfoEND2,系统主界面3,员工管理界面:修改/删除操作代码:(1)try{SqlCommandBuilder scb = new SqlCommandBuilder(sd);sd.Update(ds, "a");ds.AcceptChanges();MessageBox.Show("修改成功!");}catch (Exception ex){MessageBox.Show(ex.Message.ToString());}(2)try{SqlCommandBuilder scb = new SqlCommandBuilder(sd);int a = dataGridView1.CurrentRow.Index;ds.Tables[0].Rows[a].Delete();sd.Update(ds, "a");ds.AcceptChanges();MessageBox.Show("删除成功!");}catch (Exception ex){MessageBox.Show(ex.Message.ToString());}4,汽车信息管理界面:添加操作代码:(1)DAL.CoachDAO coach = new Coach.DAL.CoachDAO();SqlHelper helper = new SqlHelper();(2) if (string.IsNullOrEmpty(coachnumber) || string.IsNullOrEmpty(seatnumber1) ||string.IsNullOrEmpty(coachholder)){ MessageBox.Show("车牌号,座位数量,负责人均不能为空!");}else{if (coach.Add(coachtype,coachnumber,date2,seatnumber,ishavetv,ishavecon,coachholder))MessageBox.Show("添加成功!");elseMessageBox.Show("添加失败!");}(3)实体类CoachDAO.cs中:public bool Add(string coachtype,string coachnumber,DateTime date2, int seatnumber,string ishavetv,string ishavecon,string coachholder){bool flag = false;DataTable dt = new DataTable();string cmdText = "dbo.AddCoach";SqlParameter[] paras = new SqlParameter[]{new SqlParameter("@coachtype",coachtype),new SqlParameter("@coachnumber",coachnumber),new SqlParameter("@date2",date2),new SqlParameter("@seatnumber",seatnumber),new SqlParameter("@ishavetv",ishavetv),new SqlParameter("@ishavecon",ishavecon),new SqlParameter("@coachholder",coachholder)};int res = helper.ExecuteNonQuery(cmdText, paras, CommandType.StoredProcedure);if (res > 0){flag = true;}return flag;}(4)存储过程:ALTER PROCEDURE dbo.AddCoach@coachtype nvarchar(20),@coachnumber nvarchar(20),@date2 datetime,@seatnumber int,@ishavetv char(10),@ishavecon char(10),@coachholder nvarchar(20)/*(@parameter1 int = 5,@parameter2 datatype OUTPUT)*/AS/* SET NOCOUNT ON */BEGINinsert into Coach (Ctype,Coachnumber,Ctime,Cnum,Ctv,Ccondition,Coachholder) values(@coachtype,@coachnumber,@date2,@seatnumber,@ishavetv,@ishavecon,@coachholder)END5,线路信息管理界面:搜索操作代码:(1)SqlHelper helper = new SqlHelper();SqlConnection conn = new SqlConnection("Data Source=(local);Initial Catalog=Coach;Integrated Security=True");SqlDataAdapter sd; //定义一个数据适配器DataSet ds; //定义一个数据集(2)string str1 = "select Lno as 编号,Ldepart as 起始城市,Larrival as 到达城市,convert(varchar(10),Ltime,108) as 路程时间from Line where Lno =" + lineid + "";dataBind(str1);(3)private void dataBind(string str){try{sd = new SqlDataAdapter(str, conn);ds = new DataSet();sd.Fill(ds, "a");dataGridView1.DataSource = ds;dataGridView1.DataMember = "a";}catch (Exception ex){MessageBox.Show(ex.Message);}}6,车票信息管理界面:7,车票信息管理中,选择汽车和路线界面:8,票务管理界面:查询操作代码:(1)DAL.PurchaseDAO purchase = new Coach.DAL.PurchaseDAO();SqlHelper helper = new SqlHelper();(2)dataGridView1.DataSource = purchase.Select1(departcity,arrivalcity,date2);(3)实体类PurchaseDAO.cs中:public DataTable Select1(string departcity, string arrivalcity, DateTime date2) {DataTable dt = new DataTable();string cmdText = "dbo.SelectPurchase";SqlParameter[] paras = new SqlParameter[]{new SqlParameter("@departcity",departcity),new SqlParameter("@arrivalcity",arrivalcity),new SqlParameter("@date2",date2)};dt = helper.ExecuteQuery(cmdText, paras, CommandType.StoredProcedure);return dt;}(4)存储过程ALTER PROCEDURE dbo.SelectPurchase@departcity nvarchar(20),@arrivalcity nvarchar(20),@date2 datetime/*(@parameter1 int = 5,@parameter2 datatype OUTPUT)*/AS/* SET NOCOUNT ON */BEGINselect Ldepart as 起始城市,Larrival as 到达城市,convert(varchar(10),Tdate,120) as 出发日期,convert(varchar(10),Ttime,108) as 出发时间,Ctype as 车型,Coachnumber as 车牌号,Ctv as 有无电视,Ccondition as 有无空调,Price as 票价,Cnum as 总票数,LastTicket as 剩余票数from Coach,Line,Ticket where o = o and Line.Lno = Ticket.Lno and Ldepart = @departcity and Larrival = @arrivalcity and Tdate = @date2END预订/购买操作代码:(1)tno = purchase.Yuding(depart, arrival, coachnum);(2)实体类PurchaseDAO.cs中public int Yuding(string depart, string arrival, string coachnum){int tno;DataTable dt = new DataTable();string cmdText = "dbo.SelectTno";SqlParameter[] paras = new SqlParameter[]{new SqlParameter("@depart",depart),new SqlParameter("@arrival",arrival),new SqlParameter("@coachnum",coachnum)};dt = helper.ExecuteQuery(cmdText, paras, CommandType.StoredProcedure);tno = Convert.ToInt32(dt.Rows[0]["Tno"]);return tno;}(3)if (purchase.UpdateTicket(tno) && purchase.AddG(tno, datetime2, seat))MessageBox.Show("购买成功!您购买的票为:\n" + depart + "---" + arrival + "\n" + "出发时间:" + date + "_" + time + "\n" + "车牌号:" + coachnum + "\n" + "座位号:" + seat);elseMessageBox.Show("购买失败!");(4)public bool UpdateTicket(int tno){bool flag = false;string cmdText = "dbo.UpdateTicket";SqlParameter[] paras = new SqlParameter[]{new SqlParameter("@tno",tno)};int res = helper.ExecuteNonQuery(cmdText, paras, CommandType.StoredProcedure);if (res > 0){flag = true;}return flag;}(5)public bool AddG(int tno, DateTime datetime2, string seat){bool flag = false;string cmdText = "dbo.AddPurchaseYG";SqlParameter[] paras = new SqlParameter[]{new SqlParameter("@tno",tno),new SqlParameter("@datetime2",datetime2),new SqlParameter("@seat",seat)};int res = helper.ExecuteNonQuery(cmdText, paras, CommandType.StoredProcedure);if (res > 0){flag = true;}return flag;}(6)存储过程ALTER PROCEDURE dbo.UpdateTicket@tno int/*(@parameter1 int = 5,@parameter2 datatype OUTPUT)*/AS/* SET NOCOUNT ON */BEGINupdate Ticket set SoldTicket = SoldTicket+1,LastTicket = LastTicket-1 where Tno = @tno END(7)ALTER PROCEDURE dbo.AddPurchase@tno int,@datetime1 datetime,@seat nvarchar(20)/*(@parameter1 int = 5,@parameter2 datatype OUTPUT)*/AS/* SET NOCOUNT ON */BEGINinsert into Purchase(Tno,Ptime,ReserveORBuy,Seat) values (@tno,@datetime1,'预订',@seat) END9,站点管理界面 10,购买成功界面数据库连接类代码:///<summary>/// SqlCE数据库保持连接类///</summary>public class SqlHelper{public SqlConnection sqlconn = null;private SqlCommand cmd = null;private SqlDataReader sdr = null;///<summary>///构造函数///</summary>public SqlHelper(){string connStr = "Data Source=(local);Initial Catalog=Coach;Integrated Security=True";sqlconn = new SqlConnection(connStr);}private SqlConnection GetConn(){if (sqlconn.State == ConnectionState.Closed){sqlconn.Open();}return sqlconn;}///<summary>///构造函数///</summary>///<param name="fSqlceConnString">数据库连接字符串</param>public SqlHelper(String fSqlceConnString){string connStr = "Data Source=(local);Initial Catalog=Coach;Integrated Security=True";sqlconn = new SqlConnection(connStr);this.sqlconn = new SqlConnection(fSqlceConnString);if (sqlconn.State == ConnectionState.Closed){sqlconn.Open();}}///<summary>///执行不返回结果的SQL语句。