数据库火车票销售系统

合集下载

数据库课程设计--火车票售票管理系统

数据库课程设计--火车票售票管理系统

课程设计说明书(数据库技术及实训)题目: 火车票售票管理系统院系:计算机科学与工程学院专业班级:班学号:学生姓名:指导教师: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)概述随着国民经济快速发展, 人们出行、交通越来越频繁, 对服务的快捷、便利性要求也越来越高。

从而对客运行业的建设与管理提出了更高的要求。

为适应和推动客运行业的发展, 各种交通公司和部门开始广泛采用使用日趋成熟的计算机技术和数据库技术来实现票务信息的现代化管理,具有手工管理所无法比拟的优点,如:检索迅速,查找方便,可靠性高,存储量大,保密性好,寿命长,成本底等。

这些优点能够极大地提高信息管理和业务管理的效率。

本火车站售票系统正是通过数据库存储信息实现高效率管理。

该实验设计首先进行需求分析,然后在需求文档的指导下实现系统的功能,如操作员的信息管理功能及旅客的火车信息查询、订票、退票等功能,最终实现的是旅客购得一张自己满意的票券,同时力求通过数据库系统及计算机在其中的运用达到提高工作效率,节约人力资源的效果。

系统需求分析在构造系统时,首先从需求出发构造数据库表,然后再由数据库表结合需求划分系统功能模块。

这样,就把一个大的系统分解成了几个小系统,使整个系统的功能更加详细易于理解,同时易于实现系统的整体设计。

数据库--售票系统

数据库--售票系统

大型数据库课程设计报告课 题: 铁路票务系统 专业班级: 计科07101 学 号: 200717010124 姓 名: 毕 于 通 指导教师: 屠 添 翼目 录评阅意见:评定成绩:指导老师签名:年 月 日目录摘要.............................................................................................. 错误!未定义书签。

1.课程设计的目的与意义 (2)2.需求分析 (3)3.系统设计 (5)4.系统实现 (11)5. 系统调试 (18)6.小结 (24)附录源代码 (25)1.课程设计的目的与意义1.1、课程设计的目的数据库课程设计是数据库系统原理实践环节的及为重要的一部分.其目的是:(1)培养学生能够应用数据库系统原理在需求分析的基础上对系统进行概念设计,学会设计局部ER,全局ER图;(2)培养学生能够应用数据库系统在概念设计的基础上应用关系规范化理论对系统进行逻辑设计,学会在ER图基础上设计出易于查询和操作的合理的规范化关系模型;(3)培养学生能够应用SQL语言对所设计的规范化关系模型进行物理设计,并且能够应用事务处理,存储过程,触发器以保证数据库系统的数据完整性,安全性,一致性,保证数据共享和防止数据冲突;(4)培养学生理论与实际相结合能力, 培养学生开发创新能力;(5)培养学生独立分析问题、解决问题、查阅资料以及自学能力,以适应计算机产业日新月异发展的形势;(6)提高和加强学生的计算机应用与软件开发能力,使学生由初学者向专业的程序员过渡。

1.2、课程设计的意义目前,我国在计算机应用、计算机软件和电子类相关专业的人才培养方面,取得了长足的发展,但同时也让我们深刻地感觉到缺乏实际开发设计项目的经验,不善与综合运用所学理论,对知识的把握缺乏融会贯通的能力.尤其是我们计算机专业大学生,由于缺乏具体项目经验,毕业之后普遍感到知识不能转化为能力。

车站售票管理系统数据库课程设计

车站售票管理系统数据库课程设计

车站售票管理系统数据库课程设计一、引言车站售票管理系统是一个用于管理车站售票业务的软件系统。

本文将对车站售票管理系统的数据库课程设计进行详细探讨。

二、系统需求分析在设计车站售票管理系统的数据库之前,首先需要对系统的需求进行分析。

以下是对系统的需求进行详细描述:1.用户管理:系统需要支持多种用户角色,如管理员、售票员、乘客等。

每种角色对系统的访问权限不同,管理员具有最高权限,可以管理用户账号、权限等信息。

2.车次管理:系统需要记录车次的详细信息,包括车次号、出发站点、到达站点、出发时间、到达时间、票价等。

