铁路客车售票系统数据库设计.docx

上传人:小飞机 文档编号:2094847 上传时间:2023-01-09 格式:DOCX 页数:24 大小:260.65KB
返回 下载 相关 举报
铁路客车售票系统数据库设计.docx_第1页
第1页 / 共24页
铁路客车售票系统数据库设计.docx_第2页
第2页 / 共24页
铁路客车售票系统数据库设计.docx_第3页
第3页 / 共24页
铁路客车售票系统数据库设计.docx_第4页
第4页 / 共24页
铁路客车售票系统数据库设计.docx_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《铁路客车售票系统数据库设计.docx》由会员分享,可在线阅读,更多相关《铁路客车售票系统数据库设计.docx(24页珍藏版)》请在三一办公上搜索。

1、数据库原理与应用课程设计 铁路客车售票系统数据库设计2010年12月目录1.概述11.1.项目背景11.2.系统说明12.需求分析12.1.需求分析12.2.查询功能需求12.3.售票功能需求22.4.退票功能需求22.5.订票功能需求22.6.用户管理功能需求22.7.注册功能需求22.8.数据需求32.8.1.数据录入和处理的准确性32.8.2.数据的一致性和完整性32.8.3.数据的共享与独立性32.9.事物需求32.10.数据字典32.10.1.users表(用户表)32.10.2.ticketsinf表(车次详细信息表)42.10.3.putongliechejiage表(普通列车价

2、格表)42.10.4.putongliechewopujiage表(普通列车卧铺价格表)42.10.5.kongtiaoliechejiage表(空调列车价格表)52.10.6.kongtiaoliechewopujiage表(空调列车卧铺价格表)52.10.7.dingpiao表(订票纪录表)53.方案图表设计63.1.关系模式63.2.E-R图63.3.数据流程图73.4.关系图:74.数据库源代码84.1.数据库建立84.1.1.创建数据库84.1.2.users表(用户表)建立84.1.3.ticketsinf表(车次详细信息表)建立84.1.4.putongliechejiage表(

3、普通列车价格表)建立94.1.5.putongliechewopujiage表(普通列车卧铺价格表)建立94.1.6.kongtiaoliechejiage表(空调列车价格表)建立94.1.7.kongtiaoliechewopujiage表(空调列车卧铺价格表)罚款单表建立94.1.8.dingpiao表(订票纪录表)建立104.2.数据初始化104.2.1.将用户加入users表中104.2.2.将车次信息加入ticketsinf表中114.2.3.将普通列车价格加入putongliechejiage表中144.2.4.将普通列车卧铺价格加入putongliechewopujiage表中1

4、44.2.5.将空调列车价格加入kongtiaoliechejiage表中154.2.6.将空调列车卧铺价格加入kongtiaoliechewopujiage表中154.2.7.将订票记录加入dingpiao表中165.结果数据处理165.1.单表查询165.1.1.表users中查询165.1.2.表ticketsinf中查询175.1.3.表putongliechejiage中查询175.1.4.表putongliechewopujiage中查询185.1.5.表kongtiaoliechejiage中查询185.1.6.表kongtiaoliechewopujiage中查询185.1.7

5、.表dingpiao中查询185.2.售票处理195.2.1.车次查询195.2.2.卧铺票价查询195.2.3.硬座票价查询195.3.退票操作206.结束语207.参考文献2011. 概述1.1. 项目背景随着Internet的迅速发展和用户数量的急剧增加,互联网对于企业和事业单位的运营和发展日益重要,网上交易也逐渐被人们认可,并成为未来交易的发展方向。铁路客车售票系统是铁路旅游服务信息系统的一个重要组成部分,为旅客提供优质便捷的服务。为了提高铁路客运的售票效率,丰富铁路客运的营销手段,火车站售票总站的下属代售点可以通过公用的互联网资源,实现网上的售票,查询及管理工作。提高铁路客车售票系统

