数库原理应课程设计
铁路客车售票系统数库设计
2010年X月
目录
1 概述 1
11 项目背景 1
12 系统说明 1
2 需求分析 1
21 需求分析 1
22 查询功需求 1
23 售票功需求 2
24 退票功需求 2
25 订票功需求 2
26 户理功需求 2
27 注册功需求 2
28 数需求 3
281 数录入处理准确性 3
282 数致性完整性 3
283 数享独立性 3
29 事物需求 3
210 数字典 3
2101 users表(户表) 3
2102 ticketsinf表(车次详细信息表) 4
2103 putongliechejiage表(普通列车价格表) 4
2104 putongliechewopujiage表(普通列车卧铺价格表) 4
2105 kongtiaoliechejiage表(空调列车价格表) 5
2106 kongtiaoliechewopujiage表(空调列车卧铺价格表) 5
2107 dingpiao表(订票纪录表) 5
3 方案图表设计 6
31 关系模式 6
32 ER图 6
33 数流程图 7
34 关系图: 7
4 数库源代码 8
41 数库建立 8
411 创建数库 8
412 users表(户表)建立 8
413 ticketsinf表(车次详细信息表)建立 8
414 putongliechejiage表(普通列车价格表)建立 9
415 putongliechewopujiage表(普通列车卧铺价格表)建立 9
416 kongtiaoliechejiage表(空调列车价格表)建立 9
417 kongtiaoliechewopujiage表(空调列车卧铺价格表)罚款单表建立 9
418 dingpiao表(订票纪录表)建立 10
42 数初始化 10
421 户加入users表中 10
422 车次信息加入ticketsinf表中 11
423 普通列车价格加入putongliechejiage表中 14
424 普通列车卧铺价格加入putongliechewopujiage表中 14
425 空调列车价格加入kongtiaoliechejiage表中 15
426 空调列车卧铺价格加入kongtiaoliechewopujiage表中 15
427 订票记录加入dingpiao表中 16
5 结果数处理 16
51 单表查询 16
511 表users中查询 16
512 表ticketsinf中查询 17
513 表putongliechejiage中查询 17
514 表putongliechewopujiage中查询 18
515 表kongtiaoliechejiage中查询 18
516 表kongtiaoliechewopujiage中查询 18
517 表dingpiao中查询 18
52 售票处理 19
521 车次查询 19
522 卧铺票价查询 19
523 硬座票价查询 19
53 退票操作 20
6 结束语 20
7 参考文献 20
1 概述
11 项目背景
着Internet迅速发展户数量急剧增加互联网企业事业单位运营发展日益重网交易逐渐认成未交易发展方
铁路客车售票系统铁路旅游服务信息系统重组成部分旅客提供优质便捷服务提高铁路客运售票效率丰富铁路客运营销手段火车站售票总站属代售点通公互联网资源实现网售票查询理工作
提高铁路客车售票系统理工作效率作信息规范理科学统计快速查询铁路客车售票系统更旅客服社会服务
12 系统说明
铁路客车售票系统基CS结构面全国火车站火车票代售点售票台通系统实现根车次日期车区间等信息查询价格剩余票额等时信息印铁路客票系统拟C#NET环境中开发运行windows xp操作系统
2 需求分析
21 需求分析
客票系统通计算机网络客户端服务器数库相连客户端信息进行处理实现车次查询售票订票退票等功计算机中心实现销售业务计算机动化铁路部门降低成提高销售额铁路部门营决策提供时精确
22 查询功需求
查询功满足少两种方式查询:车次查询站点查询果查询出满足条件车次户直接点击购买查询出信息里面应该包括车次开车时间达时间起始站终点站车辆类型等车次信息
23 售票功需求
售票模块两入口:系统界面买票钮查询结果面购买钮买票界面里供户填写者选择容:车次开车时间起始站终点站座位类型 票数等价格计算钮购买钮重置钮趟车次具体路段起始站终点站户输入车次动绑定供户选择点击购买钮系统出具体购买票印票
24 退票功需求
退票模块实现两种功:退订退票退订指户订票记录票没退票指户退掉已车票(退票时间必须出具体限制)
25 订票功需求
订票模块买票模块两点区:户进行订票操作时必须输入户信息订票买票提前时间订票提前更时间订票操作成功系统应出具体订票信息票
26 户理功需求
高级理员登录系统时户理界面入口见户登录户理模块户理模块六子模块:理户剩余票查询更新车次
◆ 理户
系统户三类高级理员代售点户企业户户权限权限具体体现提前买票订票时间高级理员户先注册类型户登录系统操作界面太样
◆ 剩余票查询
理员查询某车次者车次剩余票信息
◆ 更新车次
理员第次系统时通功模块建立基车次信息库业务活动中根具体需删者修改某车次信息
27 注册功需求
第次系统时首先做注册户注册户模块里分两种类型注册:代售点注册火车站户注册两种注册方式差体现填注册信息
户拥权限
28 数需求
281 数录入处理准确性
数输入否准确数处理前提错误输入会导致系统输出正确返回想结果数输入源手工输入系统界面户容易果户出现误操作系统简单明出中文提示
282 数致性完整性
系统数享代售点中车次信息享数保证数致性系统必须解决问题解决问题求系统保证数致性数录入处控制数求数库数完整性进行严格约束
输入数定义完整性规果符合完整性约束系统应该拒绝该数出出错提示
283 数享独立性
整售票系统数享然系统开发角度享会设计调试带困难应该提供灵活配置权限户正常进行操作
29 事物需求
210 数字典
2101 users表(户表)
user表存储注册户信息结构表11:
表11 户表
字段名称
数类型
长度
否空
描述
序号
Int
4
Not Null
键
户名
Char
10
Not Null
户名
密码
Char
10
Not Null
密码
联系方式
Varchar
50
Null
联系方式
负责
Char
10
Null
负责
单位全称
Varchar
50
Not Null
单位全称
具体址
Varchar
20
Null
具体址
身份证
Char
20
Not Null
身份证号
代售点编号
Int
4
Null
代售点户动分配编号
户类型
Int
4
Null
火车站户1代售点户2
2102 ticketsinf表(车次详细信息表)
ticketsinf表存储车次具体路段信息结构表12:
表12 车次详细信息表
字段名称
数类型
长度
否空
描述
序号
Decimal
9
Not Null
键
车次
Char
18
Not Null
车次
开车时间
Datetime
8
Null
开车时间
达时间
Datetime
8
Null
达时间
出发站
Char
50
Null
出发站
达站
Char
50
Null
达站
行程
Decimal
9
Not Null
两站间距离
2103 putongliechejiage表(普通列车价格表)
putongliechejiage表存储普通列车票价计算参数具体结构表13:
表13 普通列车价格表
字段名称
数类型
长度
否空
描述
序号
Int
4
Not Null
键
里程限
Int
Int
Not Null
路程分段计费
里程限
Int
Int
Not Null
路程分段计费
普通列车
Decimal
9
Not Null
普通列车应路段价格
普快列车
Decimal
9
Not Null
普快列车应路段价格
特快列车
Decimal
9
Not Null
特快列车应路段价格
空调费率
Int
9
Not Null
路段空调费率
座位类型
Char
10
Not Null
座位类型
2104 putongliechewopujiage表(普通列车卧铺价格表)
putongliechewopujiage表存储普通列车卧铺票价计算参数具体结构表14:
表14 普通列车卧铺价格表
字段名称
数类型
长度
否空
描述
序号
Int
4
Not Null
键
里程限
Int
Int
Not Null
路程分段计费
里程限
Int
Int
Not Null
路程分段计费
铺
Decimal
9
Not Null
铺应路段价格
中铺
Decimal
9
Not Null
中铺应路段价格
铺
Decimal
9
Not Null
铺应路段价格
空调费率
Decimal
9
Not Null
路段空调费率
车辆类型
Char
18
Not Null
普通普快特快分
座位类型
Char
18
Not Null
软卧硬卧分
2105 kongtiaoliechejiage表(空调列车价格表)
kongtiaoliechejiage表存储空调列车票价计算参数具体结构表15:
表15 空调列车价格表
字段名称
数类型
长度
否空
描述
序号
Int
4
Not Null
键
里程限
Int
Int
Not Null
路程分段计费
里程限
Int
Int
Not Null
路程分段计费
普通列车
Decimal
9
Not Null
普通列车应路段价格
普快列车
Decimal
9
Not Null
普快列车应路段价格
特快列车
Decimal
9
Not Null
特快列车应路段价格
2106 kongtiaoliechewopujiage表(空调列车卧铺价格表)
kongtiaoliechewopujiage表存储空调列车卧铺票价计算参数具体结构表16:
表16 空调列车卧铺表
字段名称
数类型
长度
否空
描述
序号
Int
4
Not Null
键
里程限
Int
Int
Not Null
路程分段计费
里程限
Int
Int
Not Null
路程分段计费
铺
Decimal
9
Not Null
铺应路段价格
中铺
Decimal
9
Not Null
中铺应路段价格
铺
Decimal
9
Not Null
铺应路段价格
车辆类型
Char
18
Not Null
普通普快特快 分
座位类型
char
18
Not Null
软卧硬卧分
2107 dingpiao表(订票纪录表)
dingpiao表存储户订票记录信息具体结构表17:
表17 订票记录表
字段名称
数类型
长度
否空
描述
序号
Int
4
Not Null
键
车次
Char
18
Not Null
外键
出发站
Char
10
Null
车发站
达站
Char
10
Null
达站
座位类型
Char
10
Not Null
座位类型
票数
Decimal
9
Not Null
票数
总价格
Decimal
9
Not Null
总价格
发车日期
Datetime
8
Not Null
发车日期
时间
Datetime
8
Not Null
时间
座位号
Int
4
Not Null
座位号
3 方案图表设计
31 关系模式
() 户(序号户名密码联系方式负责单位全称具体址身份证代售点编号户类型)
(二) 车次信息(序号车次开车时间达时间出发站达站行程)
(三) 普通列车价格(序号里程普通列车普快列车特快列车空调费率座位类型)
(四) 普通列车卧铺票价格(序号里程铺中铺铺车辆类型座位类型)
(五) 空调列车票价格(序号里程普通列车普快列车特快列车)
(六) 空调列车卧铺票价格(序号里程铺中铺铺车辆类型座位类型)
(七) 订票记录信息(序号车次出发站达站座位类型票数总价格发车日期时间座位号)
32 ER图
33 数流程图
34 关系图:
4 数库源代码
41 数库建立
411 创建数库
create database TrainTicket
go
use TrainTicket
go
412 users表(户表)建立
create table users(
UserID int primary key
name char(10) not null
password char(10) not null
phone varchar(50)
PerInCharge char(10)
unit varchar(50) not null
address varchar(20)
PerID char(20) not null
dID int
UserType int
)
413 ticketsinf表(车次详细信息表)建立
create table ticketsinf(
TrainNum char(18) not null
TicketID decimal primary key
StartTime datetime
ReachTime datetime
StartStation char(50)
ReachStation char(50)
mileage decimal not null
)
414 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
)
415 putongliechewopujiage表(普通列车卧铺价格表)建立
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
)
416 kongtiaoliechejiage表(空调列车价格表)建立
create table kongtiaoliechejiage(
KtlcjgID int primary key
mileage int not null
putong decimal not null
pukuai decimal not null
tekuai decimal not null
)
417 kongtiaoliechewopujiage表(空调列车卧铺价格表)罚款单表建立
create table kongtiaoliechewopujiage(
KtlcwpjgID int primary key
mileage int not null
shang decimal not null
zhong decimal not null
xia decimal not null
TrainType char(18) not null
ZuoweiType char(18) not null
)
418 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 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
)
42 数初始化
421 户加入users表中
insert into
dbousers(UserIDnamepasswordphonePerInChargeunitaddressPerIDUserType)
values
(1'pmw''666666''13976427179''潘明伟''海口火车站''海南省海口市''220802198704150618'1)
insert into
dbousers(UserIDnamepasswordphonePerInChargeunitaddressPerIDdIDUserType)
values
(2'wj''888888''13009087145''王军''粤海铁售票点''海南省海口市美兰区''460805197734450318'141)
422 车次信息加入ticketsinf表中
insert into
dboticketsinf(TrainNumTicketIDStartTimeReachTimeStartStationReachStationmileage)
values
('T201'1'1816''2035''北京西''石家庄'277)
insert into
dboticketsinf(TrainNumTicketIDStartTimeReachTimeStartStationReachStationmileage)
values
('T201'2'1816''2349''北京西''郑州'689)
insert into
dboticketsinf(TrainNumTicketIDStartTimeReachTimeStartStationReachStationmileage)
values
('T201'3'1816''0421''北京西''武昌'1225)
insert into
dboticketsinf(TrainNumTicketIDStartTimeReachTimeStartStationReachStationmileage)
values
('T201'4'1816''0739''北京西''长沙'1587)
insert into
dboticketsinf(TrainNumTicketIDStartTimeReachTimeStartStationReachStationmileage)
values
('T201'5'1816''1107''北京西''郴州'1920)
insert into
dboticketsinf(TrainNumTicketIDStartTimeReachTimeStartStationReachStationmileage)
values
('T201'6'1816''1247''北京西''韶关东'2073)
insert into
dboticketsinf(TrainNumTicketIDStartTimeReachTimeStartStationReachStationmileage)
values
('T201'7'1816''1501''北京西''广州'2294)
insert into
dboticketsinf(TrainNumTicketIDStartTimeReachTimeStartStationReachStationmileage)
values
('T201'8'1816''1540''北京西''佛山'2316)
insert into
dboticketsinf(TrainNumTicketIDStartTimeReachTimeStartStationReachStationmileage)
values
('T201'9'1816''1654''北京西''肇庆'2403)
insert into
dboticketsinf(TrainNumTicketIDStartTimeReachTimeStartStationReachStationmileage)
values
('T201'10'1816''1935''北京西''茂名东'2655)
insert into
dboticketsinf(TrainNumTicketIDStartTimeReachTimeStartStationReachStationmileage)
values
('T201'11'1816''1948''北京西''茂名'2665)
insert into
dboticketsinf(TrainNumTicketIDStartTimeReachTimeStartStationReachStationmileage)
values
('T201'12'1816''2127''北京西''湛江西'2782)
insert into
dboticketsinf(TrainNumTicketIDStartTimeReachTimeStartStationReachStationmileage)
values
('T201'13'1816''2246''北京西''徐闻'2895)
insert into
dboticketsinf(TrainNumTicketIDStartTimeReachTimeStartStationReachStationmileage)
values
('T201'14'1816''0146''北京西''海口'3088)
insert into
dboticketsinf(TrainNumTicketIDStartTimeReachTimeStartStationReachStationmileage)
values
('T201'15'1816''0352''北京西''东方'3294)
insert into
dboticketsinf(TrainNumTicketIDStartTimeReachTimeStartStationReachStationmileage)
values
('T201'16'1816''0512''北京西''三亚'3451)
insert into
dboticketsinf(TrainNumTicketIDStartTimeReachTimeStartStationReachStationmileage)
values
('k179'17'2238''0004''北京西''保定'146)
insert into
dboticketsinf(TrainNumTicketIDStartTimeReachTimeStartStationReachStationmileage)
values
('k179'18'2238''0356''北京西''安阳'502)
insert into
dboticketsinf(TrainNumTicketIDStartTimeReachTimeStartStationReachStationmileage)
values
('k179'19'2238''0418''北京西''汤阴'524)
insert into
dboticketsinf(TrainNumTicketIDStartTimeReachTimeStartStationReachStationmileage)
values
('k179'20'2238''0442''北京西''鹤壁'543)
insert into
dboticketsinf(TrainNumTicketIDStartTimeReachTimeStartStationReachStationmileage)
values
('k179'21'2238''0520''北京西''卫辉'584)
insert into
dboticketsinf(TrainNumTicketIDStartTimeReachTimeStartStationReachStationmileage)
values
('k179'22'2238''0602''北京西''新乡'609)
insert into
dboticketsinf(TrainNumTicketIDStartTimeReachTimeStartStationReachStationmileage)
values
('k179'23'2238''0706''北京西''郑州'689)
423 普通列车价格加入putongliechejiage表中
insert into dboputongliechejiage(PtlcjgIDmileage1mileage2putongpukuaitekuaikongtiaofeilvZuoweiType)
values
(16116403441488'硬座')
insert into dboputongliechejiage(PtlcjgIDmileage1mileage2putongpukuaitekuaikongtiaofeilvZuoweiType)
values
(26416703643509'硬座')
insert into dboputongliechejiage(PtlcjgIDmileage1mileage2putongpukuaitekuaikongtiaofeilvZuoweiType)
values
(36717003744519'硬座')
424 普通列车卧铺价格加入putongliechewopujiage表中
insert into dboputongliechewopujiage(PtlcwpjgIDmileage1mileage2shangzhongxiakongtiaofeilvTrainTypezuoweiType)
values
(1641670981021059'特快''硬卧')
insert into dboputongliechewopujiage(PtlcwpjgIDmileage1mileage2shangzhongxiakongtiaofeilvTrainTypezuoweiType)
values
(26717001011041089'特快''硬卧')
insert into dboputongliechewopujiage(PtlcwpjgIDmileage1mileage2shangzhongxiakongtiaofeilvTrainTypezuoweiType)
values
(37017401071101149'特快''硬卧')
425 空调列车价格加入kongtiaoliechejiage表中
insert into dbokongtiaoliechejiage(KtlcjgIDmileage1mileage2putongpukuaitekuai)
values
(1641670687990)
insert into dbokongtiaoliechejiage(KtlcjgIDmileage1mileage2putongpukuaitekuai)
values
(2671700708192)
insert into dbokongtiaoliechejiage(KtlcjgIDmileage1mileage2putongpukuaitekuai)
values
(3701740738597)
426 空调列车卧铺价格加入kongtiaoliechewopujiage表中
insert into dbokongtiaoliechewopujiage(KtlcwpjgIDmileage1mileage2shangzhongxiaTrainTypeZuoweiType)
values
(1641670157163168'特快''硬卧')
insert into dbokongtiaoliechewopujiage(KtlcwpjgIDmileage1mileage2shangzhongxiaTrainTypeZuoweiType)
values
(2671700162167173'特快''硬卧')
insert into dbokongtiaoliechewopujiage(KtlcwpjgIDmileage1mileage2shangzhongxiaTrainTypeZuoweiType)
values
(3701740170175181'特快''硬卧')
427 订票记录加入dingpiao表中
insert into dbodingpiao(DingpiaoIDTrainNumStartStationReachStationZuoweiTypeCountTicketsTotalPriceStartTimetimezuoweiUserID)
values
(1'T201''北京西''郑州''硬卧'1173'1816''20101230 1900''2车号'1)
insert into dbodingpiao(DingpiaoIDTrainNumStartStationReachStationZuoweiTypeCountTicketsTotalPriceStartTimetimezuoweiUserID)
values
(2'T201''北京西''郑州''硬卧'1173'1816''20101230 1900''1车号'1)
5 结果数处理
51 单表查询
511 表users中查询
512 表ticketsinf中查询
513 表putongliechejiage中查询
514 表putongliechewopujiage中查询
515 表kongtiaoliechejiage中查询
516 表kongtiaoliechewopujiage中查询
517 表dingpiao中查询
52 售票处理
521 车次查询
522 卧铺票价查询
523 硬座票价查询
53 退票操作
6 结束语
该数库课程设计基计划进行基满足需求功通课程设计感受起初构建数表重性表紧密清晰联系处理数会效率外实现种功模块编写SQL语句繁琐应该力求少代码实现样功提高代码运行效率设计中发现SQL语句繁琐应该精简功(:退票模块)键应该车票条形编码
7 参考文献
[1] 付国华理学原理[J]中国农业出版社20057(3):2748
[2] 姜强信息系统分析设计[J]机械工业出版社 20083(1) 5667
成绩评定表
指导教师评语
成绩
签字:
年 月 日
文档香网(httpswwwxiangdangnet)户传
《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档