当前位置:文档之家› 数据库设计文档

数据库设计文档

—学院数据库课程设计报告><电子技术系~专业班级学生姓名指导教师实习地点(:数据库设计文档一、系统需求分析报告(数据流图、数据词典和功能分析)系统应具有售票、查询、管理和维护等功能,系统管理员可以进行对车次的更改、票价的变动及调度功能,票价的修改可以通过修改运价来进行,车次调度可通过对发车时刻表的修改来进行,维护功能即可对表进行修改。

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图》2、关系模式车辆(车辆编号,车型,座位数) 目标站名(站名,里程)发车时刻表(车次,站名,车辆编号,发车时间,检票口)途径(车次,站名) 车票(票号,乘车日期,车次,站名,票价,全半价,座位号,工号,退票否) 预订(预订号,车次,站名,乘车日期,顾客名称,票数) 退票(票号,退票时间,票价,应退款) 售票员(工号,姓名)]运价(车型,价格)3、数据库结构车辆表: 主键: :车票表:退票表:》四、:车站售票管理系统售票功能 查询功能;维护功能 统计功能销售车票预订车票退票车次查询时刻表查询:售票情况查询运价修改车辆修改终点站修改车次修改已售车票表预订车票表退票表>售票统计报表打印五、程序模块设计与调试(设计和调试各程序模块,提交主要的程序段)用户登入用户名和密码校对:Private Sub Cmdok_Click()>Dim username1 As String, username2 As Stringusername1 =If ThenSet = Adodc1= "口令"If username1 <> "" Thenusername2 = "用户名='" & username1 & "'"username2》If ThenMsgBox "用户名错误请重输", 16, "错误"ElseIf <> ThenMsgBox "密码错误请重输", 16, "错误"= ""ElseEnd IfEnd IfEnd IfElseIf ThenSet = Adodc2= "口令"…If username1 <> "" Thenusername2 = "工号='" & username1 & "'"username2If ThenMsgBox "用户名错误请重输", 16, "错误"ElseIf <> ThenMsgBox "密码错误请重输", 16, "错误"—= ""ElseEnd IfEnd IfEnd IfEnd If#End IfEnd Sub当选中车次显示当前座位号和剩余票数,及拒售离开车只有五钟的车票Private Sub DataGrid1_Click()Dim cc As String, sum As Integersum = 0Month(Date) = And Day(Date) = ThenIf (Hour - Hour(Now)) * 60 + Minute - Minute(Now) < 5 Then…MsgBox "已接近开车,停止售票", 64, "错误"= FalseElse= TrueEnd IfElse= TrueEnd If》cc = "车型='" & & "'"cccc = "站名='" & & "'"ccIf = "全" Then= Int(Val * Val +Else= Int(Val * Val / 2 +》End IfWhile Not If Year(Text12) = Year(Date) And Month(Text12) = And Day(Text12) = And = And = "F" Thensum = sum + 1End If= sum + 1Not If Year(Text12) = Year(Date) And Month(Text12) = And Day(Text12) = And = And = "T" Then=flag = "T"ElseEnd IfWendWhile Not If Year = Year(Date) And Month = And Day = And = Then sum = sum + ValEnd If= "车次='" & & "'"cccc = " 车辆编号='" & & "'"cc= Val - sumEnd Sub退票时当输入票号后算出应退款Private Sub Text1_LostFocus()Dim cc As String= "票号='" & & "'"cc== Nowcc = "车次='" & & "'"ccIf Not ThenIf Month > Month Then= Int(Val * +ElseIf Month = Month ThenIf Day > Day Then= Val - Int(Val * +ElseIf Day = Day ThenIf (Hour - Hour) * 60 + Minute - Minute >= 120 Then= Val - Int(Val * +ElseIf (Hour - Hour) * 60 + Minute - Minute >= 60 Then= Val - Int(Val * + 1)ElseIf (Hour - Hour) * 60 + Minute - Minute < 5 ThenMsgBox "接近发车不能退票", 16, "错误"Else= Int(Val * + 1)End IfEnd IfEnd IfElseMsgBox "车票过期不能退", 16, "错误"End IfEnd IfElseMsgBox "车票过期不能退", 16, "错误"End IfEnd IfElseMsgBox "没有该票", 16, "错误"End IfEnd Sub六、软件使用说明书首先通过登录界面进行登录,登录的身份分为管理员和售票员,管理员的用户名默认为:Administrator,密码为:123456;售票员的用户名为自己的工号,初始密码也为:123456。

密码的修改可以通过登录后选择文件菜单→口令修改,进行密码的修改。

售票员登录后能使用的菜单有:文件、售票、查询、统计。

1、售票菜单下有:销售车票、预订车票、退票等功能,退票时只需输入票号即可退票。

2、查询菜单下有:车次查询、时刻表查询、售票情况查询。

车次查询可进行浏览和输入车次查询,选中某个车次后可查看它的途径站点。

时刻表查询按时间的先后进行排列,一秒钟记录自动下移一条,同时显示该车的途径站点。

售票情况查询按站名对每班车进行排列,每一秒钟移动一条记录,同时显示总的票数和剩余的票数。

3、统计菜单有:售票统计和报表打印。

售票统计可以按车次进行统计,列出每一个次车所卖出的票数;也可以按售票员的工号进行统计,列出每位售票员卖出的票数。

管理员登录后能使用的菜单有:文件、查询、调度、维护、统计。

1、文件菜单、查询菜单及统计菜单与售票员的相同2、调度菜单下有:运价修改、车辆修改、终点站修改、车次修改。

运价修改可以修改运输的单价。

车辆修改可以进行对车辆进行添加、修改、删除。

终点站修改可以进行对终点站的添加、修改、删除。

车次修改可以进行添加、修改、删除车次实现调度。

3、维护菜单下有:车票表修改、预订车票表修改、退票表修改、密码修改。

车票表修改、预订车票表修改和退票表修改都具有添加、删除、更新等功能。

密码修改可以对所有的售票员的口令进行修改、和删除,同时也可以进行添加,点击添加后是对售票员表添加售票员的工号和姓名,同时在售票员口令表里生成售票员的工号与初始密码123456。

相关主题