6、管理工作效率,作到信息的规范管理,科学统计和快速查询,让铁路客车售票系统更好的为旅客服、社会服务。1.2. 系统说明铁路客车售票系统是基于C/S结构,是面向全国各火车站以及火车票代售点使用的售票平台,通过本系统可以实现根据车次、日期、乘车区间等信息,查询价格、剩余票额等即时信息,可以打印铁路客票。本系统拟在C#.NET环境中开发,运行在windows xp以上操作系统。2. 需求分析2.1. 需求分析客票系统通过计算机网络将客户端与服务器的数据库相连,将从客户端得到的信息进行处理,实现车次查询,售票,订票,退票等功能。以计算机为中心,实现销售业务的计算机自动化,为铁路部门降低成本、提高销售额、

7、为铁路部门的经营决策提供及时精确的依据。2.2. 查询功能需求 查询功能要能满足至少两种方式的查询:按车次查询,按站点查询。如果查询出来满足条件的车次后,用户可以直接点击购买。查询出来的信息里面应该包括车次,开车时间,到达时间,起始站,终点站,车辆类型等主要车次信息。2.3. 售票功能需求 售票模块主要有两个入口:一个是系统主界面的买票按钮,另一个是查询结果后面的购买按钮。买票界面里可以供用户填写或者选择的内容有:车次,开车时间,起始站,终点站,座位类型 ,票数等。还要有价格计算按钮,购买按钮和重置按钮。每趟车次的具体路段起始站和终点站要在用户输入车次后自动绑定,供用户选择。点击购买按钮后,系

8、统给出具体的购买票据,并且要能打印票据。2.4. 退票功能需求 退票模块要能实现两种功能:退订和退票。退订是指用户有过订票记录,但票还没拿到;退票是指用户退掉已经拿到的车票(退票时间必须给出具体限制)。2.5. 订票功能需求订票模块和买票模块主要有两点区别:用户进行订票操作时必须要输入用户信息;订票的和买票的提前时间不同,订票可以提前更多的时间。订票操作成功后,系统应给出具体的订票信息票据。2.6. 用户管理功能需求当高级管理员登录系统时,用户管理界面入口可见,其他用户登录后则不能看到用户管理模块。用户管理模块主要有六个子模块:管理用户,剩余票查询,更新车次。 管理用户 系统的用户有三类,高级

9、管理员,代售点用户和企业用户,不同的用户权限不同。这些权限具体体现在提前买票和订票时间上。除了高级管理员,其他的用户都要先注册才能使用,不同类型的用户登录系统后操作界面不太一样。 剩余票查询 管理员要能查询某个车次或者所有的车次剩余票信息。 更新车次管理员可在第一次使用系统时通过这个功能模块来建立基本的车次信息库,在以后的业务活动中根据具体需要删除或者修改某些车次信息。2.7. 注册功能需求 第一次使用系统时,首先要做的是注册用户,注册用户模块里主要分两种类型的注册:代售点注册和火车站用户注册。这两种注册方式的差别体现在所填注册信息上。不同的用户拥有不同的权限。2.8. 数据需求2.8.1.

10、数据录入和处理的准确性数据的输入是否准确是数据处理的前提,错误的输入会导致系统输出的不正确和不可用,从而不能返回想要的结果。数据的输入来源是手工输入。所以系统地界面要让用户容易使用,如果用户出现误操作,系统能简单明了的给出中文提示。2.8.2. 数据的一致性和完整性由于系统的数据是共享的,在不同的代售点中,车次信息是共享数据,所以如何保证这些数据的一致性,是系统必须解决的问题。要解决这一问题,要求系统能保证数据的一致性,在数据录入处控制数据的去向,并且要求对数据库的数据完整性进行严格的约束。对于输入的数据,要为其定义完整性规则,如果不能符合完整性约束,系统应该拒绝该数据,并给出出错提示。2.8

