《火车票网上订票系统.docx》由会员分享,可在线阅读,更多相关《火车票网上订票系统.docx(71页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、摘 要随着我国铁路交通的不断发展,简单的窗口售票模式已经不能满足方便人们出行的目的。采用先进的网络技术开发出方便快捷的网上订票系统是现代客运业务发展的必然需求。本次设计的火车票网上订票系统通过访问主页,可以实现个人信息注册、车次车票价格查询、在线订票退票等基本功能,为用户提供方便快捷的订票服务。本系统共有六个功能模块:登录功能模块、个人主页模块、查询功能模块、火车票预定模块、车次管理功能模块及火车票管理功能模块。通过登录站点http:/localhost:8080/TBS/ 可以访问系统主页面,普通用户可以进行个人资料的注册、车次车票查询、订票退票等操作,管理员用户可完成车票的管理、车次的管理
2、、途径站点的管理等功能。本系统采用了 B/S 模式的结构设计,采用 Java 语言开发。界面设计采用MyEclipes8.5 作为前台应用开发工具。后台选用 MySQL5.5 数据库进行支持,采用 MySQL Workbench 提供数据库可视化设计、模型建立、以及管理功能。利用目前比较流行的 Tomcat6.X 搭建 Web 应用服务器,提供通过网页访问功能。采用 MVC 开发模式实现系统的高内聚低耦合,确保系统的扩展性和安全性。关键词:网上订票;火车票;MyEclipse;B/S 模式Abstract精选文档With the continuous developmentof China r
3、ailroad transportation, the simple window ticket sales mode can not meet the purpose to make people travel convenient. Using the advanced network technology to develop convenient and fast online tickets booking system is the necessary of modern passenger transport business. Through the home page, th
4、e online train tickets booking system achieved some basic functions such as personal information registration, train lines inquiry and prices inquiry online tickets booking and refunding and so on, that can provide convenient and fast service for users.The B/S mode was adopted in the system for the
5、structural design, and developed by Java language. In the interface design, the MyEclipes8.5 was used as the front desk software developing tool, and MySQL5.5 database was used to support the background. By means of the MySQL Workbench, it provides database visual design, model establishment, and ma
6、nagement function. It was used that present partly fashionable Tomcat6.X to build the Web AS, and to visit web function. The MVC development module was used to implement the systems high cohesion together with low coupling to make sure the expansibility and safety of the system.There were total six
7、function modules in the system, that includes the login function module, the individual homepage module, the inquiring function module, the train tickets booking module, the train line management function and the train tickets management function module. Through the login site http:/localhost:8080/T
8、BS/ to visit the homepage, common users can complete the operations of personal data registration, train lines and ticketsinquiring,ticketsbookingandrefunding,etc.,andthe administrator can complete the functions include tickets management, train line management, pathway sites management and so forth
9、.Key words:Tickets online booking; Train tickets; MyEclipse; B/S module目 录第 1 章 绪 论11.1 火车票网上订票系统的开发背景11.2 系统设计目标11.3 开发工具简介11.3.1 Java11.3.2 MySQL5.521.3.3 Tomcat31.4 系统软硬件要求31.5 可行性研究31.5.1 技术可行性41.5.2 经济可行性41.5.3 操作可行性41.6 设计方法4第 2 章 需求分析52.1 功能需求52.2 性能需求52.3 业务流程图62.3 数据流图72.4 数据字典9第 3 章 总体设计11
10、3.1 总体设计描述113.2 系统开发模式113.3 系统功能设计113.4 系统的总体结构123.4.1 子模块描述13第 4 章 数据库设计144.1 数据库介绍144.2 概念设计154.3 逻辑设计17第 5 章 详细设计205.1 系统主页205.2 管理员管理界面设计205.3 用户功能界面设计25第 6 章 系统调试与测试296.1 调试与测试概述29第 7 章 性能分析317.1 完整性分析317.2 安全性分析31第 8 章 结论32参考文献33致 谢36附 录 1.外文文献37附 录 2.中文翻译43附 录 3.系统部分程序源代码47第 1 章 绪 论1.1 火车票网上订
11、票系统的开发背景火车站市场的管理和规范问题,是困扰我们多年的一个老问题,订票是客运业务中的一个最基本的业务,表面上看,它只是火车站业务的一个简单的部分, 但是它涉及到管理与客户服务等多方面,因此,过去传统的售票方式已经不能满足现代客运业务流量剧增的客观要求,这就要求一种全新的订票方式网上订票,来缓解订票高峰时期的客运压力,并为用户提供方便快捷的订票服务。本次设计便是利用开发工具MyEclipes 和MySQL5.5 数据库共同开发的一个火车站网上订票系统,它能方便快捷地运用在火车站订票业务的营运之中。1.2 系统设计目标本系统是利用网络的方便、快捷和计算机的准确、高效实现火车票网上订票系统。火
12、车票网上订票系统是通过主页访问、身份识别实现区别不同身份用户完成车票、车次的管理操作。系统有三个大的功能模块:登录功能模块,验证登录信息;管理员功能模块,实现车票和车次管理;普通用户功能模块,实现车票和个人信息管理。1.3 开发工具简介1.3.1 JavaJava 是一个纯的面向对象的程序设计语言,它继承了C+ 语言面向对象技术的核心,舍弃了 C +语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)、多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。Java 不同于一般的编译
13、执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码,从而实现了“一次编译、到处执行”的跨平台特性。Sun 公司对 Java 编程语言的解释是:Java 编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。总的来说,Java 语言具有以下特点:1. Java 能运行于不同的平台。Java 引进虚拟机 原理,并运行于虚拟机,实现不同平台的 Java 接口之间。使用 Java 编写的程序能在世界范围内共享。Java 的数据类型与 机器无关,Java 虚拟机( Jav
14、a Virtual Machine)是建立在硬件和操作系统之上, 实现 Java 二进制代码的解释执行功能, 提供于不同平台的接口的。2. Java 的编程类似 C+,学习过 C+的读者将很快掌握 Java 的精髓。Java 舍弃了 C+的指针对存储器地址的直接操作,程序运行时,内存由操作系统分配, 这样可以避免病毒通过指针侵入系统。Java 对程序提供了安全管理器,防止程序的非法访问。3. Java 吸取了 C+面向对象的概念,将数据封装于类中,利用类的优点,实现了程序的简洁性和便于维护性。4. Java 建立在扩展 TCP/IP 网络平台上。库函数提供了用 HTTP 和 FTP 协议传送和
15、接受信息的方法。这使得程序员使用网络上的文件和使用本机文件一样容易。5. Java 程序的基本组成单元就是类,有些类是自己编写的,有些是从类库中引入的,而类又是运行时动态装载的,这就使得 Java 可以在分部环境中动态的维护程序及分类。MySQL5.5 是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB 公司。MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内。这样就增加了速度并提高了灵活性。MySQL5.5 是用于访问数据库的最常用标准化语言。MySQL5.5 软件采用了 GPL(GNU 通用公共许可证)。由于其体积小、速度快、
16、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL5.5 作为网站数据库。1.3.2 MySQL5.5MySQL5.5 的特性1. 使用 C 和 C+编写,并使用了多种编译器进行测试,保证源代码的可移植性 。2. 支持 AIX、FreeBSD、HP-UX、Linux、Mac OS、NovellNetware、OpenBSD、OS/2 Wrap、Solaris、Windows 等多种操作系统 。3. 为多种编程语言提供了 API。这些编程语言包括 C、C+、Python、Java、Perl、PHP、Eiffel、Ruby 和 Tcl 等。资源4. 支
17、持多线程,充分利用 CPUADO 技术。5. 优化的 SQL 查询算法,有效地提高查询速度6. 既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的 GB 2312、BIG5,日文的 Shift_JIS 等都可以用作数据表名和数据列名。7. 可以处理拥有上千万条记录的大型数据库,支持多种存储引擎。Tomcat 是 Apache 软件基金会(Apache Software Foundation)的 Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了 Sun 的参与和支
18、持,最新的 Servlet 和 JSP 规范总是能在 Tomcat 中得到体现,Tomcat 5 支持最新的 Servlet 2.4 和 JSP 2.0 规范。因为 Tomcat 技术先进、性能稳定,而且免费,因而深受 Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的 Web 应用服务器。Tomcat 是一个轻量级应用服务器,在中小型系统和并发访问用户不是很多1.3.3 Tomcat的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好 Apache 服务器,可利用它响应对 HTML 页面的访问请求。实际上 Tomcat
19、 部分是 Apache 服务器的扩展,但它是独立运行的, 所以当你运行 Tomcat 时,它实际上作为一个与 Apache 独立的进程单独运行的。1.4 系统软硬件要求l 系统要求: Windows XP/vista 或者 Window 7 操作系统。l 软件要求:本系统采用 MyEclipse 为开发工具;Java 为开发语言;数据库采用 MySQL 5.5 数据库系统。l 硬件要求:硬盘 160G 以上、CPU 2.4Ghz 以上、内存 2G 以上。1.5 可行性研究可行性分析是在用户的要求和系统调研的基础上进行的,对新系统的开发从社会、技术、经济、管理等方面进行分析,并得出新系统的开发工
20、作可行、不可行、需要修改、追加投资、暂缓开发、分步实施等方案和结论,最后完成可行性分析。可行性分析一般可定义为:可行性分析是在建设的前期对工程项目的一种考察和鉴定,对拟议中的项目进行全面与综合的技术、经济能力的调查,判断它是否可行。可行性研究的目的不是解决问题,而是确定问题是否值得去解决。其最根本任务就是对以后的行动方针提出建议。一般来说,至少应该从下述三方面研1.5.1 技术可行性本系统开发的软硬件资源都已具备,前台开发工具使用MyEclipse8.5,开发语言为 Java,后台数据库使用 MySQL5.5,其基本操作实质还是对数据库进行添加、删除、查找等操作开发环境安全,技术可靠,两者使用
21、都相对比较熟练,因此具备技术可行性。1.5.2 经济可行性开发该系统所需的相关资料可以通过已存在的网上订票系统进行调查采集, 所需的其他应用软件、硬件系统也易于获得.因此,开发成本较低。而引进使用本系统后,与传统方式相比,具有高效率、低成本、高质量的特点,可以节省不少人力、物力及财力。所以,从经济的角度来看,该系统可行。1.5.3 操作可行性本系统界面设计十分亲切,功能标题醒目,各种功能的实现简单容易,易于理解,用户只需对订票流程和业务调查了解即可,不需掌握数据库等相关知识, 上手较快,系统管理人员可以简单的实现车票的销售,车次的管理,统计,退票等功能。通过以上可行性分析,认为该系统的开发方案
22、切实可行,可进行开发。1.6 设计方法本系统采用的是 B/S 结构,即 Browser/Server(浏览器/服务器)结构。它是随着 Internet 技术的兴起,对 C/S 模式应用的扩展。在这种结构下,用户工作界面是通过 IE 浏览器来实现的。 B/S 模式最大的好处是运行维护比较简便, 能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN, WAN, Internet/Intranet 等)访问和操作共同的数据。用户可以通过 WWW 浏览器去访问 Internet 上的文本、数据、图像、动画、视频点播和声音信息,这些信息都是由许许多多的 Web 服务器产生的,而每一个Web 服务
23、器又可以通过各种方式与数据库服务器连接,大量的数据实际存放在数据库服务器中。客户端除了WWW 浏览器,一般无须任何用户程序,只需从 Web 服务器上下载程序到本地来执行,在下载过程中若遇到与数据库有关的指令,由 Web 服务器交给数据库服务器来解释执行,并返回给 Web 服务器,Web 服务器又返回给用户;最大的缺点是对企业外网环境依赖性太强,由于各种原因引起企业外网中断都会造成系统瘫痪。第2章 需求分析需求分析是软件设计的一个重要的环节。本阶段对订票系统的应用情况作全面调查,以确定系统目标,并对系统所需要的基础数据以及数据处理要求进行分析,从而确定用户的需求。2.1 功能需求本网上售票系统应
24、该具备如下功能:1. 登录通过登录站点 http:/localhost:8080/TBS/ 可以访问系统主页面,输入用户或管理员的信息实现用户的登录和用户身份的识别,并区别用户的权限实现不通的操作。2. 查询分为对车次信息的查询和客户对已订车票信息的查询。要求:1) 对车次的查询,可以按照发车车次进行查询。2) 车次信息包括:车号、出发地、目的地、发车日期、开出时刻、票价。3) 座位类型设定。4) 车次信息只允许用户查询,不能修改。3. 添加管理员用户可实现车次的添加、途经站点的添加和车票信息的管理。4.订票、退票普通用户可实现订票和退票,通过查询系统,客户可以根据自己的账户找到车票信息,通过
25、订票模块实现订票,也可通过退票模块退去已购车票。2.2 性能需求为了保证系统能够长期、安全、稳定、可靠、高效的运行,本系统应该满足以下的性能需求。1. 准确性和及时性系统处理的准确性和及时性是系统的必要性能。系统应能及时而且准确的根据用户权限及所输入的信息做出响应。由于本系统的查询功能对于整个系统的功能和性能完成举足轻重。作为系统的很多数据来源,而车票的数量和时间又影响用户的决策活动,其准确性和及时性很大程度上决定了系统的成败。在系统开发过程中,必须采用一定的方法保证系统的准确性和及时性。可修改可编辑2. 易用性本系统是直接面对用户的,而用户往往对计算机并不是非常熟悉。这就要求系统能够提供良好
26、的用户接口,易用的人机交互界面。要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面,从而保证系统的易用性。3. 安全性网上订票系统中涉及到的数据是客运公司相当重要的信息,系统要保证用户的权限,对于车次等信息用户只享有查询服务,不得更改;系统还要提供方便的手段供系统维护人员进行数据备份、日常安全管理、以及系统意外崩溃时数据的恢复等工作。同时系统还要保证对数据库进行及时更新,保证数据一致性。2.3 业务流程图该图为火车票网上订票系统业务流程图图 2.1 火车票网上订票系统业务流程图精选文档可修改可编辑2.3 数据流图数据流程图是以图形的方式表达在问题中信息的变换和传递过程。它把系统
27、看成是由数据流联系的各种概念的组合,用分解及抽象手段来控制需求分析的复杂性,采用分层的数据流程图来表示一个复杂的系统。火车票网上订票系统系统登录数据流图:用户登录身份识别管理员/普通用户管理员操作普通用户操作结束图 2.2 火车票网上订票系统登录管理数据流图精选文档普通用户登录查询选择登录个人信息查询车次信息查询订票信息查询账户信息查询车车站票次点信信信息息管理管理结束功能选择图 2.3 火车票网上订票系统查询管理数据流图火车票网上订票系统车次、车票、站点管理数据流图:管理员用户结束图 2.4 火车票网上订票系统车次、车票、站点管理数据流图2.4 数据字典数据字典(Data dictionar
28、y)是一种用户可以访问的记录数据库和应用程序元数据的目录。主动数据字典是指在对数据库或应用程序结构进行修改时,其内容可以由 DBMS 自动更新的数据字典。被动数据字典是指修改时必须手工更新其内容的数据字典。数据字典则是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果。数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程五个部分。 数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。以下是数据流图中主要元素的数据字典卡片:名字:用户信息别名:无描述:数据库中用来存储用户信息的关系表定义:用户名+密码+姓名+性别+出生日期+电话+地址+账户
29、金额位置:SQL 数据库中用户信息表表 2.1 用户信息的定义表 2.2 车票信息的定义名字:车票信息别名:无描述:数据库中用来存储车票信息的关系表定义:票号+车次号+起始站+终点站+票价+日期+硬座余票+硬卧余票+软座余票+软卧余票+站票位置:SQL 数据库中车票信息表表 2.3 订票信息的定义名字:订票票信息别名:无描述:数据库中用来存储订票信息的关系表定义:票号+用户帐号+车次+票种+起始站+终点站+票价+开车时间+票数位置:SQL 数据库中订票信息表表 2.4 行车路线信息的定义名字:行车路线信息别名:无描述:数据库中用来存储行车路线信息的关系表定义:车次+站点序号+站点名称+到站时间
30、+出站时间+公里数位置:SQL 数据库中行车路线信息表表 2.5 车次信息的定义名字:车次信息别名:无描述:数据库中用来存储车次信息的关系表定义:车次号+始发站+终点站+始发时间+到达终点站时间+历经时间+总里程数+剩余车票信息位置:SQL 数据库中车次信息表第3章 总体设计3.1 总体设计描述总体设计是软件开发人员根据软件需求说明书的要求,运用结构化程序设计思想,将软件自上而下逐层分解成多个软件模块,直到分解成每一个模块只具有单一的功能,能用一个或几个程序实现的树形结构为止。总体设计阶段还要定义各模块的数据传递关系,设计软件的编码方案、文件存储策略、输入输出格式, 以及硬件和系统软件配置,最
31、后编制概要设计说明书。总体设计的内容主要包括: 结构化模块设计; 代码设计; 文件设计;输入设计; 输出设计; 系统软硬件配置设计; 编制设计说明书。 总体设计过程可分为两个主要阶段:功能设计,确定车站售票系统的实现方案;结构设计,确定该软件的结构。功能设计是在需求分析的基础上进行的,这里所说的“功能”是泛指的,不仅指问题定义中列出的功能,还包括软件定义时确定的任何一个独立的数据加工或处理步骤,例如添加、删除、查询和各个特定功能的算法实现等。结构设计,是将整个系统按照不同的功能和层次划分为一个个功能简单明确且相对独立的部分(模块),每个模块实现系统的一项具体功能,自顶向下,逐步细化。结构设计是
32、确定程序由哪些模块组成,以及这些模块之间的关系。3.2 系统开发模式本系统采用 MVC(Model View Control)开发模式,在控制层和业务逻辑层通过接口实现,相对应 train_booking 数据库中的表创建了五个接口,并用五个实现类实现接口功能。业务逻辑层完成增、删、改、查的功能,控制层负责统一调度,显示层显示输入输出信息,这样就实现了低耦合,也提高了体统的可靠性。3.3 系统功能设计本系统分三个模块,登录功能模块,验证登录信息;管理员功能模块,实现车票和车次管理;普通用户功能模块,实现车票和个人信息管理。通过登录系统主页http:/localhost:8080/TBS/访问系
33、统,通过身份识别判断账户信息并区别不通身份的用户。火车票网上订票系统简单、操作灵活、方便、反应快速、计算准确,系统运行稳定、安全可靠,而且有良好的交互界面,让使用者可以方便、快速地掌握。3.4 系统的总体结构根据系统分析,按照结构化程序设计的要求得到了下面的系统功能模块图:添加车次车次管理删除车次更新车次管理员功能选择站点管理添加站点删除站点售票统计火车票网上订票系车票管理乘客取票金额统计修改信息修改信息账户重置择 普通用户功能选查询信息车次查询站点查询订票管理车票管理退票管理付款统图 3.1 火车票网上订票系统总体功能图3.4.1 子模块描述各个子模块描述如下:1. 登 录 功 能 模 块
34、: 在 浏 览 器 上 输 入 服 务 器 的 IP 地 址http:/localhost:8080/TBS/,进入登录功能模块,选择登录身份区别是普通用户或是系统管理员。2. 管理员功能模块:(1)车次管理功能模块主要实现车次的添加、车次更新、删除等功能。(2)车票管理功能模块主要实现售票统计、金额统计和乘客取票等功能。3. 普通用户功能模块:(1) 查询功能模块:主要完成站点信息查询、车票信息查询、订票信息查询等功能。站点信息查询是通过输入始发站和终点站显示对应的车次、车票价格、到站时间等信息;车票信息查询是通过输入车次显示对应的票价及是否还有剩余车票等信息。(2) 车票管理功能模块:主要
35、完成火车票的订票,支付火车票票额、退票等功能。(3) 个人信息管理功能模块:主要完成个人信息的修改,账户的充值等功能。第4章 数据库设计4.1 数据库介绍数据库是指自描述的完整记录的集合。它除了包含用户的源数据外,还包含关于它本身结构的描述。数据库设计是建立数据库及其应用系统的技术,是信息系统开发和建设中的核心技术,具体说,数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求。合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。另外,合理的数据库结构将非常有利于程序的实现。数据库设计(Database
36、Design)是指根据用户的需求,在某一具体的数据库管理系统上,设计数据库的结构和建立数据库的过程,就是规划和结构化数据库中的数据对象以及这些数据对象之间关系的过程。1. 数据库设计的一般性原则第一个基本规则:对于每一个要存储其信息的实体(或事物),我们都应该给他一个自己的表;第二个处理规则:如果你需要在一个列中存储多个值,那证明你的设计可能是有缺陷的。简单的数据关系:一对一;一对多;多对一;多对多在数据库的设计中:要做到数据规范化、完整性、数据冗于和规范实例化。在整个设计过程中,我们必须按步骤认真完成。2. 数据库设计的过程(六个阶段)需求分析阶段,准确了解与分析用户需求(包括数据与处理)是
37、整个设计过程的基础,是最困难、最耗费时间的一步概念结构设计阶段是整个数据库设计的关键,通过对用户需求进行综合、归纳与抽象,形成一个独立于具体 DBMS 的概念模型逻辑结构设计阶段将概念结构转换为某个 DBMS 所支持的数据模型对其进行优化数据库物理设计阶段为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)数据库实施阶段运用 DBMS 提供的数据语言、工具及宿主语言,根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行数据库运行和维护阶段数据库应用系统经过试运行后即可投入正式运行。在数据库系统运行过程中必须不断地对其进行评价、调整与修改在设
38、计过程中把数据库的设计和对数据库中数据处理的设计紧密结合起来将这两个方面的需求分析、抽象、设计、实现在各个阶段同时进行,相互参照, 相互补充,以完善两方面的设计数据库的设计在数据库应用系统的开发中占有很重要的地位。只有设计出合理的数据库,才能为建立在数据库上的应用提供方便。4.2 概念设计概念设计阶段,一般是使用语义数据模型描述概念模型,目的是使即使是非专业人员也可以看的懂。通常是使用 E-R 模型图作为概念设计的描述工具进行设计。概念结构设计的第一步就是对需求分析阶段收集到的数据进行分类、组织(聚集),形成实体、实体的属性,标识实体的码,确定实体之间的联系类型(1:1, 1:N,M:N),设
39、计分 E-R 图。在经过仔细调查济南汽车站售票系统的过程和对内容的详细分析基础上,对本系统的需求,设计了数据库的 E-R 图,部分如下:火车票网上订票系统用户 E-R 图家庭住址帐号密码E-mail姓名用户电话号出生日期身份证号性别账户余额图 4.1 用户 E-R 图火车票网上订票系统车票信息 E-R 图硬卧票剩余票号起始站软座余票数终点站软卧余票数车票信息票价软座余票数无座余票数开车时间车次号图 4-2 火车票网上订票系统车票信息 E-R 图火车票网上订票系统订票信息 E-R 图票号座位号起始站票种车票信息终点站票价开车时间车次号订票数图 4-3 火车票网上订票系统订票信息 E-R 图火车票
40、网上订票系统途径站点信息 E-R 图站点名称站点序号运行时间途径站点信息到站时间运行里程出站时间图 4-4 火车票网上订票系统途径站点信息 E-R 图火车票网上订票系统车次信息 E-R 图车次号始发站车票剩余终点站车次信息运行时间始发时间总里程数到站时间图 4-5 火车票网上订票系统车次信息 E-R 图4.3 逻辑设计逻辑结构设计的主要任务是,把由概念结构设计阶段得出的 E-R 图转换为相应的逻辑结构。数据库逻辑设计包括所需的实体和关系,实体规范化等工作。数据库逻辑设计决定了数据库及其应用的整体性能,调优位置。如果数据库逻辑设计不好,则所有调优方法对于提高数据库性能的效果都是有限的。为了使数据
41、库设计的方法走向完备,数据库的规范化理论必须遵守。规范化理论为数据库逻辑设计提供了理论指导和工具,在减少了数据冗余的同时节约了存储空间,同时加快了增、删、改的速度。在规范的数据库逻辑设计时,还应考虑适当地破坏规范规则,即反规范化设计,来降低索引、表的数目,降低连接操作的数目,从而加快查询速度。常用的反规范技术有增加冗余列、增加派生列、重新组表等。 总之,在进行数据库逻辑设计时,一定要结合应用环境和现实世界的具体情况合理地选择数据库模式。下面的 5 个表分别为用户信息表,车票信息表,订票信息表,途径站点信息表,车次信息表。表 4.1用户信息表列名数据类型长度是否主键是否可空用户Int5是Not
42、null密码Varchar45否null姓名Varchar45否null性别Varchar45否null出生日期Varchar45否null地址Varchar45否null账户余额Double11否null表 4.2 车票信息表列名数据类型长度是否主键是否可空idInt11是Not null票号Varchar45否null车次Varchar45否null日期Datetime20否null列车编号Int11否null硬座余票数Int11否null软座余票数Int11否null硬卧余票数Int11否null表4.3 订票信息表字段名数据类型长度是否主键是否可空车票号Int11是Not null车次
43、Varchar45否null起始站Varchar45否null终点站Varchar45否null票价Int11否null开车时间DateTime20否null表4.4车次信息表字段名数据类型长度是否主键是否可空车次Varchar45是Not null始发站Varchar45否Not null发车时间Varchar45否Not null里程Int11否Not null运行时间Varchar45否Not null终点站Varchar45否Not null到站时间Varchar45否Not null票价Double11否Not null票数Int11否Not null表 4.5 途径站点信息表列名数据类型长度是否主键是否可空站点序号Int11是Not null站点名称Varchar45否null到站时间Varchar45否null发车时间Varchar45否null运行时间Varchar45否null运行里程Int11否null可修改可编辑第5章 详细设计5.1 系统主页通过登录站点 http:/localhost:8080/TBS/ 访问系统主页面,输入