数据库课程设计报告书_第1页
数据库课程设计报告书_第2页
数据库课程设计报告书_第3页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

1、淮海工学院计算机科学系课程设计报告设计名称:数据库原理及应用课程设计姓名:唐晓卉学号:110511323专业班级:计算机科学与技术053班(院):计算机科学系设计时间:2007618 2007630设计地点:机房和教室成绩:指导教师评语:签名:年 月 日数据库原理及应用课程设计、课程设计的目的数据库原理及应用课程设计是计算机科学与技术专业集中实践性环节之一,是学习完数据库原理及应用课程后进行的一次全面的综合练习。本课程设计主要在于加深学生对数据库基础理论和基本知识的理解,掌握数据库应用系统设计开发的基本方法,达到进一步使学生综合运用所学知识和增强实际动手能力的目的。二、课程设计的任务与要求要求

2、学生根据自身对题目的理解情况,从给定的设计题目中选择一个,以MS SQLServer作为后台数据库平台,以PowerBuilder作为前台开发工具,完成一个小型数据库应 用系统的系统的分析、设计和开发。三、课程设计说明书车站售票系统课题简介:车站售票管理系统是一套适用于各公路客运站的管理软件。用户可在本系统中实现方便、快速的销售功能,包括车票的预订和退票的功能,能够支持团体的预订票和退票;能准确地了解售票情况,提供多种查询和统计功能,如车次的查询、时刻表的查询;能按情 况所需实现对车次的更改、票价的变动及调度功能;有完善的报表系统;具有一定的维护 功能。并统计分析系统提供的各种统计信息表,便于

3、顾客购票,也便于领导准确了解营收、客源等情况,并及时做出策略调整。随着In ternet技术的发展,人们对网络数据库的交互和查询速度等性能的要求越来越高。未来车站的发展趋势是完全自动化的售票信息查询,网络订票,智能化订票,而且随着计算机的普及,信息处理量的逐渐扩大 ,手工处理方式已经远远不能满足人们管理活动的需 要,各种工作都逐渐由手工转为自动化 ,将使许多复杂、繁琐、且需要很多人力的工作变 得简单。车站售票管理是本系统的根本任务 ,通过实现票务信息的计算机管理,以提高工作效 率。实现计算机管理的最佳技术就是数据库技术。我们可以利用数据库将整个车站的票务情况存入计算机,再配置上功能丰富的用户接

4、口 ,以满足用户需求。一个车站售票信息管 理系统应达到的目标是提供及时 、广泛的信息服务,加快信息检索的效率,实况灵活的查 询,减轻管理人员制作报表和统计分析的负担,且系统规模不太大但又要保证支持日常工作的要求,以便系统应易于扩充,方便日后统一联网与管理,提高管理水平。车售票系统是用计算机管理车站票务信息的一种计算机应用技术的创新,在计算机还未普及之前售票业务都是由工作人员人工完成的,查询方式来操作的现在一般的车站售票业务都采用计算机智能化管理,采用计算机作为工具的实用的计算机订单管理程序来帮助前台管 理员进行更有效的车票业务查询,出售管理工作。车票出售管理系统是典型的信息管理系统(MIS),

5、其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于、数据安全性好的库。而对于后者则要求应用程序、快速的销售功能,包括车票的预订和退票的功;能准确地了解售票情况,提供多种查询和统计功;能按情况所需实现对车次的更改、票价的变动及前者要求建立起数据一致性和完整性强功能完备,易使用等特点。1系统需求分析1.1系统功能需求分析车站售票管理系统要求具有方便能,能够支持团体的预订票和退票能,如车次的查询、时刻表的查询调度功能;有完善的报表系统;具有一定的维护功能经过分析后确定系统应具备以下功能:(1 )、售票功能 销售车票 预订车票 退票(2 )、查询功能 车次查询 时刻表查询 预定情