11、.3. 数据的共享与独立性 整个售票系统的数据是共享的。然而,从系统开发的角度上看,共享会给设计和调试带来困难。因此,应该提供灵活的配置,使不同权限的用户都可以正常进行操作。 2.9. 事物需求2.10. 数据字典2.10.1. users表(用户表)user表用来存储注册用户的信息,它的结构如表1-1:表1-1 用户表 字段名称数据类型长度可否为空描述序号Int4Not Null主键用户名Char10Not Null用户名密码Char10Not Null密码联系方式Varchar50Null联系方式负责人Char10Null负责人单位全称Varchar50Not Null单位全称具体地址Va

12、rchar20Null具体地址身份证Char20Not Null身份证号代售点编号Int4Null为代售点用户自动分配编号用户类型Int 4Null火车站用户为1,代售点用户为22.10.2. ticketsinf表(车次详细信息表)ticketsinf表存储的是车次的具体路段信息,它的结构如表1-2:表1-2 车次详细信息表字段名称数据类型长度可否为空描述序号Decimal9Not Null主键车次Char18Not Null车次开车时间Datetime8Null开车时间到达时间Datetime8Null到达时间出发站Char50Null出发站到达站Char50Null到达站行程Decima

13、l9Not Null每两站之间的距离2.10.3. putongliechejiage表(普通列车价格表)putongliechejiage表存储的是普通列车的票价计算参数,它的具体结构如表1-3:表1-3 普通列车价格表字段名称数据类型长度可否为空描述序号Int4Not Null主键里程上限Int IntNot Null路程分段计费里程下限IntIntNot Null路程分段计费普通列车Decimal9Not Null普通列车对应路段价格普快列车Decimal9Not Null普快列车对应路段价格特快列车Decimal9Not Null特快列车对应路段价格空调费率Int9Not Null路段

14、空调费率座位类型Char10Not Null座位类型2.10.4. putongliechewopujiage表(普通列车卧铺价格表)putongliechewopujiage表存储的是普通列车卧铺票价的计算参数,它的具体结构如表1-4:表1-4 普通列车卧铺价格表字段名称数据类型长度可否为空描述序号Int4Not Null主键里程上限Int IntNot Null路程分段计费里程下限IntIntNot Null路程分段计费上铺Decimal9Not Null上铺对应路段的价格中铺Decimal9Not Null中铺对应路段的价格下铺Decimal9Not Null下铺对应路段的价格空调费率D

15、ecimal9Not Null路段空调费率车辆类型Char18Not Null有普通,普快,特快之分座位类型Char18Not Null有软卧和硬卧之分2.10.5. kongtiaoliechejiage表(空调列车价格表)kongtiaoliechejiage表存储的是空调列车票价的计算参数,它的具体结构如表1-5:表1-5 空调列车价格表字段名称数据类型长度可否为空描述序号Int4Not Null主键里程上限Int IntNot Null路程分段计费里程下限IntIntNot Null路程分段计费普通列车Decimal9Not Null普通列车对应路段价格普快列车Decimal9Not

16、Null普快列车对应路段价格特快列车Decimal9Not Null特快列车对应路段价格2.10.6. kongtiaoliechewopujiage表(空调列车卧铺价格表)kongtiaoliechewopujiage表存储的是空调列车卧铺票价的计算参数,它的具体结构如表1-6:表1-6 空调列车卧铺表字段名称数据类型长度可否为空描述序号Int4Not Null主键里程上限Int IntNot Null路程分段计费里程下限IntIntNot Null路程分段计费上铺Decimal9Not Null上铺对应路段的价格中铺Decimal9Not Null中铺对应路段的价格下铺Decimal9No

17、t Null下铺对应路段的价格车辆类型Char18Not Null有普通,普快,特快 之分座位类型char18Not Null有软卧和硬卧之分2.10.7. dingpiao表(订票纪录表) dingpiao表存储的是用户的订票记录信息,它的具体结构如表1-7:表1-7 订票记录表字段名称数据类型长度可否为空描述序号Int4Not Null主键车次Char18Not Null外键出发站Char10Null车发站到达站Char10Null到达站座位类型Char10Not Null座位类型票数Decimal9Not Null票数总价格Decimal9Not Null总价格发车日期Datetime8