管理员可以添加、修改、删除车次信息。

3.售票管理:系统需要记录每个售票员的售票情况,包括售票时间、车次号、座位号、乘客姓名、乘客身份证号等。

售票员可以根据乘客的需求进行售票操作。

4.乘客管理:系统需要记录乘客的个人信息,包括姓名、身份证号、电话号码等。

乘客可以通过系统查询车次信息、购买车票等。

5.座位管理:系统需要记录每个车次的座位情况,包括座位号、是否已售等。

系统需要实时更新座位的售票情况。

三、数据库设计在对系统需求进行分析后,可以开始设计数据库结构。

以下是对车站售票管理系统的数据库设计:1. 用户表(User)字段名类型约束说明id int 主键用户IDusername varchar 唯一键用户名password varchar 密码role int 用户角色2. 车次表(Train)字段名类型约束说明id int 主键车次ID train_number varchar 唯一键车次号start_station varchar 出发站点end_station varchar 到达站点start_time datetime 出发时间end_time datetime 到达时间price decimal 票价3. 售票记录表(Ticket)字段名类型约束说明id int 主键售票记录ID train_id int 外键车次ID seat_number varchar 座位号passenger varchar 乘客姓名id_card varchar 乘客身份证号4. 乘客表(Passenger)字段名类型约束说明id int 主键乘客IDname varchar 姓名id_card varchar 唯一键身份证号phone varchar 电话号码5. 座位表(Seat)字段名类型约束说明id int 主键座位IDtrain_id int 外键车次IDseat_number varchar 座位号is_sold int 是否已售四、系统功能实现在完成数据库设计后,可以开始实现系统的功能。

火车票网上购票管理系统数据库系统分析与设计

火车票网上购票管理系统数据库系统分析与设计

火车票网上购票管理系统数据库系统分析与设计一、数据库需求分析1.用户需求:-用户可以通过系统注册和登录账号。

-用户可以查询火车班次及票价信息。

-用户可以选择购买火车票,并完成支付。

-用户可以查看已购买的火车票信息。

2.管理员需求:-管理员可以添加、修改和删除火车班次信息。

-管理员可以查询用户购票信息。

3.系统需求:-系统需要存储用户账号和密码信息。

-系统需要存储火车班次信息,包括班次号、起始站、终点站、出发时间、到达时间、票价等。

-系统需要存储用户购票信息,包括用户ID、班次号、座位号、购票时间等。

二、数据库设计根据以上需求,可以设计以下数据库表结构:1. 用户表(User)- 用户ID(UserID,主键)- 用户名(Username)- 密码(Password)2. 火车班次表(Train)- 班次号(TrainID,主键)- 起始站(StartStation)- 终点站(EndStation)- 出发时间(DepartureTime)- 到达时间(ArrivalTime)- 票价(Price)3. 火车票表(Ticket)- 票号(TicketID,主键)- 用户ID(UserID,外键,关联User表的UserID)- 班次号(TrainID,外键,关联Train表的TrainID) - 座位号(SeatNumber)- 购票时间(PurchaseTime)三、系统架构设计根据数据库设计,可以初步设计系统架构如下:1.前端页面:包括注册、登录、查询火车班次、购票、查看订单等页面。

2.后端服务:实现用户注册、登录、查询火车班次、购票、查看订单等功能,调用数据库进行数据操作。

3.数据库:存储用户信息、火车班次信息、订单信息等数据。

四、数据库操作根据数据库设计,可以设计以下数据库操作:1.用户相关操作:- 用户注册:向User表中插入新的用户信息。

- 用户登录:查询User表中的用户名和密码信息进行验证。

火车票售票管理系统 (3)

火车票售票管理系统 (3)

火车票售票管理系统介绍火车票售票管理系统是一个用于管理火车票售票、订单管理和客户信息的软件系统。

该系统提供了一个方便快捷的平台,使用户能够在线浏览、预订和购买火车票,并对订单进行管理和查询。

功能1. 火车票查询用户可以通过系统提供的火车票查询功能查找目标日期和路线的火车票。

用户可以输入出发地、目的地和日期等信息来查找合适的火车票。