6、况查询(3 )、调度功能 运价修改 车辆修改 终点站修改 车次修改(4 )、维护功能 车票表修改 密码修改 退出(5 )、统计功能 售票统计 报表打印1.2数据需求分析使用结构化分析方法,确定系统的数据主要是运价 、车次、终点站名、发车时间 和车票,对数据的操作主要有运价修改 、车次修改、终点站修改、发车时间修改、售 票及打印,可以确定系统的处理逻辑和流程 ,得到如下所示的系统数据流图 。1.3数据字典经过分析可以得到以下数据流条目:车次表=车辆编号+车型+座位数终点站名表=站名+里程运价表=车型+运价发车时刻表=车次+车辆编号+站名+发车时间+检票口已售车票表=票号+乘车日期+车次+站名+发

7、车时间+票价+全半价+工号+退票否预订车票表=预订号+乘车日期+车次+站名+发车时间+车型+票价+客户名称+订票数量退票表=票号+退票时间+票价+应退款售票员编号=工号+姓名2系统总体设计2.1系统总体结构设计车站售票管理系统售票功能查询功能调度功能维护功能统计功能时 刻 表 查 询销ppia车2.2系统数据模型设计2.2.1 E-R 图主键:外键:222关系模式车辆(车辆编号,车型,座位数)目标站名(站名,里程)发车时刻表(车次,站名,车辆编号,发车时间,检票口)途径(车次,站名) 车票(票号,乘车日期,车次,站名,票价,全半价,座位号,工号,退票否)预订(预订号,车次,站名,乘车日期,顾客

8、名称,票数)退票(票号,退票时间,票价,应退款)售票员(工号,姓名)运价(车型,价格)数据表预定表表“预定表”中的数据,位置是"tickt*站名顾客名称上米5 5 5 5 5 512 3 4 112 2 2 2 2 2车型1价格12500M352000ni-620<200vi5273000车辆表表K车辆表”中的数曙车辆輪号车型座位总数1"Tnkl355001105111jd2416001105112nr5207001105113vt527800_±_车票表表“车票表m中的数据,位置是申、w皿”上1乘车日期车挨站名票价235上海150113224S苏州1201

9、14B215南乐50113207.3 22225盐城50管理员表绐表“管理员表"中的数据|姓名1密码VmfSuffil111222娜娜222±目标站名表焉表髓目标站名'中的数据售票员表證表擔票员表”中的数据位置是中、“5询)”上工号姓名1密冏一小萍110111111112小媛112113小卉113发车时刻表检表'泼车时刻表"中的数据I位置星“gkL中* “ S迢严上车次站容1车辆鋼号发车时间1棉西口丨已订座位数L.110511010:20:00120225110511112:30:0021523S11051126:D0:X3242451105113