18、Not Null发车日期时间Datetime8Not Null时间座位号Int4Not Null座位号3. 方案图表设计3.1. 关系模式(一) 用户(序号,用户名,密码,联系方式,负责人,单位全称,具体地址,身份证,代售点编号,用户类型)(二) 车次信息(序号,车次,开车时间,到达时间,出发站,到达站,行程)(三) 普通列车价格(序号,里程,普通列车,普快列车,特快列车,空调费率,座位类型)(四) 普通列车卧铺票价格(序号,里程,上铺,中铺,下铺,车辆类型,座位类型)(五) 空调列车票价格(序号,里程,普通列车,普快列车,特快列车)(六) 空调列车卧铺票价格(序号,里程,上铺,中铺,下铺,车

19、辆类型,座位类型)(七) 订票记录信息(序号,车次,出发站,到达站,座位类型,票数,总价格,发车日期,时间,座位号)3.2. E-R图3.3. 数据流程图3.4. 关系图:4. 数据库源代码4.1. 数据库建立4.1.1. 创建数据库create database TrainTicketgouse TrainTicketgo4.1.2. users表(用户表)建立create table users(UserID int primary key,name char(10) not null,password char(10) not null,phone varchar(50),PerInCh

20、arge char(10),unit varchar(50) not null,address varchar(20),PerID char(20) not null,dID int,UserType int)4.1.3. ticketsinf表(车次详细信息表)建立create table ticketsinf(TrainNum char(18) not null,TicketID decimal primary key,StartTime datetime,ReachTime datetime,StartStation char(50),ReachStation char(50),mile

21、age decimal not null)4.1.4. putongliechejiage表(普通列车价格表)建立create table putongliechejiage(PtlcjgID int primary key,mileage int not null,putong decimal not null,pukuai decimal not null,tekuai decimal not null,kongtiaofeilv int not null,ZuoweiType char(10) not null)4.1.5. putongliechewopujiage表(普通列车卧铺价格

22、表)建立create table putongliechewopujiage(PtlcwpjgID int primary key,mileage int not null,shang decimal not null,zhong decimal not null,xia decimal not null,kongtiaofeilv decimal not null,TrainType char(18) not null,zuoweiType char(18) not null)4.1.6. kongtiaoliechejiage表(空调列车价格表)建立create table kongtia

23、oliechejiage(KtlcjgID int primary key,mileage int not null,putong decimal not null,pukuai decimal not null,tekuai decimal not null)4.1.7. kongtiaoliechewopujiage表(空调列车卧铺价格表)罚款单表建立create table kongtiaoliechewopujiage(KtlcwpjgID int primary key,mileage int not null,shang decimal not null,zhong decimal

24、 not null,xia decimal not null,TrainType char(18) not null,ZuoweiType char(18) not null)4.1.8. dingpiao表(订票纪录表)建立create table dingpiao(DingpiaoID int primary key,TrainNum char(18) not null,StartStation char(10) not null,ReachStation char(10) not null,ZuoweiType char(10) not null,CountTickets decimal

25、 not null,TotalPrice decimal not null,StartTime datetime not null,time datetime not null,zuowei char(10) not null,UserID int foreign key references users)4.2. 数据初始化4.2.1. 将用户加入users表中insert into dbo.users(UserID,name,password,phone,PerInCharge,unit,address,PerID,UserType)values(1,pmw,666666,13976427

26、179,潘明伟,海口火车站,海南省海口市,220802198704150618,1)insert into dbo.users(UserID,name,password,phone,PerInCharge,unit,address,PerID,dID,UserType)values(2,wj,888888,13009087145,王军,粤海铁售票点,海南省海口市美兰区,460805197734450318,14,1)4.2.2. 将车次信息加入ticketsinf表中insert intodbo.ticketsinf(TrainNum,TicketID,StartTime,ReachTime,

27、StartStation,ReachStation,mileage)values(T201,1,18:16,20:35,北京西,石家庄,277)insert intodbo.ticketsinf(TrainNum,TicketID,StartTime,ReachTime,StartStation,ReachStation,mileage)values(T201,2,18:16,23:49,北京西,郑州,689)insert intodbo.ticketsinf(TrainNum,TicketID,StartTime,ReachTime,StartStation,ReachStation,mil

28、eage)values(T201,3,18:16,04:21,北京西,武昌,1225)insert intodbo.ticketsinf(TrainNum,TicketID,StartTime,ReachTime,StartStation,ReachStation,mileage)values(T201,4,18:16,07:39,北京西,长沙,1587)insert intodbo.ticketsinf(TrainNum,TicketID,StartTime,ReachTime,StartStation,ReachStation,mileage)values(T201,5,18:16,11:

29、07,北京西,郴州,1920)insert intodbo.ticketsinf(TrainNum,TicketID,StartTime,ReachTime,StartStation,ReachStation,mileage)values(T201,6,18:16,12:47,北京西,韶关东,2073)insert intodbo.ticketsinf(TrainNum,TicketID,StartTime,ReachTime,StartStation,ReachStation,mileage)values(T201,7,18:16,15:01,北京西,广州,2294)insert intod

