火车订票管理信息数据库设计
- 格式:doc
- 大小:350.50 KB
- 文档页数:31
目录一、课题背景及意义 (1)1.1概述....................................................................................11.2意义....................................................................................11.3数据库优势 (1)1.4开发环境 (2)二、需求分析 (3)2。
1业务需求分析........................................................................32。
2功能需求 (3)2.3数据需求 (4)2.4性能需求 (5)三、系统总体设计 (6)3.1系统组成 (6)3.2数据库设计 (7)3.2.1概念结构设计 (7)3。
2.2逻辑结构设计 (8)3.3 物理结构设计……………………………………………………………93。
3。
1 确定数据库的存储结构……………………………………………103.3.2 调试分析 (10)3。
4数据库模式定义 (20)四、系统详细设计及实现…………………………………………………………214。
1模块简述 (21)4。
2模块设计…………………………………………………………………21五、结束语 (32)六、参考文献 (34)一、课题背景及意义1.1概述信息时代已经来临,信息处理的利器—-计算机应用于火车站售票的日常管理为火车站售票的现代化带来了从未有过的动力和机遇,为火车站票务管理领域的飞速发展提供了无限潜力。
采用计算机管理信息系统已成为火车站票务管理科学化和现代化的重要标志,给火车站票务带来了明显的经济效益和社会效益。
采用数据技术建立的管理系统不仅能提高出售/预定车票的效率,还能减少错误发生的概率,方便用户的查询订购车票.降低工作人员的工作量,避免购票人员在车站无效的等票,可以调高购买者买到票的机率,这样的作用在春运期间最为显著,因为在春运的时候车站里许多人是在无效的等票,不仅造成车站里人员管理的困难,还使本可以买到票的人无辜浪费时间在侯票上。
目录1 绪论 (1)1.1系统简介 (1)1.2设计目的 (1)1.3设计内容 (2)2 需求分析 (2)2.1.需求分析的任务 (2)2.2系统数据流程分析 (3)2.3数据字典 (4)3 概念模型设计 (8)3.1概念模型设计的方法和步骤 (8)3.2系统概念模型 (16)4 逻辑模型设计 (17)4.1逻辑模型设计的方法 (17)4.2逻辑模型实现 (18)4.3数据完整性约束定义 (19)5 物理数据库模型设计与实现 (22)5.1物理数据库模型的图示 (22)5.2物理数据库模型的详细表示 (24)5.3物理数据库模型的实现 (27)总结 (35)参考文献 (36)1 绪论1.1系统简介1.2设计目的本火车票网上购票系统考虑到火车站的管理和规范问题以及火车票的管理问题,是一个困扰我们多年的问题,也是政府管理中的一个难点。
虽然订票是客运业务中的一个最基本的业务,表面上看,它只是火车站业务的一个简单的部分,但是它涉及到管理与客户服务等多方面,因此,过去传统的售票方式已经不能满足现代客运业务流量剧增的客观要求,这就要求一种全新的订票方式——网上订票,来缓解订票高峰时期的客运压力,并为用户提供方便快捷的订票服务。
本次设计便是利用开发工具PowerDesigner,以及结构化的系统设计方法开发的一个火车站网上订票系统,它能方便快捷地运用在火车站订票业务的营运之中。
然而设计网上购票系统,数据库设计显得尤为重要。
但是在原有的以人工方式进行票务数据管理存在着较多的缺点,如:效率底,保密性差,冗余度大,不便于查找,更新,维护等。
诸如这些情况,给各相关部门工作人员带来了很大困难,严重影响了他们的工作效率。
运用计算机技术和数据库技术来实现票务信息的现代化管理,具有手工管理所无法比拟的优点,如:检索迅速,查找方便,可靠性高,存储量大,保密性好,寿命长,成本底等。
这些优点能够极大地提高信息管理和业务管理的效率。
目录一.概述 (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.售票管理:系统需要记录每个售票员的售票情况,包括售票时间、车次号、座位号、乘客姓名、乘客身份证号等。
售票员可以根据乘客的需求进行售票操作。
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表中的用户名和密码信息进行验证。
火车票数据库设计sql -回复火车票数据库设计是指为了方便管理和查询火车票信息而创建的数据库结构。
通过建立适当的数据表、索引、触发器和约束,可以实现对火车票数据的增删改查操作,并提供高效的数据检索和统计功能。
本文将一步一步针对火车票数据库设计进行详细讲解,包括数据库设计原则、数据表设计、索引设计、触发器设计和约束设计等方面。
二、数据库设计原则1. 数据范式化:遵循范式化设计原则,将数据分解为具有一定独立性的关系模式,消除重复数据,提高数据的一致性和可维护性。
2. 合理划分数据表:根据业务需求和数据关联性进行数据表的划分,保证每个数据表具有清晰的含义和明确的功能。
3. 设计合适的索引:根据数据表的查询需求,设计合适的索引以提高查询效率。
4. 使用触发器和存储过程:通过触发器和存储过程实现一些复杂的业务逻辑和数据完整性的约束。
5. 合理选择字段类型和长度:根据实际需求选择合适的字段类型和长度,避免过度浪费存储空间。
三、数据表设计根据火车票的相关信息,可以将数据库划分为以下几个数据表:1. 火车站表(station):存储火车站基本信息,包括站点名称、站点编号和所在城市等字段。
2. 火车表(train):存储火车信息,包括列车编号、列车类型、列车始发站和列车终点站等字段。
3. 乘客表(passenger):存储乘客基本信息,包括乘客姓名、乘客证件类型、乘客证件号码等字段。
4. 票务表(ticket):存储火车票基本信息,包括车票编号、乘客编号、列车编号、出发站、到达站、出发时间、到达时间和车票价格等字段。
四、索引设计为了提高查询效率,可以在数据表的关键字段上创建索引。
对于上述数据表,可以在下列字段上创建索引:1. 火车站表(station):根据站点名称和城市字段创建索引。
2. 火车表(train):根据列车编号和列车始发站字段创建索引。
3. 乘客表(passenger):根据乘客证件类型和乘客证件号码字段创建索引。
订票数据库课程设计一、课程目标知识目标:1. 学生能理解数据库的基本概念,掌握订票系统数据库的结构和功能。
2. 学生能学会使用数据库查询语言进行数据检索,实现基本的查询操作。
3. 学生能掌握数据库设计原则,独立设计并完善订票数据库。
技能目标:1. 学生能运用数据库软件进行数据录入、修改、删除和查询等操作。
2. 学生能通过实际操作,解决订票系统中的实际问题,提高数据处理能力。
3. 学生能通过小组合作,提高沟通与协作能力,共同完成订票数据库的设计。
情感态度价值观目标:1. 学生能培养对数据库技术的兴趣,提高信息素养,认识到数据库在生活中的应用。
2. 学生能在学习过程中,培养解决问题的耐心和毅力,树立自信心。
3. 学生能通过课程学习,认识到数据安全与隐私保护的重要性,遵循道德规范使用数据库。
本课程针对高年级学生,结合教材内容,注重理论与实践相结合。
课程性质为实践性、探究性,旨在培养学生的动手能力、创新能力和合作精神。
教学要求强调学生的主体地位,鼓励学生主动参与、积极思考,实现个性化学习。
通过本课程的学习,学生将能够掌握数据库知识,提高实际操作技能,培养良好的情感态度价值观。
二、教学内容本章节教学内容主要包括以下三个方面:1. 数据库基础知识:- 订票系统数据库的组成与结构- 数据模型与关系型数据库- 数据库设计原则与方法教学内容与教材第四章“数据库设计基础”相关联。
2. 数据库操作技能:- 数据库软件的使用(以教材推荐软件为例)- 数据录入、修改、删除和查询操作- SQL语言基础及其应用教学内容与教材第五章“数据库操作”相关联。
3. 订票数据库实践:- 订票系统需求分析- 数据库表设计及关系建立- 数据库查询与维护教学内容与教材第六章“数据库应用实例”相关联。
教学大纲安排如下:第一周:数据库基础知识学习与实践第二周:数据库操作技能学习与实践第三周:订票数据库设计与实践教学内容注重科学性和系统性,结合教材章节,循序渐进地组织教学。
课内实验报告课程名:数据库系统概论任课教师:徐润森专业:信息工程学号:000000000姓名:woon11二○一一至二○一二年度第 1 学期南京邮电大学经济与管理学院《数据库原理与应用》课程实验第 1 次实验报告实验内容及基本要求:实验项目名称:SQL语言的使用实验类型:验证每组人数: 1实验内容及要求:在数据库环境SQL SERVER或ORACLE中了解SQL的概念、语法和使用方法,熟练使用SQL进行建立数据库、表、索引、视图,及进行查询和更新等操作。
实验结果:P75 3.用SQL语句建立第二章习题5中的4个表。
习题5,设有一个SPJ数据库,包括S、P、J、SPJ4个关系模式分别建立4个表1、S(SNO,SNAME,STA TUS,CITY);2、P(PNO,PNAME,COLOR,WEIGHT);3、J(JNO,JNAME,CITY);4、SPJ(SNO,PNO,JNO,QTY);CREATE TABLE S 在Oraclette中运行(SNO CHAR(3) PRIMARY KEY,SNAME CHAR(10),STATUS CHAR(2),CITY CHAR(10)); //创建表SCREATE TABLE P(PNO CHAR(3) PRIMARY KEY,PNAME CHAR(10),COLOR CHAR(4),WEIGHT SMALLINT); //创建表PCREATE TABLE J(JNO CHAR(3) PRIMARY KEY,JNAME CHAR(10),CITY CHAR(10)); //创建表JCREATE TABLE SPJ(SNO CHAR(3),PNO CHAR(3),JNO CHAR(3), //创建表SPJQTY INT,PRIMARY KEY(SNO,PNO,JNO),FOREIGN KEY(SNO) REFERENCES S(SNO),FOREIGN KEY(PNO) REFERENCES P(PNO),FOREIGN KEY(JNO) REFERENCES J(JNO));4.针对上题中建立的4个表,试用SQL完成第二章习题5的查询对于表SINSERTINTO S(SNO,SNAME,STATUS,CITY)V ALUES('S1','精益','20','天津');INSERTINTO S(SNO,SNAME,STATUS,CITY)V ALUES('S2','盛锡','10','北京');INSERTINTO S(SNO,SNAME,STATUS,CITY)V ALUES('S3','东方红','30','北京');INSERTINTO S(SNO,SNAME,STATUS,CITY)V ALUES('S4','丰泰盛','20','天津');INSERTINTO S(SNO,SNAME,STATUS,CITY)V ALUES('S5','为民','30','上海');对于表PINSERTINTO P(PNO,PNAME,COLOR,WEIGHT)V ALUES('P1','螺母','红','12');INSERTINTO P(PNO,PNAME,COLOR,WEIGHT)V ALUES('P2','螺栓','绿','17');INSERTINTO P(PNO,PNAME,COLOR,WEIGHT)V ALUES('P3','螺丝刀','蓝','14');INSERTINTO P(PNO,PNAME,COLOR,WEIGHT)V ALUES('P4','螺丝刀','红','14');INSERTINTO P(PNO,PNAME,COLOR,WEIGHT)V ALUES('P5','凸轮','蓝','40');INSERTINTO P(PNO,PNAME,COLOR,WEIGHT)V ALUES('P6','齿轮','红','30');对于表JINSERTINTO J(JNO,JNAME,CITY)V ALUES('J1','三建','北京'); INSERTINTO J(JNO,JNAME,CITY)V ALUES('J2','一汽','长春'); INSERTINTO J(JNO,JNAME,CITY)V ALUES('J3','弹簧厂','天津'); INSERTINTO J(JNO,JNAME,CITY)V ALUES('J4','造船厂','天津'); INSERTINTO J(JNO,JNAME,CITY)V ALUES('J5','机车厂','唐山'); INSERTINTO J(JNO,JNAME,CITY)V ALUES('J6','无线电厂','常州'); INSERTINTO J(JNO,JNAME,CITY)V ALUES('J7','半导体厂','南京'); 对于表SPJINSERTINTO SPJ(SNO,PNO,JNO,QTY) V ALUES('S1','P1','J1','200'); INSERTINTO SPJ(SNO,PNO,JNO,QTY) V ALUES('S1','P1','J3','100'); INSERTINTO SPJ(SNO,PNO,JNO,QTY) V ALUES('S1','P1','J4','700'); INSERTINTO SPJ(SNO,PNO,JNO,QTY) V ALUES('S1','P2','J2','100'); INSERTINTO SPJ(SNO,PNO,JNO,QTY) V ALUES('S2','P3','J1','400'); INSERTINTO SPJ(SNO,PNO,JNO,QTY) V ALUES('S2','P3','J2','200'); INSERTINTO SPJ(SNO,PNO,JNO,QTY) V ALUES('S2','P3','J4','500'); INSERTINTO SPJ(SNO,PNO,JNO,QTY) V ALUES('S2','P3','J5','400');INSERTINTO SPJ(SNO,PNO,JNO,QTY) V ALUES('S2','P5','J1','400'); INSERTINTO SPJ(SNO,PNO,JNO,QTY) V ALUES('S2','P5','J2','100'); INSERTINTO SPJ(SNO,PNO,JNO,QTY) V ALUES('S3','P1','J1','200'); INSERTINTO SPJ(SNO,PNO,JNO,QTY) V ALUES('S3','P3','J1','200'); INSERTINTO SPJ(SNO,PNO,JNO,QTY) V ALUES('S4','P5','J1','100'); INSERTINTO SPJ(SNO,PNO,JNO,QTY) V ALUES('S4','P6','J3','300'); INSERTINTO SPJ(SNO,PNO,JNO,QTY) V ALUES('S4','P6','J4','200'); INSERTINTO SPJ(SNO,PNO,JNO,QTY) V ALUES('S5','P2','J4','100'); INSERTINTO SPJ(SNO,PNO,JNO,QTY) V ALUES('S5','P3','J1','200'); INSERTINTO SPJ(SNO,PNO,JNO,QTY) V ALUES('S5','P6','J2','200'); INSERTINTO SPJ(SNO,PNO,JNO,QTY) V ALUES('S5','P6','J4','500');3.求供应工程J1零件为红色的供应商号码SNOSELECT SNO FROM SPJWHERE JNO='J1' AND PNO IN (SELECT PNOP75,1求供应工程J1零件的供应商号码SNOSELECT SNO FROM SPJWHERE JNO='J1';2.求供应工程J1零件P1的供应商号码SNOSELECT SNO FROM SPJWHERE JNO='J1' AND PNO='P1';FROM PWHERE COLOR='红');4.求没有使用天津供应商生产的红色零件的工程号JNOSELECT JNOFROM JWHERE NOT EXISTS(SELECT *FROM SPJWHERE SPJ.JNO=J.JNOAND SNO IN(SELECT SNOFROM SWHERE CITY='天津')AND PNO IN(SELECT PNOFROM PWHERE COLOR='红'));5.求至少用了供应商S1所供应的全部零件的工程号JNOSELECT DISTINCT JNOFROM SPJ SPJ1WHERE NOT EXISTS(SELECT *FROM SPJ SPJ2WHERE SNO='S1'AND NOT EXISTS(SELECT *FROM SPJ SPJ3WHERE SPJ3.PNO=SPJ2.PNOAND SPJ3.JNO=SPJ1.JNO));p127.针对习题3中的四个表试用SQL完成以下各项操作(1)找出所有供应商的姓名和所在城市SELECT SNAME,CITYFROM S;(2)找出所有零件的名称、颜色、重量。
课程设计说明书(数据库技术及实训)题目: 火车票售票管理系统院系:计算机科学与工程学院专业班级:班学号:学生姓名:指导教师: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的火车票订票管理信息系统,可以实现票额、坐席、制票、计费、结算、统计等工作的计算机管理。
目录一、课题背景及意义 (1)1.1概述 (1)1.2意义 (1)1.3数据库优势 (1)1.4开发环境 (2)二、需求分析 (3)2.1业务需求分析 (3)2.2功能需求 (3)2.3数据需求 (4)2.4性能需求 (5)三、系统总体设计 (6)3.1系统组成 (6)3.2数据库设计 (7)3.2.1概念结构设计 (7)3.2.2逻辑结构设计 (8)3.3 物理结构设计 (9)3.3.1 确定数据库的存储结构 (10)3.3.2 调试分析 (10)3.4数据库模式定义 (20)四、系统详细设计及实现 (21)4.1模块简述 (21)4.2模块设计 (21)五、结束语 (32)六、参考文献 (34)一、课题背景及意义1.1概述信息时代已经来临,信息处理的利器——计算机应用于火车站售票的日常管理为火车站售票的现代化带来了从未有过的动力和机遇,为火车站票务管理领域的飞速发展提供了无限潜力。
采用计算机管理信息系统已成为火车站票务管理科学化和现代化的重要标志,给火车站票务带来了明显的经济效益和社会效益。
采用数据技术建立的管理系统不仅能提高出售/预定车票的效率,还能减少错误发生的概率,方便用户的查询订购车票。
降低工作人员的工作量,避免购票人员在车站无效的等票,可以调高购买者买到票的机率,这样的作用在春运期间最为显著,因为在春运的时候车站里许多人是在无效的等票,不仅造成车站里人员管理的困难,还使本可以买到票的人无辜浪费时间在侯票上。
目前火车票的订购仅仅依靠手工操作,已现有的工作人员很难应付车票订购高峰时刻的大量数据处理问题,同时还会出现由此带来的旅客查询问题,导致火车误点情况。
本次设计拟开发一个火车票订购系统,可以降低人工操作,提高工作效率,同时方便乘客查询订票。
1.2 意义火车票订购一直是困扰我们的一个老问题,也是社会服务的一个难点,订票的查询以及车票信息的查询时期一个最基本的业务,从便面上看,这只是一个最简单的部分,但是它涉及到管理以及客户服务的多个方面,因此设计了本火车票订购系统来实现票务的查询。
1.3数据库优势数据库管理的特点很多,它比传统的数据管理拥有很多优点。
以下就是数据库的优势。
一、数据结构化。
所谓“整体”结构化是指在数据库中的数据不再仅仅针对某一个应用,而是面向全组织的;不仅数据内部是结构化的,而且整体也是结构化的,数据之间是有联系的。
二、数据的共享性高,冗余度低,易扩充。
数据共享可以减少数据的冗余,节约存储空间。
数据共享还能够避免数据之间的不相容性和不一致性。
三、数据独立性高。
包括物理独立性和数据的逻辑独立性。
物理的独立性是指用户的应用程序与存储在磁盘上的数据库中的数据是相互独立的。
逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的。
四、数据是由统一管理和控制的。
包含(1)数据的安全性保护(2)数据的完整性检查(3)并发控制(4)数据库恢复1.4开发环境工具软件利用2007和2000数据库来开发这个火车票订购系统二、需求分析在构造系统时,首先从需求出发构造数据库表,然后再由数据库表结合需求划分系统功能模块。
这样,就把一个大的系统分解成了几个小系统,使整个系统的功能更加详细易于理解,同时易于实现系统的整体设计。
本系统分为二个功能,分别是用户管理和车次/车票管理,其所能实现的功能:1、实现用户登录、用户添加。
2、实现对车次的删除和车次基本信息的添加。
3、实现售票的基本管理。
4、实现对车次基本信息的查询。
2.1业务需求分析从实际角度出发,对于用户要提供方便快捷的车票查询和订票服务,对于车站工作人员,则是要能够方便明朗的对车次信息进行增删修改操作和车票的订售操作,提高车次的编组效率,是车次资源得到充分利用,并可以提高车票的出售效率降低工作人员的工作量。
2.2功能需求在数据操作界面需要有用户登录窗口和车次信息操作窗口,这需要有实现用户登录的功能和车次查询、添加、车票出售的功能。
这是火车订票系统的基本功能,只有实现了这几个功能一个火车订票系统才能开始运作,在本系统中实现了用户的登录添加和车票的基本信息操作。
功能列表2.3数据需求系统处理的对象有:用户信息:用户名、用户密码、用户权限。
车次信息:车次号、票价、起始站、目的站、开车时间、到站时间、实时座位数。
系统处理如图:2.1系统底层数据流图2.3数据字典2.4性能需求为了保证系统能够长期、安全、稳定、可靠、高效的运行,本系统应该满足以下的性能需求。
1.准确性和及时性系统处理的准确性和及时性是系统的必要性能。
系统应能及时而且准确的根据用户权限及所输入的信息做出响应。
由于本系统的查询功能对于整个系统的功能和性能完成举足轻重。
作为系统的很多数据来源,而车票的数量和时间又影响用户的决策活动,其准确性和及时性很大程度上决定了系统的成败。
在系统开发过程中,必须采用一定的方法保证系统的准确性和及时性。
2.安全性网上订票系统中涉及到的数据是客运公司相当重要的信息,系统要保证用户的权限,对于车次等信息用户只享有查询服务,不得更改;系统还要提供方便的手段供系统维护人员进行数据备份、日常安全管理、以及系统意外崩溃时数据的恢复等工作。
同时系统还要保证对数据库进行及时更新,保证数据一致。
三、系统总体设计3.1系统组成系统开发的总体目标是实现火车票订/售票管理的系统化和自动化,保证车票售出和车次信息管理的正确无误,确保车票和车次管理的有效。
在本系统中分为两个子系统,分别是用户子系统和车次信息子系统,主要任务是对用户信息、车次信息、车票信息等操作及外理。
本系统为结构、运行平台为微软6.0以上版本。
以及 2000以上版本。
下图3.1为系统功能结构图:3.1功能模块图3.2数据库设计3.2.1概念结构设计概念设计阶段主要是将需求分析阶段得到的用户需求抽象为信息结构(概念模型)的过程。
根据之前的分析,数据库应该主要的实体有用户和车票信息。
经过分析得到的实体关系图、图如下:火车票订购图3.2.2逻辑结构设计逻辑结构的任务就是把概念结构设计阶段设计好的基本图转化为与选用产品所支持的数据模型有相符合的逻辑结构。
将上图的图转化为以下的关系模型。
关系的码用横线标出。
用户(身份证号、用户名、性别、电话)订票信息(订单号、身份证号、车号、发车时间、订购日期、订购票数)车次(车号、发车日期、出发地、目的地、开出时刻、到达时刻、剩余票数、票价、座位类型)以上是实体以及其属性。
查询(身份证号、车号、发车日期、查询方式)订票(订单号、订票方式)退票(订单号、退票方式)以上是联系及其属性。
火车站网上订票系统数据库中各个表格的设计结果如表 2.1——表 2.6所示。
每个表格表示在数据库中的一个表。
表2-6查询表3.3物理结构设计数据库在物理设备上的存储结构与存取方法称为数据库的物理结构,它依赖于选定的数据库系统。
对于数据库查询事务,需要得到如下信息:●查询的关系。
通过连接查询可以将车次和用户之间互联;通过订票和退票可以将用户和订票信息互联,从而将每个表联系在一起,构成一个相关联的数据库。
●查询条件所涉及到的属性。
查询涉及到的属性是(身份证号、车号、发车日期);订票涉及到的属性是(订票号);退票所涉及到的属性(订票号)。
●连接条件所涉及到的属性(身份证号、订单号、车号-发车日期、订单号)。
对于数据更新,需要得到如下信息:●被更新的关系。
●每个关系上的更新操作条件所涉及的属性。
●修改操作要改变的属性值。
需要注意的是,数据库上运行的事务会不断的变化、增加或减少,以后需要根据上述设计信息的变化调整数据库的物理结构。
3.3.1 确定数据库的存储结构1、确定数据的存放位置存放于C盘,并且分配2M的空间,而且文件的存储空间可以随着数据库的增大而增大,即文件增长不受限制。
文件的增长按百分比进行,增长百分比为10%。
2、确定系统配置数据库可以公共访问,可以打开任意个数据库对象,内存分配高于2M的内存空间。
3.3.2调试分析在原有系统的数据有一小部分已经输入到了数据库后,就可以开始对数据库系统进行联合调试,这又成为数据库的试运行。
运行前先要对数据库进行备份,如下:再进行简单的数据库操作,如:建立基本表语句为:订票信息(订单号 (10) ,身份证号 (20),车号 (10),发车日期 ,订购日期 ,订购票数 ,总价 ,(身份证号) 用户(身份证号),(车号) 车次(车号),(发车日期) 车次(发车日期));运行结构截图:其余的建表类似,在此不一一列举。
修改基本表①向用户表增加“地址”列,数据类型为字符串型语句为:用户地址 (20);运行结构截图:②将用户表中的电话的数据类型改为变长字符串型语句为:用户电话 (20);运行结果截图:数据查询①查询身份证号为3773462的个人信息,语句为:*用户身份证号=3773462;②查询全体用户的身份证号,语句为:用户名,身份证号用户;运行结果截图:③查询车票价格低于100元的车次:语句为:车号车次票价<100;运行结果截图为:④查询王姓客户的信息语句为: *用户用户名 '张%';运行结果截图:⑤按总票价的升序将订单号排列语句为:订单号,总价订票信息总价 ;运行结果截图:⑥查询从北京出发的所有车次的总票价语句为:(票价)车次出发地='北京';运行结果截图:⑦求乘坐车号大于一次的车号语句为:车号订票信息车号(*)>=2;运行结果截图:⑧连接查询:查询身份证号为216972************乘客的车次信息语句为:车次.*用户,车次,查询用户.身份证号=查询.身份证号车次.车号=查询.车号车次.发车日期=查询.发车日期用户.身份证号='216972************';⑨嵌套查询:查询与李明同乘一列火车的旅客的身份证号语句:身份证号订票信息车号( 车号订票信息,用户订票信息.身份证号=用户.身份证号用户名='李明');数据更新①插入数据向车次表添加一组数据:“T26”、“2010-12-15”、“青岛”、“北京”、“22:10”、“次日06:54”、“硬座”、42、118,语句为:车次('T26',2010-12-15,'青岛','北京','22:10','次日06:54',42,118,'硬座');运行结构截图:‘②修改数据由于雪天路滑将发车日期为2010-12-13车次为T25的到达时可改为次日09:20 语句为:车次到达时刻='次日09:20'车号='T25'发车日期='2010-12-13';③删除数据乘客348742************由于个人原因不能乘坐当日车次,他选择退票,请为其删除信息记录。