查询结果包括列车的发车时间、到达时间、车次、票价和余票数量等。

2. 火车票预订用户可以查看到的火车票信息后进行预订。

用户需要输入乘车人的信息,并选择座位类型和票数进行预订。

系统会根据用户的选择自动生成订单号,并提供支付链接进行付款。

3. 订单管理用户可以在系统中管理自己的订单。

用户可以查看订单详情,包括订单号、乘车人信息、座位类型、票价和支付状态等。

用户还可以取消未支付的订单,并根据需要重新预订。

4. 客户信息管理系统提供了客户信息管理功能,用户可以在系统中维护个人信息。

用户可以修改个人信息,包括姓名、性别、手机号码和电子邮箱等。

用户也可以查看自己的历史订单和购票记录。

5. 系统管理系统管理员可以对火车票售票管理系统进行管理。

管理员可以管理火车票信息,包括添加新的火车车次、修改票价和调整余票数量等。

管理员还可以管理用户信息,包括添加新用户、修改用户信息和删除用户等。

架构火车票售票管理系统的架构包括前端和后端两部分。

前端前端使用HTML、CSS和JavaScript编写,采用响应式设计,能够在不同终端设备上良好地展示。

前端实现了用户界面和交互逻辑,包括火车票查询、预订、订单管理和客户信息管理等功能。

后端后端使用Java编程语言开发,采用Spring框架和Spring Boot技术,实现了业务逻辑和数据交互。

后端处理用户请求,调用相应的服务进行数据处理和查询,并将结果返回给前端。

数据库设计火车票售票管理系统使用关系型数据库存储数据。

数据库中包括以下主要表:用户表存储用户的个人信息,包括用户ID、姓名、性别、手机号码和电子邮箱等。

网上火车订票系统(sql数据库)_1401191944201279

网上火车订票系统(sql数据库)_1401191944201279

网上火车订票系统(SQL数据库)摘要1:针对火车站的订票实际情况,按照软件工程的结构化设计思想,本次课程设计经过项目的可行性研究和需求分析、总体设计、详细设计,以及编码实现和调试等步骤设计开发了火车站网上订票系统。

并运用数据流图和数据字典、E-R图和数据库逻辑结构、层次图、系统流程图、以及程序流程图,对该系统的数据需求、数据库、系统软件结构、系统流程、以及处理过程等进行了分析和设计。

本次课程设计利用JSP开发工具和SQL Server 2000数据库来开发这个火车站网上订票系统。

该系统要解决的是火车站网上订票工作所要解决的问题,可以满足火车站网上订票的基本要求,包括查询、订票、退票等三个方面的功能。

该系统能运用到火车站订票的工作中,根据用户的需求,设置其权限,并快捷方便的为用户提供服务。

目录第一章概述 11.1概述11.2意义11.3任务1第二章系统的可行性研究与需求分析22.1可行性研究22.1.1经济可行性22.1.2技术可行性22.1.3操作可行性22.2需求分析22.2.1功能需求22.2.2数据需求32.2.3性能需求42.2.4数据流图52.2.5数据字典52.2.6实体-联系图62.2.7数据库逻辑结构7第三章系统的总体设计83.1系统软件结构设计83.1.1软件结构83.1.2模块算法83.2系统流程图9第四章系统的详细设计124.1接口设计124.1.1用户接口124.1.2外部接口124.1.3内部接口124.1.4软件接口124.1.5模块内部124.2过程设计124.2.1程序流程图12第五章系统的实现与调试195.1应用系统的开发及测试195.1.1系统首页195.1.2产品说明195.1.3用户登录及访问权限195.1.4车次信息查询215.1.5订票信息查询225.1.6订票235.1.7退票265.2部分代码285.2.1登陆界面285.2.2主界面305.2.3车次查询条件选择界面325.2.4精确车次信息355.2.5搜索车次信息365.2.6订票信息查询395.2.7订票——用户信息405.2.8订票——订票信息425.2.9退票43结束语45参考文献45功能需求本网上订票系统应该具备如下功能:1.查询分为对车次信息的查询和客户对已订车票信息的查询。

数据库火车票销售系统

数据库火车票销售系统