30、bo.ticketsinf(TrainNum,TicketID,StartTime,ReachTime,StartStation,ReachStation,mileage)values(T201,8,18:16,15:40,北京西,佛山,2316)insert intodbo.ticketsinf(TrainNum,TicketID,StartTime,ReachTime,StartStation,ReachStation,mileage)values(T201,9,18:16,16:54,北京西,肇庆,2403)insert intodbo.ticketsinf(TrainNum,Ticke

31、tID,StartTime,ReachTime,StartStation,ReachStation,mileage)values(T201,10,18:16,19:35,北京西,茂名东,2655)insert intodbo.ticketsinf(TrainNum,TicketID,StartTime,ReachTime,StartStation,ReachStation,mileage)values(T201,11,18:16,19:48,北京西,茂名,2665)insert intodbo.ticketsinf(TrainNum,TicketID,StartTime,ReachTime,S

32、tartStation,ReachStation,mileage)values(T201,12,18:16,21:27,北京西,湛江西,2782)insert intodbo.ticketsinf(TrainNum,TicketID,StartTime,ReachTime,StartStation,ReachStation,mileage)values(T201,13,18:16,22:46,北京西,徐闻,2895)insert intodbo.ticketsinf(TrainNum,TicketID,StartTime,ReachTime,StartStation,ReachStation,

33、mileage)values(T201,14,18:16,01:46,北京西,海口,3088)insert intodbo.ticketsinf(TrainNum,TicketID,StartTime,ReachTime,StartStation,ReachStation,mileage)values(T201,15,18:16,03:52,北京西,东方,3294)insert intodbo.ticketsinf(TrainNum,TicketID,StartTime,ReachTime,StartStation,ReachStation,mileage)values(T201,16,18:

34、16,05:12,北京西,三亚,3451)insert intodbo.ticketsinf(TrainNum,TicketID,StartTime,ReachTime,StartStation,ReachStation,mileage)values(k179,17,22:38,00:04,北京西,保定,146)insert intodbo.ticketsinf(TrainNum,TicketID,StartTime,ReachTime,StartStation,ReachStation,mileage)values(k179,18,22:38,03:56,北京西,安阳,502)insert