10、14:20:0045退票表r施表u退票表"中的数齬位诗是Htickt"要号退票时间尊价1应退款115014511321201153.系统实施结合PowerBuilder进行数据库应用开发的特点,设计过程可按如下步骤进行-岀车站售票管理系统(D:My Document据库邀据库- tickt (D:My DocumentsI据库谶据库课程设计 ticktpbl (D:My Documerts 库谧据库课程 tickt圍dE3 dI臼 国d 圍d.checi chelianp chepiaoxiaoshoul chepiaoKiugai facheshike fachetime

11、 houpiaololisn d_yudirgKiuga 国 djunjia d_2hongdianzhan rn_main vLcheci w_checiwiugai w_cheliarg 也main w_mimaxiug5i w_shikebiao *V_$houpiaotongji w_tuipiao w_wdcome 心 iaoshou wjuding w_jjudirigqingk w_vuniia w_zhongdiari2han、连接tickt数据库:/ Profile ticktSQLCA.DBMS = "MSS Microsoft SQL Server"S

12、QLCA.Database = "tickt"SQLCA. LogPass = "sa"SQLCA.ServerName = "37E48911880B444"SQLCA .L ogld = "sa"SQLCA.AutoCommit = FalseSQLCA.DBParm ="" conn ect;ope n( w_welcome)二、制作登陆界面系统分为管理员登陆和售票员登陆,并且他们的权限是不同的,在后面的系统功能介绍中会做详细的介绍。欢迎使用车站售票管理系统售票员退出,管理员j帐号密码登陆

13、登陆代码:stri ng user name,pasuser name = trim(sle _n ame.text)pas = trim(sle_pas.text)if isn ull(user name) or trim(usern ame)="" the n messagebox("提示","请输入用户名") sle_ name.setfocus() returnend ifif isnull(pas) or trim(pas)="" thenmessagebox("提示","请

14、输密码") sle_pas.setfocus()returnend ifstring tempif rb_2.checked=true the nselect 密码 into :temp from售票员表where 工号=:username;elseif rb_1.checked=true the nselect 密码 into :temp from管理员表where 工号=:username;elsemessagebox("提示","请输入用户类型”)end ifif sqlca.sqlcode =0 the nif trim(temp)=pas th

15、e nope n( w_mai n)if rb_2.checked=true the nma inmen u.m_ 调度.m_ 运价修改.en abled=falsemainmenu.m_ 调度.m_车辆修改.enabled=false ma inmen u.m_ 调度.m_ 终点站修改.en abled=false ma inmen u.m_ 调度.m_ 车次修改.en abled=false mainmenu.m_ 维护.m_车票表修改.enabled=false ma inmen u.m_ 维护.m_ 预订车票表修改.en abled=false mainmenu.m_ 维护.m_退票表

16、修改.enabled=false ma inmen u.m_ 维护.m_ 密码修改.en abled=false end ifclose(w_logi n)elsemessagebox("错误","输入有误") end if elsemessagebox("错误","用户名或密码错误")sle_ name.setfocus()returnend if二、系统主界面:F面介绍部分功能1.车票销售功能输入目的地点击查询后口幣昔车黑目的地 丽L_查函销售车票表车票表车票表车辆表车票表 座位总数乘车日期发车时刻表发车时刻表

17、发车时刻表发车时刻表 已订座任数车炭站名票价车辆编号境车时间检票口225盐城50jd2411105111 1899-12-302I51225盐城50nkl35500073.221105111 1890-12-30215|?25盐城50nr6201105111 1899-12-30215225盐城50¥©5271105111 1899-12-30215查询语句:long rowsint a,bstri ng target,checiif trim(sle_1.text)="" the nmessagebox("提示","请输入

18、目的地") sle_1.setfocus() returnend iftarget=trim(sle_1.text)if len (target)。the ndw_chepiao.setfilter(" 车票表 _站名='"+target+"”') dw_chepiao.filter()rows =dw_chepiao.retrieve()if rows=0 the nmessagebox(" 提示","无车票")returnend ifcheci=dw_chepiao.object. 车票表 _车

19、次1a=dw_chepiao.object.发车时刻表已订座位数1b=dw_chepiao.object.车辆表座位总数1 returnend if销售语句:int a,bstri ng checiif b>a the na=a+1Update发车时刻表 set发车时刻表已订座位数=:awhere发车时刻表.车次=:checi;if sqlca.sqlcode<>0 the nmessagebox("提示","车票销售失败”)rollback;returnend ifcommit;messagebox("提示","销

20、售成功")elsemessagebox("提示","座位数以满")returnend if查询到信息后点击销售按钮,销售成功后再次查询已订座位数变化了其中售票窗口的控件的建立如下图所示:耳d._ahipL KiiHLtidcl (i: ny dn nut Ent x设计 .ti ckt. ptl) - L&tnWintioA1無表蒔恭票吞辆疥车辆表 车票表发车时刻袤发车时刻疝发至曲碾一发军亓刻表 车抚站名票价车型座位总数乘车日期车辆编号发车时何栓票口已订屢位数Headef I车票表车票表车票表_车辆表车辆衆_痙车票衆_#发车时刻衆发车时

21、剽表一发车时劇衰_发车时刻衰D就汕I1'一Sivwurirr车票表车票表车票衰车辆表 车辆表 车票表岌车时刻表发车时刻表发车时劇衰岌车时刻表 车冼站名票价车型座位总数乘车日期车辆编号发车时间 栓票口 已订痙位数215 南京 1201MameTpp®Pdcmpt Inibal ValueVai da lion Eprs-sioniValidation MessageDD车策表一车找cha厂车12车票表_站呂cMiOr羽3number厂2.下面演示预定功能和预定查询功能选择好车次后输入预定的信息预定语句:string checi,cname,piaoshu,zhanmingzha

22、 nmin g=sle_4.textcn ame=sle_1.textcheci=sle_3.textpiaoshu=sle_2.textselect车次into :checifrom 预定表where 车次=:checi;if len( checi)=0 the nmessageBox("错误","没有这个车次r)returnend ifinsert into 预定表(车次,站名,顾客名称,票数)values(:checi,:zhanming,:cname,:piaoshu);commit;messageBox("谢谢使用!",”预定成功&q

23、uot;)预定成功后查询预定情况会在预定表中生成一条相映的记录查询调廈錐护貌计车決萱询 时刻表查询11预定悟况査询O孤定情况査诲预定情况查询站名顾客名称票数215南京TT5225盐城张莉2235上悔13 演示退票功能nk 曰 Tg?退票车次235顾客名称j _提示V1) 退票成功?票数1I匸二确定二_退票将退票人的信息输入后再查询预定情况此时定票数改变,口预定悟况查询预定情况查询车次站名顾客名称票数215南示TT5225盐城张利2235上海张平4 .演示统计功能:二管票蜒计条件_3车方 J215j 查询S) ®回退出发郭W醤聽紀计215 60 20 1200,'统计功能代码l

24、ong rowsstri ng targetif trim(sle_1.text)="" the nmessagebox("提示","请输入车次")sle_1.setfocus()returnend iftarget=trim(sle_1.text)if len (target)。the ndw_1.setfilter("发车时刻表 _车次='"+target+"”')dw_1.filter()rows =dw_1.retrieve()if rows=0 the nmessagebox(&

25、quot;提示","无此车次")returnend ifcheci=dw_1.object.车票表 _车次1a=dw_chepiao.object.发车时刻表已订座位数1b=dw_chepiao.object.车辆表座位总数1returnend if5 演示密码修改功能密码修改代码为stri ng password1,password2,oldpasswordpassword1=trim(sle_pas1.text)password2=trim(sle_pas2.text)oldpassword=trim(sle_oldpas.text)if isn ull(pa

26、ssword1) or len( password1)=0 the n messagebox("提示","请输入新密码") returnend ifif isn ull(password2) or len( password2)=0 the nmessagebox("提示",”请输入确认密码") returnend ifif isnu ll(oldpassword) or len( oldpassword)=0 the n messagebox("提示",”请输入旧密码”) returnend ifif

27、password1<>password2 the nmessagebox("错误","两次密码不一致")sle_pas1.text=""sle_pas2.text=""sle_pas1.setfocus()returnend ifif userkind=" 售票员"thenupdate售票员表set 密码=:password1where 工号=:username;end ifif userkind=" 管理员 ” thenupdate管理员表set 密码=:password

28、1where 工号=:username;end if if sqlca.sqlcode<>0 the nrollback;messagebox("提示","旧密码错误”)return end if commit;messagebox("提示",”密码修改成功") close(w_mimaxiugai)6 .演示各种查询功能上一贝下一页増加修改车次表和时刻表查询功能口车汝查询(T j L 十 j 1 口车次查询车次站名车辆编号发车时间检票口已订座竝南示10:20:001225盐城1105111 1899-12-30 12:3

29、0:002235上海08:00:0037 演示修改功能终点站修改车次修改其他修改例如:运价、车辆、车票表修改同上4系统评价4.1系统特色首先通过登录界面进行登录 ,登录的身份分为管理员和售票员,售票员的用户名为自己的工号。售票员登录后能使用的菜单有:售票、查询、统计。1、售票菜单下有:销售车票、预订车票、退票等功能2、查询菜单下有:车次查询、时刻表查询、预定情况查询。3、 统计菜单有:统计功能。售票统计可以按车次进行统计,列出每一个次车所卖出的票 数。管理员登录后能使用的菜单有:售票、查询、调度、维护、统计。2、 调度菜单下有:运价修改、车辆修改、终点站修改、车次修改。运价修改可以修改运 输的单价。车辆修改可以进行对车辆进行添加 、修改、删除。终点站修改可以进行对终点 站的添加、修改、删除。车次修改可以进行添加、修改、删除车次实现调度。3、 维护菜单下有:车票表修改,密码修改,退出。车票表修改、预订车票表修改具有更 新功能。密码修改可以让登录者修改密码。4.2系统不足及改进系统还有许多不人性化和智能化的地方,许多方面需要改进,比

温馨提示

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

评论

0/150

提交评论