




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据库原理及应用课程设计报告题目: 火车票售票系统 所在学院: 信息工程学院 班 级: 学 号: 姓 名: 指导教师: 2013年1月3日33目录一、 概述 - 3二、 需求分析 - 3三、 概念设计 - 5四、 逻辑设计 - 7五、 系统实现 - 9六、 小结 - 14一、概述数据库技术是20世纪60年代末在文件系统基础上发展起来的数据管理新技术,它解决了过去对数据管理和组织中存在的数据冗余和独立性问题,实现了数据的共享性、完整性、安全性、有效性目标。数据库技术的发展和广泛使用,为人类社会进入信息化社会奠定了坚实的基础。随着社会和经济不断的发展,数据和信息也随之快速增长起来,为有效地组织和管
2、理庞大的数据和信息,严密科学合理的数据管理技术也就成为迫切的技术问题之一。现在人们更多的使用火车作为出行交通工具,因此车票票务市场也在快速发展。人们希望车票销售手段也能相应地有所调整,并对如何能经济、方便和及时地购买到自己所需要的车票表现出极大的关注。随着社会的不断进步,国内外铁路运输事业的飞速发展,各国铁路运营部门对票务管理的要求也在不断的提高,本系统就是针对这种日益增长的需求而进行开发的。随着旅游业的逐渐的成熟发达,铁路客运量大幅度的提高,国内旅游专线的增加,这些都对铁路的售票管理系统提出了更高的要求,所以要不断的完善更新铁路售票系统,提高铁路售票系统的工作效率。铁路运输系统中,售票系统是
3、很重要的一个环节,要想提高整个铁路运营部门的工作效率,就要先提高售票系统的工作效率和安全性,故而研发此系统,此系统能够为售票工作提供方便快捷的售票服务,广大的客户可以得到更好的票务服务。二、需求分析1.系统功能需求分析随着我国市场经济的快速发展和信息化水平的不断提高,如何利用先进的管理手段,提高火车售票管理系统的水平,是当今社会所面临的一个课题。提高企业的管理水平,必须全方位地提高企业的管理意识。只有高标准、高质量的管理才能满足铁路的发展需求。面对信息时代的挑战,利用高科技手段来提火车售票管理系统无疑是一条行之有效的途径。在某种意义上,信息与科技在企业管理与现代化建设中显现出越来越重要的地位。
4、火车售票管理系统方面的信息化与科学化,已成为现代化生活水平步入高台阶的重要标志。本系统开发简单但要耗去一定的时间,所用的开发工具和软件都差不多是免费的。而且,由于系统能够在未来较长的一段时期内稳定地发挥作用,这对于铁路售票自动化管理,节省人力、物力资源等都有很大的帮助。由此可见,开发此系统在经济上是完全可行的本系统的。本系统包含用户子系统和管理员子系统两个子系统,每个子系统包换了若干子功能模块,每个子功能模块完成相应的处理操作功能。其中管理员的权限是大于用户的。基本设计流程如下图所示:2.数据需求分析2.1静态数据 火车票:列车车号 列车始发时间 列车始发站 列车终点站 票务:列车车号 已售出
5、车票票数 售票员:用户名 密码 2.2动态数据输入数据:根据界面提示,键盘输入操作; 查询方式:查询车次、查询始发站;三、概念设计根据对数据项与数据结构的分析,设计出能够满足系统需求的各种实体,及它们之间的关系,为后面的逻辑结构设计打下基础。在火车票售票管理系统当中包括了以上几个ER模型向关系模型的转换: 用户信息表, 车票信息表, 购票车表。l 车次信息(E-R图):l 用户信息(E-R图):l 订单信息(E-R图):l 整体E-R图:四、逻辑设计数据库逻辑结构设计就是把E-R图转化成数据库所能接受的结构模型,也就是关系表。根据高校毕业生就业管理系统的功能要求,该数据库逻辑模型由以下表组成:
6、1、用户表(user)字段名中文名键别是否空数据类型长度User_name用户名PKNOVarchar8Id_number用户密码NOVarchar16password用户权限Int8创建user表:create table user (user_name varchar (8)not null primary key, id_number Varchar (16) not null, password int(8) );2、车次信息表(train_table)字段名中文名键别是否空数据类型长度startTime开车时间NoVarchar20endTime到达时间NoVarchar20reac
7、her目的地NoVarchar50starter发车地点NoVarchar50tickektNumber车号PKNoVarchar20tickektNum票号NoInt20price票价Nodouble20tid购买时间Int50BusDate车次日期NoVarchar20seatIdNumber座位号码NoVarchar10创建train_table表: create table train_table(startTime Varchar(20)not null, endTime Varchar(20)not null, starter Varchar (50) not null, reac
8、her Varchar (50) not null, ticketNumbe Varchar (20)not null primary key, price double(20)not null, tid Int(50) seatIdNumber Varchar (10) not null, busDate Varchar (20) not null, );3、订单信息(order)字段名中文名键别是否空数据类型长度tid购买时期NoDate50Id_number用户密码NoVarchar16trainsum列车次数NoInt100创建order表: create table order(ti
9、d Date(20)not null, id_number varchar (16) not null, trainsum Int(100)not null,);五、系统实现用户登录及访问权限本系统设计要求用户通过登录框选择访问权限,登录系统。其中,用户须输入用户名和密码,以进入系统。系统用户权限登录访问时,车次信息查询、订票信息查询、订票、退票等功能均可用。系统用户输入正确的用户名和密码,访问系统,得到其相应的权限。 系统用户输入错误的用户名或身份证号,系统拒绝其访问。实现功能的部分代码:public class EnterFrame extends JFrame private Strin
10、g str;/* * */private static final long serialVersionUID = 1L;JTextField field1 = new JTextField(12);JPasswordField jpField = new JPasswordField(12);JTextField field = new JTextField(9);JTextField birthIdField = new JTextField(12);JLabel lab2 = null;private String USER = null;public static String ID
11、= null;public static String password = null;String s = new String "0", "1", "2", "3", "4", "5", "6", "7", "8","9", "A", "B", "C", "D", "E", "F&qu
12、ot;, "G", "H", "I", "J", "K", "L","M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y","Z"
13、; ;public EnterFrame() Border border = BorderFactory.createBevelBorder(BevelBorder.RAISED);Border border2 = BorderFactory.createBevelBorder(BevelBorder.LOWERED);JPanel pan5 = new JPanel();JLabel lab = new JLabel();Font font = new Font("", Font.ITALIC, 30);lab.setText("欢迎登陆火车售票系统"
14、);lab.setForeground(Color.BLUE);lab.setFont(font);pan5.add(lab);JPanel pn1 = new JPanel();JLabel label1 = new JLabel("姓 名:");label1.setFont(new Font("", Font.PLAIN, 20);pn1.add(label1);field1.setBorder(border2);pn1.add(field1);JPanel pn6 = new JPanel();JLabel label = new JLabel(&
15、quot;身份证号:");label.setFont(new Font("", Font.PLAIN, 20);birthIdField.setBorder(border2);label1.setFont(new Font("", Font.PLAIN, 20);pn6.add(label);birthIdField.setBorder(border2);pn6.add(birthIdField);JPanel pn2 = new JPanel();JLabel label2 = new JLabel("密 码:");lab
16、el2.setFont(new Font("", Font.PLAIN, 20);jpField.setEchoChar('*');jpField.setBorder(border2);pn2.add(label2);pn2.add(jpField);JPanel pan3 = new JPanel();JLabel lab1 = new JLabel("验 证 码: ");lab1.setFont(new Font("", Font.PLAIN, 20);str = yanzheng();lab2 = new JLa
17、bel(str);pan3.add(lab1);field.setBorder(border2);pan3.add(field);pan3.add(lab2);JPanel pan4 = new JPanel();JButton button1 = new JButton("登 录");button1.setBorder(border);button1.setPreferredSize(new Dimension(80, 35);车次信息查询对车次信息的查询,系统提供了车次信息,进行精确的查询,系统经过检索,返回符合用户要求的车次,再由用户自行选择满意的车次。 实现功能的部
18、分代码:private void idSelect() throws SQLException Connection conn = DriverManager.getConnection("jdbc:oracle:thin:127.0.0.1:1521:ORCL", "store", "store");Statement stmt = conn.createStatement();String text = "select * from train_table where ticketNumber='"+
19、trainField.getText() + "'"ResultSet ticket = stmt.executeQuery(text);while (ticket.next() int tid = ticket.getInt("tid");String starter = ticket.getString("starter");String reacher = ticket.getString("reacher");String ticketNumber = ticket.getString("
20、ticketNumber");String startTime = ticket.getString("startTime");String endTime = ticket.getString("endTime");String seatIdNumber = ticket.getString("seatIdNumber");String busDate = ticket.getString("busDate");int ticketNum = ticket.getInt("ticketNum&
21、quot;);double price = ticket.getDouble("price");sb.append(" " + tid + "t" + starter + "t" + reacher + "t"+ ticketNumber + "t" + startTime + "t" + endTime + "t"+ seatIdNumber + "t" + busDate + "t"+ &qu
22、ot; " + ticketNum + "t"+ " "+ price + " " + "n");jtArea.setText(sb.toString();if (sb.length() > 0) sb.delete(1, sb.length();else JOptionPane.showMessageDialog(new TestFrame(), "无此车!");ticket.close();stmt.close();conn.close();退票系统进入点击退票按钮进行退票,
23、系统返回退票信息。 实现功能的部分代码:class pane2 extends JPanel JLabel l1 = new JLabel(" 身份证号码 ");JLabel l2 = new JLabel(" 车 票 号 码 ");JLabel l3 = new JLabel(" 身份证号码 ");JLabel l4 = new JLabel(" 密码 ");JLabel la1 = new JLabel(" ");JLabel la2 = new JLabel(" ");
24、JButton orderCheckButton = new JButton("订单查询");JButton exitButton = new JButton("确认退票");JPanel pan1 = new JPanel();JPanel pan3 = new JPanel();public pane2() exitButton.addActionListener(new ActionListener() Overridepublic void actionPerformed(ActionEvent e) are.setText(" &qu
25、ot;);UpdateTrain();); 售票 系统通过售票员输入的车次、始末站等信息进行售票。 实现功能的部分代码:class pan3 extends JPanel JLabel lId = new JLabel(" 车票号码 ");JLabel ltid = new JLabel(" 车票号码 ");JLabel che = new JLabel(" 车 次 ");JLabel lbodyId = new JLabel(" 身份证号 ");JLabel password = new JLabel(" 密码 ");JLabel lzhangshu = new JLabel(" 所需张数 ");JLabel la1 = new JLabe
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 代表风采活动方案
- 代驾公司冲值活动方案
- 以点带面式促销活动方案
- 仪式激励活动方案
- 价格诚信活动方案
- 浙江省嘉兴市海盐县2023-2024学年五年级下学期期末数学试卷(含答案)
- 仿古闹元宵活动方案
- 企业争优活动方案
- 企业元旦登山活动方案
- 企业公益服务月活动方案
- 幼儿园公开课:中班语言《跑跑镇》课件
- 孩子的玩耍与学习的平衡
- 大学物理实验(上):透镜焦距的测量
- BEC-V-剑桥商务英语中级真题集-第三辑第四辑第五辑合并-Word版-附答案及听力原文
- 《国歌法》、《国旗法》主题班会
- 回避声明模板
- 2023年检验检测机构质量手册(依据2023年版评审准则编制)
- 变压器空负载损耗表
- 职业生涯人物访谈报告采访教师
- 货物验收单表格模板
- 天津水务公司招聘考试试题
评论
0/150
提交评论