35、intodbo.ticketsinf(TrainNum,TicketID,StartTime,ReachTime,StartStation,ReachStation,mileage)values(k179,19,22:38,04:18,北京西,汤阴,524)insert intodbo.ticketsinf(TrainNum,TicketID,StartTime,ReachTime,StartStation,ReachStation,mileage)values(k179,20,22:38,04:42,北京西,鹤壁,543)insert intodbo.ticketsinf(TrainNum,

36、TicketID,StartTime,ReachTime,StartStation,ReachStation,mileage)values(k179,21,22:38,05:20,北京西,卫辉,584)insert intodbo.ticketsinf(TrainNum,TicketID,StartTime,ReachTime,StartStation,ReachStation,mileage)values(k179,22,22:38,06:02,北京西,新乡,609)insert intodbo.ticketsinf(TrainNum,TicketID,StartTime,ReachTime

37、,StartStation,ReachStation,mileage)values(k179,23,22:38,07:06,北京西,郑州,689)4.2.3. 将普通列车价格加入putongliechejiage表中insert into dbo.putongliechejiage(PtlcjgID,mileage1,mileage2,putong,pukuai,tekuai,kongtiaofeilv,ZuoweiType)values(1,611,640,34,41,48,8,硬座)insert into dbo.putongliechejiage(PtlcjgID,mileage1,mi

38、leage2,putong,pukuai,tekuai,kongtiaofeilv,ZuoweiType)values(2,641,670,36,43,50,9,硬座)insert into dbo.putongliechejiage(PtlcjgID,mileage1,mileage2,putong,pukuai,tekuai,kongtiaofeilv,ZuoweiType)values(3,671,700,37,44,51,9,硬座)4.2.4. 将普通列车卧铺价格加入putongliechewopujiage表中insert into dbo.putongliechewopujiage

39、(PtlcwpjgID,mileage1,mileage2,shang,zhong,xia,kongtiaofeilv,TrainType,zuoweiType)values(1,641,670,98,102,105,9,特快,硬卧)insert into dbo.putongliechewopujiage(PtlcwpjgID,mileage1,mileage2,shang,zhong,xia,kongtiaofeilv,TrainType,zuoweiType)values(2,671,700,101,104,108,9,特快,硬卧)insert into dbo.putonglieche

40、wopujiage(PtlcwpjgID,mileage1,mileage2,shang,zhong,xia,kongtiaofeilv,TrainType,zuoweiType)values(3,701,740,107,110,114,9,特快,硬卧)4.2.5. 将空调列车价格加入kongtiaoliechejiage表中insert into dbo.kongtiaoliechejiage(KtlcjgID,mileage1,mileage2,putong,pukuai,tekuai)values(1,641,670,68,79,90)insert into dbo.kongtiaoli

41、echejiage(KtlcjgID,mileage1,mileage2,putong,pukuai,tekuai)values(2,671,700,70,81,92)insert into dbo.kongtiaoliechejiage(KtlcjgID,mileage1,mileage2,putong,pukuai,tekuai)values(3,701,740,73,85,97)4.2.6. 将空调列车卧铺价格加入kongtiaoliechewopujiage表中insert into dbo.kongtiaoliechewopujiage(KtlcwpjgID,mileage1,mil

42、eage2,shang,zhong,xia,TrainType,ZuoweiType)values(1,641,670,157,163,168,特快,硬卧)insert into dbo.kongtiaoliechewopujiage(KtlcwpjgID,mileage1,mileage2,shang,zhong,xia,TrainType,ZuoweiType)values(2,671,700,162,167,173,特快,硬卧)insert into dbo.kongtiaoliechewopujiage(KtlcwpjgID,mileage1,mileage2,shang,zhong,

43、xia,TrainType,ZuoweiType)values(3,701,740,170,175,181,特快,硬卧)4.2.7. 将订票记录加入dingpiao表中insert into dbo.dingpiao(DingpiaoID,TrainNum,StartStation,ReachStation,ZuoweiType,CountTickets,TotalPrice,StartTime,time,zuowei,UserID)values(1,T201,北京西,郑州,硬卧,1,173,18:16,2010-12-30 19:00,2车号下,1)insert into dbo.dingpiao(DingpiaoID,TrainNum,StartStation,ReachStation,ZuoweiType,CountTickets,TotalPrice,StartTim

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号