长沙学院课程设计说明书题目火车票预定管理系统系(部) 数学与计算机科学系专业(班级)姓名学号指导教师起止日期2016.05.16—05.27课程设计任务书课程名称:数据库系统原理课程设计题目:火车票预订管理系统1、某铁路局火车票预订管理系统需要如下信息:车次信息:车次编号、出发地、目的地、出发时间、到站时间、火车类型、里程数,座位数等。

车票信息:座位号、价格、当前预售状态、座位类型等。

客户:姓名、联系电话、身份证号码等。

业务员:姓名、工号。

其业务规则描述如下:一个客户可以预订(退订)多张火车票,但一张火车票只能被一个客户预订(退订);一个业务员能销售多张车票,但一张车票只被一个业务员销售。

一辆列车包含多张车票,但一张车票只属于一辆列车。

2、系统功能的基本要求:按照一定条件查询、统计符合条件的火车、车票、客户信息等。

例如火车车次查询、时刻表查询、剩余座位数、同一路线可选火车信息、客户购买历史等,能够在车票售出时更新可用火车票数,模拟完成火车票订票、退订业务。

各阶段具体要求:1、需求分析阶段●定义数据项的含义和取值●定义目标系统的数据流2、概念结构设计阶段●画出实体模型E-R图3、逻辑结构设计阶段●将实体模型转化为关系模型●给出每个关系的主关键字和函数依赖集●分析你所设计的关系数据库模式是否属于3NF4、物理设计阶段●确定所有字段的名称、类型、宽度、小数位数及完整性约束●确定数据库及表的名称及其组成●确定索引文件和索引关键字5、数据库安全及维护设计阶段●设计一个适合的数据库安全策略(用户身份认证、访问权限、视图)●为了实现复杂的数据完整性约束,设计适当的触发器●设计一个适合的数据库备份策略6、实施阶段●要求所有操作必须在查询分析器中用SQL语句或系统存储过程完成。

●对于学有余力的同学,可以使用嵌入式SQL语句结合高级语言开发完成。

设计工作量:(1)软件设计:完成问题陈述中所提到的所有需求功能。

(2)论文:要求撰写不少于3000个文字的电子文档,详细说明各阶段具体要求。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

长沙学院课程设计说明书题目火车票预定管理系统系(部) 数学与计算机科学系专业(班级)学号指导教师起止日期2016.05.16—05.27课程设计任务书课程名称:数据库系统原理课程设计题目:火车票预订管理系统1、某铁路局火车票预订管理系统需要如下信息:车次信息:车次编号、出发地、目的地、出发时间、到站时间、火车类型、里程数,座位数等。

车票信息:座位号、价格、当前预售状态、座位类型等。

客户:、联系、等。

业务员:、工号。

其业务规则描述如下:一个客户可以预订(退订)多火车票,但一火车票只能被一个客户预订(退订);一个业务员能销售多车票,但一车票只被一个业务员销售。

一辆列车包含多车票,但一车票只属于一辆列车。

2、系统功能的基本要求:按照一定条件查询、统计符合条件的火车、车票、客户信息等。

例如火车车次查询、时刻表查询、剩余座位数、同一路线可选火车信息、客户购买历史等,能够在车票售出时更新可用火车票数,模拟完成火车票订票、退订业务。

各阶段具体要求:1、需求分析阶段●定义数据项的含义和取值●定义目标系统的数据流2、概念结构设计阶段●画出实体模型E-R图3、逻辑结构设计阶段●将实体模型转化为关系模型●给出每个关系的主关键字和函数依赖集●分析你所设计的关系数据库模式是否属于3NF4、物理设计阶段●确定所有字段的名称、类型、宽度、小数位数及完整性约束●确定数据库及表的名称及其组成●确定索引文件和索引关键字5、数据库安全及维护设计阶段●设计一个适合的数据库安全策略(用户身份认证、访问权限、视图)●为了实现复杂的数据完整性约束,设计适当的触发器●设计一个适合的数据库备份策略6、实施阶段●要求所有操作必须在查询分析器中用SQL语句或系统存储过程完成。

●对于学有余力的同学,可以使用嵌入式SQL语句结合高级语言开发完成。

