数据库课程设计:火车票管理系统_第1页
数据库课程设计:火车票管理系统_第2页
数据库课程设计:火车票管理系统_第3页
数据库课程设计:火车票管理系统_第4页
数据库课程设计:火车票管理系统_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

PAGEPAGE14数据库原理及应用课程设计报告题目:火车票售票系统所在学院:信息工程学院班级:学号:姓名:指导教师:2013年1月3日目录概述3需求分析3概念设计5逻辑设计7系统实现9小结14一、概述数据库技术是20世纪60年代末在文件系统基础上发展起来的数据管理新技术,它解决了过去对数据管理和组织中存在的数据冗余和独立性问题,实现了数据的共享性、完整性、安全性、有效性目标。数据库技术的发展和广泛使用,为人类社会进入信息化社会奠定了坚实的基础。随着社会和经济不断的发展,数据和信息也随之快速增长起来,为有效地组织和管理庞大的数据和信息,严密科学合理的数据管理技术也就成为迫切的技术问题之一。现在人们更多的使用火车作为出行交通工具,因此车票票务市场也在快速发展。人们希望车票销售手段也能相应地有所调整,并对如何能经济、方便和及时地购买到自己所需要的车票表现出极大的关注。随着社会的不断进步,国内外铁路运输事业的飞速发展,各国铁路运营部门对票务管理的要求也在不断的提高,本系统就是针对这种日益增长的需求而进行开发的。随着旅游业的逐渐的成熟发达,铁路客运量大幅度的提高,国内旅游专线的增加,这些都对铁路的售票管理系统提出了更高的要求,所以要不断的完善更新铁路售票系统,提高铁路售票系统的工作效率。铁路运输系统中,售票系统是很重要的一个环节,要想提高整个铁路运营部门的工作效率,就要先提高售票系统的工作效率和安全性,故而研发此系统,此系统能够为售票工作提供方便快捷的售票服务,广大的客户可以得到更好的票务服务。二、需求分析1.系统功能需求分析随着我国市场经济的快速发展和信息化水平的不断提高,如何利用先进的管理手段,提高火车售票管理系统的水平,是当今社会所面临的一个课题。提高企业的管理水平,必须全方位地提高企业的管理意识。只有高标准、高质量的管理才能满足铁路的发展需求。面对信息时代的挑战,利用高科技手段来提火车售票管理系统无疑是一条行之有效的途径。在某种意义上,信息与科技在企业管理与现代化建设中显现出越来越重要的地位。火车售票管理系统方面的信息化与科学化,已成为现代化生活水平步入高台阶的重要标志。本系统开发简单但要耗去一定的时间,所用的开发工具和软件都差不多是免费的。而且,由于系统能够在未来较长的一段时期内稳定地发挥作用,这对于铁路售票自动化管理,节省人力、物力资源等都有很大的帮助。由此可见,开发此系统在经济上是完全可行的本系统的。本系统包含用户子系统和管理员子系统两个子系统,每个子系统包换了若干子功能模块,每个子功能模块完成相应的处理操作功能。其中管理员的权限是大于用户的。基本设计流程如下图所示:2.数据需求分析2.1静态数据火车票:列车车号列车始发时间列车始发站列车终点站票务:列车车号已售出车票票数售票员:用户名密码2.2动态数据输入数据:根据界面提示,键盘输入操作;查询方式:查询车次、查询始发站;三、概念设计根据对数据项与数据结构的分析,设计出能够满足系统需求的各种实体,及它们之间的关系,为后面的逻辑结构设计打下基础。在火车票售票管理系统当中包括了以上几个ER模型向关系模型的转换:用户信息表,车票信息表,购票车表。车次信息(E-R图):用户信息(E-R图):订单信息(E-R图):整体E-R图:四、逻辑设计数据库逻辑结构设计就是把E-R图转化成数据库所能接受的结构模型,也就是关系表。根据高校毕业生就业管理系统的功能要求,该数据库逻辑模型由以下表组成:1、用户表(user)字段名中文名键别是否空数据类型长度User_name用户名PKNOVarchar8Id_number用户密码NOVarchar16password用户权限Int8创建user表:createtableuser(user_namevarchar(8)notnullprimarykey,id_numberVarchar(16)notnull,passwordint(8));2、车次信息表(train_table)字段名中文名键别是否空数据类型长度startTime开车时间NoVarchar20endTime到达时间NoVarchar20reacher目的地NoVarchar50starter发车地点NoVarchar50tickektNumber车号PKNoVarchar20tickektNum票号NoInt20price票价Nodouble20tid购买时间Int50BusDate车次日期NoVarchar20seatIdNumber座位号码NoVarchar10创建train_table表:createtabletrain_table(startTimeVarchar(20)notnull,endTimeVarchar(20)notnull,starterVarchar(50)notnull,reacherVarchar(50)notnull,ticketNumbeVarchar(20)notnullprimarykey,pricedouble(20)notnull,tidInt(50)seatIdNumberVarchar(10)notnull,busDateVarchar(20)notnull,);3、订单信息(order)字段名中文名键别是否空数据类型长度tid购买时期NoDate50Id_number用户密码NoVarchar16trainsum列车次数NoInt100创建order表:createtableorder(tidDate(20)notnull,id_numbervarchar(16)notnull,trainsumInt(100)notnull,);五、系统实现用户登录及访问权限本系统设计要求用户通过登录框选择访问权限,登录系统。其中,用户须输入用户名和密码,以进入系统。系统用户权限登录访问时,车次信息查询、订票信息查询、订票、退票等功能均可用。系统用户输入正确的用户名和密码,访问系统,得到其相应的权限。系统用户输入错误的用户名或身份证号,系统拒绝其访问。实现功能的部分代码:publicclassEnterFrameextendsJFrame{ privateStringstr; /** * */ privatestaticfinallongserialVersionUID=1L; JTextFieldfield1=newJTextField(12); JPasswordFieldjpField=newJPasswordField(12); JTextFieldfield=newJTextField(9); JTextFieldbirthIdField=newJTextField(12); JLabellab2=null; privateStringUSER=null; publicstaticStringID=null; publicstaticStringpassword=null; Strings[]=newString[]{"0","1","2","3","4","5","6","7","8", "9","A","B","C","D","E","F","G","H","I","J","K","L", "M","N","O","P","Q","R","S","T","U","V","W","X","Y", "Z"}; publicEnterFrame(){ Borderborder=BorderFactory.createBevelBorder(BevelBorder.RAISED); Borderborder2=BorderFactory.createBevelBorder(BevelBorder.LOWERED); JPanelpan5=newJPanel(); JLabellab=newJLabel(); Fontfont=newFont("",Font.ITALIC,30); lab.setText("欢迎登陆火车售票系统"); lab.setForeground(Color.BLUE); lab.setFont(font); pan5.add(lab); JPanelpn1=newJPanel(); JLabellabel1=newJLabel("姓名:"); label1.setFont(newFont("",Font.PLAIN,20)); pn1.add(label1); field1.setBorder(border2); pn1.add(field1); JPanelpn6=newJPanel(); JLabellabel=newJLabel("身份证号:"); label.setFont(newFont("",Font.PLAIN,20)); birthIdField.setBorder(border2); label1.setFont(newFont("",Font.PLAIN,20)); pn6.add(label); birthIdField.setBorder(border2); pn6.add(birthIdField); JPanelpn2=newJPanel(); JLabellabel2=newJLabel("密码:"); label2.setFont(newFont("",Font.PLAIN,20)); jpField.setEchoChar('*'); jpField.setBorder(border2); pn2.add(label2); pn2.add(jpField); JPanelpan3=newJPanel(); JLabellab1=newJLabel("验证码:"); lab1.setFont(newFont("",Font.PLAIN,20)); str=yanzheng(); lab2=newJLabel(str); pan3.add(lab1); field.setBorder(border2); pan3.add(field); pan3.add(lab2); JPanelpan4=newJPanel(); JButtonbutton1=newJButton("登录"); button1.setBorder(border); button1.setPreferredSize(newDimension(80,35));车次信息查询对车次信息的查询,系统提供了车次信息,进行精确的查询,系统经过检索,返回符合用户要求的车次,再由用户自行选择满意的车次。实现功能的部分代码: privatevoididSelect()throwsSQLException{ Connectionconn=DriverManager.getConnection( "jdbc:oracle:thin:@127.0.0.1:1521:ORCL","store","store"); Statementstmt=conn.createStatement(); Stringtext="select*fromtrain_tablewhereticketNumber='" +trainField.getText()+"'"; ResultSetticket=stmt.executeQuery(text); while(ticket.next()){ inttid=ticket.getInt("tid"); Stringstarter=ticket.getString("starter"); Stringreacher=ticket.getString("reacher"); StringticketNumber=ticket.getString("ticketNumber"); StringstartTime=ticket.getString("startTime"); StringendTime=ticket.getString("endTime"); StringseatIdNumber=ticket.getString("seatIdNumber"); StringbusDate=ticket.getString("busDate"); intticketNum=ticket.getInt("ticketNum"); doubleprice=ticket.getDouble("price"); sb.append(""+tid+"\t"+starter+"\t"+reacher+"\t" +ticketNumber+"\t"+startTime+"\t"+endTime+"\t" +seatIdNumber+"\t"+busDate+"\t"+""+ticketNum+"\t" +""+price+""+"\n"); } jtArea.setText(sb.toString()); if(sb.length()>0){ sb.delete(1,sb.length()); } else{ JOptionPane.showMessageDialog(newTestFrame(),"无此车!"); } ticket.close(); stmt.close(); conn.close(); }}退票系统进入点击退票按钮进行退票,系统返回退票信息。实现功能的部分代码: classpane2extendsJPanel{ JLabell1=newJLabel("身份证号码"); JLabell2=newJLabel("车票号码"); JLabell3=newJLabel("身份证号码"); JLabell4=newJLabel("密码"); JLabella1=newJLabel(""); JLabella2=newJLabel(""); JButtonorderCheckButton=newJButton("订单查询"); JButtonexitButton=newJButton("确认退票"); JPanelpan1=newJPanel(); JPanelpan3=newJPanel(); publicpane2(){ exitButton.addActionListener(newActionListener(){ @Override publicvoidactionPerformed(ActionEvente){ are.setText(""); UpdateTrain(); } });售票系统通过售票员输入的车次、始末站等信息进行售票。实现功能的部分代码: classpan3extendsJPanel{ JLabellId=newJLabel("车票号码"); JLabelltid=newJLabel("车票号码"); JLabelche=newJLabel("车次"); JLabellbodyId=newJLabel("身份证号"); JLabelpassword=newJLabel("密码"); JLabellzhangshu=newJLabel("所需张数"); JLabe

温馨提示

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

评论

0/150

提交评论