12306数据库系统设计报告
数据库系统设计
题目: 12306网上车票订票系统
院 (系) 计算机与信息工程学院 专 业 信息工程 小组成员 唐玺孜
2014年7月
12306网上车票订票系统
一、 需求分析与设计目标
根据市场调研分析用户的需求, 根据实际需求设计订票系统的功能, 实现网上订票的方便性、快捷性、完善性, 并划分系统的逻辑功能模块。火车票的购买途径主要有车站购买、代售点出售等形式, 购买的地方以及时间受到限制, 无法给乘客带来便利。列车时刻表十分复杂, 即便是买上一本列车时刻表, 也不方便查询自己的乘车路线, 而且由于列车时刻的变动性, 所以够买不是很方便, 因此系统要满足以下需求:
● 乘客输入车次或出行的出发站或终点站, 可查询车次信息, 从而选择自己的 乘车区间以及车次;
● 通过简单查询和复杂查询来查看服务相关信息, 管理员可以对用户角色设置
以及角色的添加与修改;
● 信息的添加、管理、删除、修改; ● 对用户订票信息的办理。
网络车票订购系统实现的最终目标是让客户能轻松的, 高效的购得一张自己 满意的车票, 车票的信息包括出发/到达时间、票额、座位、出发地/目的地等。 因此, 在实现网上交易的过程中要涉及到网站(用户订票的渠道), 票点(车票的打 印和处理) 等子系统。本设计要实现以下设计目标:
◆ 实现会员购票制, 即所有通过本订票系统订票的旅客都必须首先注册为会员,
以便于系统管理;
◆ 提供会员注册、登录、修改注册信息等功能;
◆ 建立车次信息查询模块, 可以通过指定车次号码, 或发站到站查询需求的车 次的详细信息;
◆ 建立完善的订票流程, 订票流程是订票系统的关键部分, 本系统通过需求分 析建立一套独特的订票流程, 其方便性、快捷性、完善性使得本售票流程区别于 其他订票流程;
◆ 选择出发日期与车次, 当日期与车次信息确定时, 相关信息可自动呈现给客
户以供选择, 避免不实信息对客户的影响, 并输入订购票券的张数; 生成取票号码, 系统为每一张订单生成一个唯一的交易代码, 用户通过交易代码到联网票点取票;
◆ 建立订单查询模块, 每个订票会员客户能够通过订单查询来察看自己的订票
历史;
◆ 交易尚未结束(未取票) 的订票记录可以采取网上退订等功能, 取得实物车票 的客户可以持己购票券车站退换。
本系统分为面对客户, 面对管理员两个子系统, 面对客户子系统主要是在Internet 上接受来自客户访问, 进行车票查询与订购的前台销售系统; 面对管理员子系统则是在Internet 内部用于网站的管理员管理客户订票信息, 车票信息的后台管理系统。
二、 数据字典
2.1数据结构
表2.1 数据结构定义
2.2数据流
表2.2 数据流定义
三、 ER图
图3.1 系统总ER 图
四、 查询与视图
4.1 订单视图
图4.1 订单原始图
图4.2设计订单视图
4.2查询某辆列车途径车站
图4.3查询某辆列车途径车站视图
4.3查询某辆列车未支付的用户信息
图4.4查询某辆列车未支付的用户信息
4.4查询一辆车的已订的人数
图4.5查询一辆车的已订的人数
4.5根据车次查询车票
图4.6根据车次查询车票
4.6根据出发站终点站乘车时间查询剩余票数
图4.7出发站终点站乘车时间查询剩余票数
五、总结
本次课程设计从最开始的可行性分析,到系统ER 图的设计,以及查询、视图等的设计,到最后整个系统的综合,遇到了很多的困难。例如,12306网站的设计难点在于其内部逻辑关系,这使得我们在前期条理不是很清楚,设计ER 图时总是不能达到理想的效果。但经过不懈努力,大部分难题已迎刃而解。当然,由于时间关系,本系统还并未做到完美,12306网站有些特定的功能(例如加车,改签等)无法实现,而要考虑12306庞大的数据量也是十分棘手的一件事情,希望在未来能够将其更好地完善。
通过这次课程设计,我们学会了如何对所学课程综合运用,对SqlServer2008的掌握有了很大提升,对数据库的使用也有了更进一步了解。总体来说,课程设计让我们学到了不少知识,同时也使我们明白了将理论与实践相结合的重要性。我认为课程设计是我们学习生涯中相当重要的一课, 除了验证学生的学习成果外, 也培养了大家思考及解决问题的能力。毫无疑问,在此次课程设计中,大家的能力都有显著提升。
六、参考文献
[1] 王珊, 萨师煊. 《数据库系统概论(第4版) 》. 北京:高教出版社,2006年5月.
[2] 赵韶平等. 《PowerDesigner 系统分析与建模(第2版)》. 北京:清华大学出
版社,2010.
[3] 《Data Modeling and Relational Database Design》. Oracle Inc. 2001. [4] 幕静,檀百红, 任立肖. 《管理信息系统开发方法、工具与应用》. 清华大学出版社,2010.09. [5] 孟宪虎,马雪英,邓绪斌. 《大型数据库管理系统技术应用与实例分析—SQL Server 2005(第2版) 》 .电子工业出版社,2009.
[6] 王涛,唐植华. 《Visual Basic 2000+SQL Server 2000》. 清华大学出版社,2002年6月
[7]陈志泊 .《数据库原理及应用教程》 人民邮电出版社 2009年12月
七、附录
7.1 12306表格设计 7.2 12306系统ER 图
7.3 12306createdatabase.sql 7.4 12306table.sql 7.5 12306data.sql 7.6 Orders 定义视图.sql 7.7 Tickets 定义视图.sql 7.8 查询某辆列车途径车站.sql
7.9 查询某辆列车未支付的用户信息-Management.sql 7.10 定义查询一辆车的已订的人数-Management.sql 7.11 根据车次查询车票.sql
7.12 根据出发站终点站乘车时间查询剩余票数.sql