设计工作量:(1)软件设计:完成问题述中所提到的所有需求功能。

(2)论文:要求撰写不少于3000个文字的电子文档,详细说明各阶段具体要求。

工作计划:安排两周时间进行课程设计,软件开发步骤如下,第一周完成1~4,第二周完成5~8,论文同步进行;1) 选定题目2) 需求分析3) 概念结构设计4) 逻辑结构设计5) 物理设计6) 数据库安全及维护设计7) 数据库上机实现8) 答辩注意事项⏹提交电子文档➢学院课程设计任务书(每学生1份)➢学院课程设计论文(每学生1份)➢学院课程设计鉴定表(每学生1份)指导教师签名:日期:教研室主任签名:日期:系主任签名:日期:学院课程设计鉴定表目录一、引言 (1)1.1编写目的 (1)1.2参考资料 (1)二、需求规约 (2)2.1业务描述 (2)2.1.1经济可行性 (2)2.1.2技术可行性 (2)2.1.3操作可行性 (2)2.1.4 业务流程图 (2)2.1.5系统框架 (4)2.2需求分析 (7)2.2.1功能需求 (7)2.2.2数据需求 (8)2.2.3性能需求 (8)三、数据库环境说明 (9)四、数据库的命名规则 (9)4.1数据库对象命名规则 (9)4.2数据项编码规则 (9)五、逻辑设计 (10)六、物理设计 (11)6.1表汇总 (11)6.2表的基本信息 (12)6.3视图的设计 (15)6.4存储过程、函数及触发器的设计 (16)七、安全性设计 (23)7.1防止用户直接操作数据库的方法 (23)7.2用户密码的加密方法 (24)7.3角色与权限 (24)八、数据库管理与维护说明 (24)一、引言1.1编写目的随着时代的发展,计算机软件和系统的成熟,火车票的正当管理成为一个影响铁路部门正常运营的因素之一,而建立火车票订票管理系统是一个很好的解决办法。

作为计算机应用的一部分,使用计算机对火车票信息进行管理,具有手工管理所无法比拟的优点,例如检索迅速、查找方便、可靠性高、存储量大、性好等,这些优点能够极大的提高火车票信息管理的效率,也正体现了火车票的科学化正规化管理现在随着社会的发展,数据量急剧增长,现在人们就借助计算机和数据库技术科学的保存大量的数据,以便能更好的利用这些数据资源。

本论文就是通过SQL的整体设计把数据库与应用程序相连接,做成一个火车票的订票管理系统,使得火车票管理员能够有效的管理车次信息、旅客信息、退票信息等。

同时用户可以通过查询到相关的火车票信息,选择是否适合自己,也可以在网上直接订票、退票,省时省力。

1.2参考资料二、需求规约2.1业务描述该阶段通过对系统目标的初步调研和分析,提出可行性方案并进行论证。

我们在这里主要从技术可行性、经济可行性和操作可行性三方面进行分析。

2.1.1经济可行性本系统其他应用软件、硬件系统也易于获得.因此,开发成本较低。

而引进使用本系统后,与传统方式相比,具有高效率、低成本、高质量的特点,可以节省不少人力、物力及财力。

所以,从经济的角度来看,该系统可行。

2.1.2技术可行性开发工具:VS2005数据库环境:SQL Server 2008系统环境:Microsoft Windows 2000或以上版本。

系统实现依靠相对熟悉的c语言和SQL Server2008数据库系统,其基本操作实质还是对数据库进行添加、删除、查找等操作。

2.1.3操作可行性系统采用菜单式,实现用户与数据库的交互,界面简洁友好,操作方便。

2.1.4 业务流程图经过可行性分析和初步需求调查,抽象出该系统业务流程图,结合该实例具体情况,给出旅客信息、订票信息和取票通知的具体需求。

图2.1 旅客购票流程图⑴调查用户需求①售票处需求●功能:旅客持个人证件去火车站购买火车票。

希望能通过旅客查到该旅客的列车车次并记录旅客基本信息。

