vb火车站售票管理系统-数据库设计_第1页
vb火车站售票管理系统-数据库设计_第2页
vb火车站售票管理系统-数据库设计_第3页
vb火车站售票管理系统-数据库设计_第4页
vb火车站售票管理系统-数据库设计_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

宁波工程学院数据库课程设计报告(20042005 学年第一学期)系(分院) 电子技术系 专业班级 计 02-6 学生姓名 陈林 指导教师 彭其美 实习地点 软件工程实验室 数据库设计文档一、 系统需求分析报告(数据流图、数据词典和功能分析)系统应具有售票、查询、管理和维护等功能,系统管理员可以进行对车次的更改、票价的变动及调度功能,票价的修改可以通过修改运价来进行,车次调度可通过对发车时刻表的修改来进行,维护功能即可对表进行修改。1、 功能需求经过分析后确定系统应具备以下功能:(1) 、售票功能 销售车票 预订车票 退票(2) 、查询功能 车次查询 时刻表查询 售票情况查询(3) 、调度功能 运价修改 车辆修改 终点站修改 车次修改(4) 、维护功能 车票表修改 预订车票表修改 退票表修改 密码修改(5) 、统计功能 售票统计 报表打印2、数据流图使用结构化分析方法,确定系统的数据主要是运价、车次、终点站名、发车时间和车票,对数据的操作主要有运价修改、车次修改、终点站修改、发车时间修改、售票及打印,可以确定系统的处理逻辑和流程,得到如下所示的系统数据流图。3、数据字典:经过分析可以得到以下数据流条目:车次表=车辆编号+ 车型+座位数终点站名表=站名+ 里程运价表=车型+运价发车时刻表=车次+ 车辆编号+站名+发车时间+检票口已售车票表=票号+ 乘车日期+车次+站名+发车时间+票价 +全半价+工号+退票否预订车票表=预订号+ 乘车日期+ 车次+站名+发车时间+车型 +票价+客户名称+订票数量退票表=票号+退票时间+票价 +应退款售票员编号=工号+ 姓名车辆编号=6数字6车次=4字符5车型=1字符8座位数=2数字2检票口=1数字2站名=1字符10里程=1数字5运价=1数字6发车时间=时间乘车日期=日期系统管理员车次修改运价修改终点站修改发车修改售票车次表运价表终点站名表发车时刻表查询售票员预订车票表退票表已售车票表报表打印车票已售车票表票号=7数字7票价=1数字5全半价=2字符2退票否=T|F预订号=4数字4客户名称=6字符20订票数量=1数字2退票时间=日期时间应退款=1数字5工号=3字符3姓名=4字符8二、 数据逻辑结构设计(E-R 图、关系模式和数据库结构)1、E R 图车辆 目标站名开往车辆编号 车型 座位数车次 发车时间 检票口站名 里程n m姓名车票 售票员售票票号预订顾客车次 站名 票价 座位号 全半价乘车日期 工号站名车次预订号顾客名称退票退票时间计费运价车型 价格n nn n1111票价 应退款退票否乘车日期2、关系模式车辆(车辆编号,车型,座位数)目标站名(站名,里程)发车时刻表(车次,站名,车辆编号,发车时间,检票口)途径(车次,站名)车票(票号,乘车日期,车次,站名,票价,全半价,座位号,工号,退票否)预订(预订号,车次,站名,乘车日期,顾客名称,票数)退票(票号,退票时间,票价,应退款)售票员(工号,姓名)运价(车型,价格)3、数据库结构车辆表:字段名 类型 长度 小数点 允许空 主/外键车辆编号 Int 4 主车型 Varchar 8座位数 smallInt 2目标站名:字段名 类型 长度 小数点 允许空 主/外键站名 Varchar 10 主里程 Int 4发车时刻表:字段名 类型 长度 小数点 允许空 主/外键车次 Varchar 5 主站名 Varchar 10 外车辆编号 Int 4 外发车时间 Datetime 8检票口 smallInt 2途径表:字段名 类型 长度 小数点 允许空 主/外键车次 Varchar 5 主站名 Varchar 10 外车票表:字段名 类型 长度 小数点 允许空 主/外键票号 Int 4 主乘车日期 Datetime 8车次 Varchar 5 外站名 Varchar 10 外票价 Float 8全半价 Char 2座位号 smallInt 2工号 Char 3退票否 Char 1主键: 外键: 预订表:字段名 类型 长度 小数点 允许空 主/外键预订号 Int 4 主车次 Varchar 5 外站名 Varchar 10 外乘车日期 Datetime 8顾客名称 Varchar 20票数 smallInt 2退票表:字段名 类型 长度 小数点 允许空 主/外键票号 Int 4 主退票时间 Datetime 8票价 Float 8应退款 Float 8售票员表:字段名 类型 长度 小数点 允许空 主/外键工号 Char 3 主姓名 Char 8运价表:字段名 类型 长度 小数点 允许空 主/外键车型 Varchar 8 主价格 Float 8三、软件结构设计(画出系统软件结构图)四、 程序模块设计与调试(设计和调试各程序模块,提交主要的程序段)用户登入用户名和密码校对:Private Sub Cmdok_Click()Dim username1 As String, username2 As Stringusername1 = Text1.TextIf Option1.Value ThenSet Text3.DataSource = Adodc1Text3.DataField = 口令Adodc1.Recordset.MoveFirst车站售票管理系统售票功能 查询功能 调度功能 维护功能 统计功能销售车票 预订车票 退票 车次查询 时刻表查询 售票情况查询 运价修改 车辆修改 终点站修改 车次修改 已售车票表 预订车票表 退票表 售票统计 报表打印 If username1 Thenusername2 = 用户名= & username1 & Adodc1.Recordset.Find username2If Adodc1.Recordset.EOF ThenMsgBox 用户名错误请重输, 16, 错误ElseIf Text2.Text Text3.Text ThenMsgBox 密码错误请重输, 16, 错误Text2.Text = ElseMDIForm1.ShowForm1.HideEnd IfEnd IfEnd IfElseIf Option2.Value ThenSet Text3.DataSource = Adodc2Text3.DataField = 口令Adodc2.Recordset.MoveFirstIf username1 Thenusername2 = 工号= & username1 & Adodc2.Recordset.Find username2If Adodc2.Recordset.EOF ThenMsgBox 用户名错误请重输, 16, 错误ElseIf Text2.Text Text3.Text ThenMsgBox 密码错误请重输, 16, 错误Text2.Text = ElseMDIForm1.ShowForm1.HideEnd IfEnd IfEnd IfEnd IfEnd IfEnd Sub当选中车次显示当前座位号和剩余票数,及拒售离开车只有五钟的车票Private Sub DataGrid1_Click()Dim cc As String, sum As Integersum = 0Adodc3.Recordset.MoveFirstAdodc4.Recordset.MoveFirstAdodc6.Recordset.MoveFirstAdodc7.Recordset.MoveFirstAdodc8.Recordset.MoveFirstIf Month(Date) = Combo2.Text And Day(Date) = Combo3.Text ThenIf (Hour(Text19.Text) - Hour(Now) * 60 + Minute(Text19.Text) - Minute(Now) Month(Text2.Text) ThenText4.Text = Int(Val(Text6.Text) * 0.1 + 0.5)ElseIf Month(Text5.Text) = Month(Text2.Text) ThenIf Day(Text5.Text) Day(Text2.Text) ThenText4.Text = Val(Text6.Text) - Int(Val(Text6.Text) * 0.1 + 0.5)ElseIf Day(Text5.Text) = Day(Text2.Text) ThenIf (Hour(Text9.Text) - Hour(Text2.Text) * 60 + Minute(Text9.Text) - Minute(Text2.Text) = 120 ThenText4.Text = Val(Text6.Text) - Int(Val(Text6.Text) * 0.1 + 0.5)ElseIf (Hour(Text9.Text) - Hour(Text2.Text) * 60 + Minute(Text9.Text) - Minute(Text2.Text) = 60 ThenText4.Text = Val(Text6.Text) - Int(Val(Text6.Text) * 0.2 + 1)ElseIf (Hour(Text9.Text) - Hour(Text2.Text) * 60 + Minute(Text9.Text) - Minute(Text2.Text) 5 ThenMsgBox 接近发车不能退票, 16, 错误 Form5.HideElseText4.Text = Int(Val(Text6.Text) * 0.3 + 1)End IfEnd IfEnd IfElseMsgBox 车票过期不能退, 16, 错误Form5.HideEnd IfEnd IfElseMsgBox 车票过期不能退, 16, 错误Form5.HideEnd IfEnd IfElseMsgBox 没有该票, 16, 错误End IfEnd Sub五、 软件使用说明书首先通过登录界面进行登录,登录的身份分为管理员和售票员,管理员的用户名默认为:Administrator,密码为:123456;售票员的用户名为自己的工号,初始密码也为:123456。密码的修改可以通过登录后选择文件菜单口令修改,进行密码的修改。售票员登录后能使用的菜单有:文件、售票、查询、统计。1、 售票菜单下有:销售车票、预订车票、退票等功能,退票时只需输入票号即可退票。2、 查询菜单下有:车次查询、时刻表查询、售票情况查询。车次查询可进行浏览和输入车次查询,选中某个车次后可查看它的途径站点。时刻表查询按时间的先后进行排列,一秒钟记录自动下移一条,同时显示该车的途径站点。售票情况查询按站名对每班车进行排列,每一秒钟移动一条记录,同时显示总的票数和剩余的票数。3、 统计菜单有:售票统计和报表打印。售票统计可以按车次进行统计,列出每一个次车所卖出的票数;也可以按售票员的工号进行统计,列出每位售票员卖出的票数。管理员登录后能使用的菜单有:文件、查询、调度、维护、统计。1、 文件菜单、查询菜单及统计菜单与售票员的相同2、 调度菜单下有:运价修改、车辆修改、终点站修

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论