●统计功能:◆按火车票统计买票人数◆按统计火车票数②旅客购票需求●交费功能:◆交费◆退费③取票需求●通知功能:◆通知旅客取票●统计功能:◆统计通过验证的人数◆统计可以取票的人◆统计未通过验证的人数●查询功能:◆购票旅客查询购票旅客购票旅客号购票旅客订单号④列车车次信息需求●查询功能:◆车次◆始发站◆终点站◆始发时间2.1.5系统框架在调查完了用户需求之后,就要开始分析用户需求。

在此,我们们采用自顶向下的结构化分析方法(SA方法)。

首先,定义全局概念结构的框架,如图2.2所示。

图2.2火车票预定系统总框架图各子系统需要进一步细化。

旅客信息系统为例进一步细化,如图2.3所示。

图2.3旅客信息系统细化以其中的查询旅客信息功能为例进一步细化,如图2.4所示。

图2.4查询旅客信息功能图2.5列车车次信息系统细化图2.6取票通知系统细化图2.7旅客信息系统能查询到的容图2.8火车票信息系统能查询到的容图2.9退票信息系统细化将所有子系统全部细化。

将所有用户需求分析完毕之后,就要开始构造数据字典了。

经分析之后,本系统要用到五个基本表:退票信息表,旅客信息表,列车车次信息表,取票通知信息系统,列车座位信息表。

数据结构定义如表2.1所示。

表2.1 数据结构定义2.2 需求分析需求分析是软件设计的一个重要的环节。

本阶段对订票系统的应用情况作全面调查,以确定系统目标,并对系统所需要的基础数据以及数据处理要求进行分析,从而确定用户的需求。

用户对系统的需求我们从以下几方面进行分析。

2.2.1功能需求本网上订票系统应该具备如下功能:1.查询分为对车次信息的查询和客户对已订车票信息的查询。

要求:1)对车次的查询,可以按照发车车次进行查询;2)车次信息包括:车号、出发地、目的地、发车日期、开出时刻、票价。

3)座位类型设定。

2.订票通过查询系统,客户根据自己的需求找到满意的车次,再输入个人信息后直接通过网上订票确定已预订选中的车票。

要求:订票记录应包括:会员名、车号、发车日期、订购日期、订购票数、总价。

3.退票可退票,通过查询系统,客户可以自己的名字找到自己的订票信息,通过退票模块退去已购车票。

2.2.2数据需求信息需求,即在系统中需要处理哪些数据。

根据对火车站网上订票系统的分析,本系统的信息需求如表2-1所示。

2.2.3性能需求为了保证系统能够长期、安全、稳定、可靠、高效的运行,本系统应该满足以下的性能需求。

1.准确性和及时性系统处理的准确性和及时性是系统的必要性能。

系统应能及时而且准确的根据用户权限及所输入的信息做出响应。

由于本系统的查询功能对于整个系统的功能和性能完成举足轻重。

作为系统的很多数据来源,而车票的数量和时间又影响用户的决策活动,其准确性和及时性很大程度上决定了系统的成败。

在系统开发过程中,必须采用一定的方法保证系统的准确性和及时性。

2.易用性本系统是直接面对用户的,而用户往往对计算机并不是非常熟悉。

这就要求系统能够提供良好的用户接口,易用的人机交互界面。

要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面,从而保证系统的易用性。

3.安全性网上订票系统中涉及到的数据是客运公司相当重要的信息,系统要保证用户的权限,对于车次等信息用户只享有查询服务,不得更改;系统还要提供方便的手段供系统维护人员进行数据备份、日常安全管理、以及系统意外崩溃时数据的恢复等工作。

同时系统还要保证对数据库进行及时更新,保证数据一致性。

三、数据库环境说明四、数据库的命名规则4.1 数据库对象命名规则4.2 数据项编码规则五、逻辑设计(1)关系模式:车次信息(车次编号、出发地、目的地、出发时间、到站时间、火车类型、里程数,座位数)车票信息(座位号、价格、当前预售状态、座位类型)客户(、联系、)业务员(、工号)(2)关系图:n1主键图5.1系统总体结构E-R图图5.2逻辑关系图六、物理设计6.1 表汇总6.2 表的基本信息业务员信息表6.3 视图的设计图6.3.1 车票信息视图图6.3.1 售票信息视图6.4存储过程、函数及触发器的设计触发器1:修正票价和票价对应的座位类型[insert_or_upadte_sal_2]USE[火车票]GO/****** Object: Trigger [dbo].[insert_or_upadte_sal_2] Script Date: 05/28/2016 06:22:30 ******/ SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOALTER trigger[dbo].[insert_or_upadte_sal_2]on[dbo].[Che_ticket]for insertasbeginDECLARE ti_seatNo VARCHAR(10),ti_seatPrice FLOAT(2),ti_seatType VARCHAR(10),t_novarchar(10)SELECT ti_seatNo=T_seat,ti_seatPrice=T_price,ti_seatType=T_type,t_no=C_ci FROM inserted IF(ti_seatNo LIKE'A%')UPDATE Che_ticket SET T_price=200IF(ti_seatNo LIKE'A%')UPDATE Che_ticket SET T_price='一等座'IF(ti_seatNo LIKE'B%')UPDATE Che_ticket SET T_price=100IF(ti_seatNo LIKE'B%')UPDATE Che_ticket SET T_price='二等座'IF(ti_seatNo LIKE'A%'AND t_no LIKE'G-%')UPDATE Che_ticket SET T_price=900 WHERE ti_seatNo=T_seat AND t_no=C_ci IF(ti_seatNo LIKE'B%'AND t_no LIKE'G-%')UPDATE Che_ticket SET T_price=600 WHERE ti_seatNo=T_seat AND t_no=C_ci IF(ti_seatNo LIKE'C%'AND t_no LIKE'G-%')UPDATE Che_ticket SET T_price=300 WHERE ti_seatNo=T_seat AND t_no=C_ci IF(ti_seatNo LIKE'A%'AND t_no LIKE'K-%')--K是普快UPDATE Che_ticket SET T_price=400 WHERE ti_seatNo=T_seat AND t_no=C_ci IF(ti_seatNo LIKE'B%'AND t_no LIKE'K-%')UPDATE Che_ticket SET T_price=200 WHERE ti_seatNo=T_seat AND t_no=C_ci IF(ti_seatNo LIKE'C%'AND t_no LIKE'K-%')UPDATE Che_ticket SET T_price=100 WHERE ti_seatNo=T_seat AND t_no=C_ci IF(ti_seatNo LIKE'A%'AND t_no LIKE'T-%')UPDATE Che_ticket SET T_price=600 WHERE ti_seatNo=T_seat AND t_no=C_ci IF(ti_seatNo LIKE'B%'AND t_no LIKE'T-%')UPDATE Che_ticket SET T_price=400 WHERE ti_seatNo=T_seat AND t_no=C_ci IF(ti_seatNo LIKE'C%'AND t_no LIKE'T-%')UPDATE Che_ticket SET T_price=200 WHERE ti_seatNo=T_seat AND t_no=C_ci IF(ti_seatNo LIKE'A%'AND t_no LIKE'D-%')UPDATE Che_ticket SET T_price=900 WHERE ti_seatNo=T_seat AND t_no=C_ci IF(ti_seatNo LIKE'B%'AND t_no LIKE'D-%')UPDATE Che_ticket SET T_price=600 WHERE ti_seatNo=T_seat AND t_no=C_ci IF(ti_seatNo LIKE'C%'AND t_no LIKE'D-%')UPDATE Che_ticket SET T_price=300 WHERE ti_seatNo=T_seat AND t_no=C_ciend图213215触发器2:火车类型和对应的座位数剩余[Insert_Or_Update_Sal_1]USE[火车票]GO/****** Object: Trigger [dbo].[Insert_Or_Update_Sal_1] Script Date: 05/28/2016 07:11:02 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOALTER TRIGGER[dbo].[Insert_Or_Update_Sal_1]ON[dbo].[Checi]FOR INSERTASDECLARE t_no VARCHAR(10),t_seatNumber INT,t_trainType VARCHAR(10)SELECT t_no=C_ci,t_seatNumber=C_seatNumber,t_trainType=C_type FROM inserted--第一部分IF(t_no LIKE'G-%')UPDATE Checi SET C_type='高铁',C_seatNumber=200WHERE t_no=C_ciIF(t_no LIKE'T-%')UPDATE Checi SET C_type='特快',C_seatNumber=200WHERE t_no=C_ciIF(t_no LIKE'D-%')UPDATE Checi SET C_type='动车',C_seatNumber=300WHERE t_no=C_ciIF(t_no LIKE'K-%')UPDATE Checi SET C_type='普快',C_seatNumber=400WHERE t_no=C_ci存储过程1:客户买票USE[火车票]GO/****** Object: StoredProcedure [dbo].[kh] Script Date: 05/28/2016 07:12:03 ******/ SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOALTER PROC[dbo].[kh]K_id VARCHAR(20),K_name VARCHAR(10),K_tel VARCHAR(10),C_ci VARCHAR(10),T_seat VARCHAR(10)ASIF C_ci IS NULLBEGINROLLBACK;RETURN;ENDIF T_seat IS NULLBEGINROLLBACK;RETURN;ENDIF K_id IS NULLBEGINROLLBACK;RETURN;ENDIF K_name IS NULLBEGINROLLBACK;RETURN;ENDIF K_tel IS NULLBEGINROLLBACK;RETURN;ENDELSEBEGINUPDATE Che_ticketSET T_sale='已售'WHERE C_ci=C_ci AND T_seat=T_seatUPDATE CheciSET C_seatNumber=C_seatNumber-1WHERE C_ci=C_ciINSERT INTO Kehu(K_id,K_name,K_tel,T_seat,C_ci) VALUES(K_id,K_name,K_tel,T_seat,C_ci)DELETE FROM YewuyuanWHERE C_ci=C_ci AND T_seat=T_seatPRINT'买票成功!'END图6.4.1存储过程买票的实现存储过程2:业务员退票USE[火车票]GO/****** Object: StoredProcedure [dbo].[ywy] Script Date: 05/28/2016 07:33:15 ******/ SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOALTER PROC[dbo].[ywy]y_id varchar(10),y_name varchar(10),C_ci varchar(10),T_seat varchar(10),Y_tel varchar(10)asif y_name is nullbeginrollback;return;endif c_ci is nullbeginrollback;return;endif y_id is nullbeginrollback;return;endif T_seat is nullbeginrollback;return;endelsebeginupdate Checiset T_sale='待售'where C_ci=C_ci and T_seat=T_seatupdate Checiset C_seatNumber=C_seatNumber+1where C_ci=C_ci and C_seatNumber<1000delete from Kehuwhere C_ci=C_ci and T_seat=T_seatinsert into Yewuyuan(Y_id,Y_name,Y_tel,T_seat,C_ci)values(Y_id,Y_name,Y_tel,T_seat,C_ci)print'退票成功'end图6.4.1存储过程退票的实现存储过程:查票信息USE[火车票]GO/****** Object: StoredProcedure [dbo].[piao] Script Date: 05/27/2016 08:47:29 ******/ SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOALTER PROC[dbo].[piao]C_goTime datetime,C_chufaadd VARCHAR(10),C_fanhuiadd VARCHAR(10),C_type VARCHAR(10),T_type VARCHAR(10)ASIF C_goTime IS NULLBEGINROLLBACK;RETURN;ENDIF C_chufaadd IS NULLBEGINROLLBACK;RETURN;ENDIF C_fanhuiadd IS NULLBEGINROLLBACK;RETURN;ENDIF C_type IS NULLBEGINROLLBACK;RETURN;ENDIF T_type IS NULLBEGINROLLBACK;RETURN;ENDELSEBEGIN--查找规定时间,车次类别,座位类别,处于待售,出发地,目的地,的票.SELECT*FROM Che_ticket AS OINNER JOIN Checi AS S ON O.C_ci=S.C_ciWHERE (C_goTime BETWEEN S.C_goTime AND S.C_return)AND S.C_type=C_type AND O.T_type=T_typeAND S.C_chufaadd=C_chufaadd AND S.C_fanhuiadd=C_fanhuiadd ANDO.T_sale='待售'END图6.4.1存储过程查票的实现七、安全性设计7.1 防止用户直接操作数据库的方法(1)用户标识和鉴定用户标识和鉴别是系统提供的最外层安全保护措施。

相关文档
最新文档