1、 PINGDINGSHAN UNIVERSITY毕业论文( 设计)题 目: 网络旅游管理系统的 设计与实现 院 (系 ): 软件学院 专业年级: 软件工程 2008 级 姓 名: 学 号: 指导教师: 2011 年 11 月 18 日原 创 性 声 明本人郑重声明:本人所呈交的毕业论文,是在指导老师的指导下独立进行研究所取得的成果。毕业论文中凡引用他人已经发表或未发表的成果、数据、观点等,均已明确注明出处。除文中已经注明引用的内容外,不包含任何其他个人或集体已经发表或撰写过的科研成果。对本文的研究成果做出重要贡献的个人和集体,均已在文中以明确方式标明。本声明的法律责任由本人承担。论文作者签名:
2、 日 期: 关于毕业论文使用授权的声明本人在指导老师指导下所完成的论文及相关的资料(包括图纸、试验记录、原始数据、实物照片、图片、录音带、设计手稿等) ,知识产权归属平顶山学院。本人完全了解平顶山学院有关保存、使用毕业论文的规定,同意学校保存或向国家有关部门或机构送交论文的纸质版和电子版,允许论文被查阅和借阅;本人授权平顶山学院可以将本毕业论文的全部或部分内容编入有关数据库进行检索,可以采用任何复制手段保存和汇编本毕业论文。如果发表相关成果,一定征得指导教师同意,且第一署名单位为平顶山学院。本人离校后使用毕业论文或与该论文直接相关的学术论文或成果时,第一署名单位仍然为平顶山学院。论文作者签名:
3、 日 期: 指导老师签名: 日 期: 平顶山学院本科毕业设计网络旅游管理系统的设计与实现摘 要近年来旅游业蓬勃发展,已成为国民经济的新的增长点和重要组成部分,其进一步发展则有赖于旅游业信息化水平的提高,因此建立适合于旅游行业的网络旅游管理信息系统有十分重要的意义。为此,经过深入调研和对用户需求的细致分析,本文采用 MVC 设计模式、以 My Eclipse 为开发平台设计并实现了网络旅游管理系统。首先,本文对系统业务操作流程、系统的设计目标和功能进行了详细地分析和描述,接着对系统功能、数据库等进行了设计;然后对系统的景点信息管理功能模块、酒店信息管理功能模块、用户注册/登陆功能模块、门票预订功
4、能模块和景点评论功能模块等模块进行了详细的设计与实现。在实现过程中,还整合了 SH(Struts +Hibernate)框架,以确保系统更稳定,达到简化项目开发和代码重用的目的;采用 JSP 技术实现动态网页的创建,使得内容的生成和显示相分离;同时各模块相互独立,可以单独地编程、调试和修改。目前,该系统已经实现并通过测试,各项功能达到预期效果。它不仅给旅游管理人员和游客带来了便利,实现了系统的网络化,而且系统具有较好的可维护性、可扩展性和代码的可重用性,也必将在旅游业发挥越来越重要的作用。由于时间紧迫,系统的负载能力还有待进一步提高。关键词:旅游管理,MVC 模式,SH 架构,景点信息查询全套
5、源码加 153893706网络旅游管理系统的设计与实现Design and Implementation of Online Travel Management Information SystemAbstractIn recent years, the rapid development of tourism has become a new growth point and an important part of the national economy, its further development depends on raising the level of tourism in
6、formation, therefore, the establishment of online travel management information systems suitable for the tourism industry has very important significance.For this purpose, after in-depth research and careful analysis to user needs, this article used the MVC design pattern, My Eclipse as a developmen
7、t platform,designed and implemented the online travel management system. First, the system operational flow, the design target of the system and function are of a detailed analysis and description, then the system function, database are designed. The scenic spots information management function modu
8、le, hotel information management module, user registration / login module, tickets booking function module and attractions information query function module have designed and implemented in detail. In the process of realization, the article integrated the SH (Struts +Hibernate) framework to ensure t
9、hat the system is more stable, and to achieve the goals to simplify the project development and code reuse; The article has used JSP technology to create dynamic WebPages, this makes the content generation and display of phase separation; at the same time the module is independent each other, and it
10、 can be individually programming, debugging and modification.At present, the system has been implemented and tested, and the various functions have achieved the desired effect.It not only has brought convenience to the management in tourism and tourists and realized the network of system, but also t
11、he system has better maintainability, expandability and reusability, and it will play a more and more important role in the tourism industry. Due to time constraints, the load capacity of the system remains to be further improved.Keywords: Tourism Management, MVC Pattern, SH Architecture, Attraction
12、s Information Query平顶山学院本科毕业设计目 录1 绪论 .11.1 研究背景与意义 11.2 研究现状 11.3 论文结构 21.4 本章小结 22 相关技术及工具介绍 .32.1 JSP 技术 .32.2 JDBC 数据库连接技术 .42.3 系统模式及架构 42.3.1 MVC 模式 .42.3.2 SH 架构 .42.4 开发工具 My Eclipse.52.5 本章小结 63 需求分析 .73.1 业务操作流程 73.2 系统设计的目标 83.3 功能需求 83.4 本章小结 124 系统总体设计 .134.1 功能设计 134.2 数据库设计 144.2.1 数据
13、库的概念设计 .144.2.2 数据库的逻辑结构设计 .154.2.3 数据库的实现 .164.3 本章小结 205 系统详细设计与实现 .215.1 景点信息管理功能的设计与实现 215.2 酒店信息管理功能的设计与实现 235.3 用户注册/登录模块功能的设计与实现 .245.3.1 注册模块用户注册的流程为: .24平顶山学院本科毕业设计5.3.2 登录模块 .255.4 门票预订功能的设计与实现 .275.5 景点评论功能的实现 295.6 本章小结 306 系统测试 .316.1 测试计划 316.1.1 测试原则 .316.1.2 测试环境和工具 .316.2 测试用例 326.2
14、.1 单元测试 .326.2.2 集成测试 .336.2.3 系统测试 .336.3 本章小结 347 结束语 .357.1 总结 357.2 展望 36附 录 .37参考文献 .41致 谢 .43平顶山学院本科毕业设计11 绪论本章主要介绍旅游管理系统的背景及意义、研究现状、论文结构几个部分。1.1 研究背景 与意义随着国家经济的不断发展,人们生活质量的不断提高,旅游成了人们最喜爱的休闲方式之一。旅游景点管理人员如何对数量庞大的景点类型信息、景点详细信息等进行有效的管理成为旅游景点管理人员需要解决的问题之一。旅游管理信息系统的出现,大大减轻了旅游管理人员对于景点信息的管理强度,提高了景点信息
15、的管理效率,旅游管理信息系统在旅游景点管理工作中发挥着重要的作用。我国的旅游业是一个竞争性很强的行业。一方面,由于旅游产品的可模仿性强,导致了产品层面同质化竞争很严重,因此只有提升服务的质量和水平才能增强企业的竞争力。另一方面,由于现代计算机技术的发展,外出旅行的游客对获取景点、酒店信息的要求越来越高,为了克服日趋激烈的竞争压力和适应现代游客的出行需要,旅游管理信息系统诞生了。从游客角度来讲,游客可以通过该系统,便捷、及时的了解到不同景点的信息,景点周边的酒店信息,而且可以实现门票和酒店的预订。从管理里人员角度来讲:管理者可以通过该系统及时地添加景点、酒店的信息,可以对游客的酒店订单进行管理(
16、如查看订单、删除订单等) ,还可以管理游客的评论(如删除游客不好的评论)等。该课题的研究实现不仅方便了游客,而且也大大地提高了管理人员的管理效率。1.2 研究现状就目前旅游企业的现状来看,旅游企业普遍属于规模小、作坊式的中小企业,其信息化建设尚处于初期发展阶段;还有相当一部分旅游企业是运用传统的商业模式,信息服务能力非常差,完全不能满足旅游者的需求。开发旅游资讯系统已经成了旅游业发展不可逆转的趋势。旅游管理信息系统的便捷性、低成本、覆盖面广等优势是传统旅游管理方式不可比拟的。目前,旅游信息管理网络化程度较低,有的没有、甚至无法连接互联网。网络旅游管理系统的设计与实现2通过对信息资源的深度开发和
17、广泛利用,不断提高内部信息管理、资源合作、决策效率和水平,从而更好地为游客提供服务。如今,旅游景点信息的网络化已经成为全球各大知名景点公认的现代化管理模式。因而,本人设计并开发网络化的旅游管理系统。1.3 论文结构本论文共分为七个章节,第一章为绪论,主要介绍研究背景及意义和研究现状;第二章为技术与工具介绍,主要介绍本次设计所使用的技术与采用的工具;第三章为需求分析,主要是对实际业务操作流程、系统设计的目标、功能需求进行描述;第四章为总体设计,包括功能设计、数据库设计;第五章为详细设计,有系统设计和实现结果;第六章为系统测试,包括系统完整的测试计划、一些功能的测试用例、测试结果;第七章为结束语,
18、包括对本次设计的总结与对未来的展望。1.4 本章小结本章首先介绍了该课题的研究背景及意义,阐述了研究该系统的重要性;接着介绍了研究现状,以便于在前人研究基础上能有所创新;最后介绍了论文的结构。 平顶山学院本科毕业设计32 相关技术及工具介绍本章主要介绍系统所采用的技术及开发工具,涉及 JSP 技术、SH 架构、JDBC 数据库连接技术及开发工具等。2.1 JSP 技术JSP 技术是一种服务器端的 WEB 开发技术,使用它实现动态网页的创建,主要有以下几方面的优点:1. 内容的生成和显示相分离使用 JSP 技术, WEB 开发人员可以使用 Html 或者 XML 来设计最终页面,使用 JSP 标
19、签或者脚本来生成页面上的动态内容 1。生成的内容逻辑被封装在标签和 JavaBean 组件中,并且捆绑在脚本中,所有的脚本在服务器端运行。如果核心逻辑被封装在 JavaBean 组件中,那么其他人员,如页面设计者或者是 WEB的管理人员,就能够编辑和使用 JSP 页面而不影响内容的生成。在服务器端,JSP 引擎解释 JSP 标签和脚本生成所请求的内容,并且将结果以 HTML 或 XML页面的形式发回浏览器。这有助于保护自己的代码,并且保证了任何基于HTML 的 WEB 浏览器完全可用性。2. 可移植性JSP 最重要的特点就是它由 Java 语言构建,具有工作平台独立性的特点。不管在任何平台中编
20、写 JSP 代码,只要服务器中有 JSP Container 就可以使用原先编写的程序来运行,无需更改。3. 使用可重用的组件绝大多数 JSP 页面依赖于可重用的跨平台组件来执行应用程序所要求的更为复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使这些组件为更多的用户使用。基于组件的开发加速了总体的开发过程。4. 完善的存储管理和安全性JSP 的页面被编译成为 Java Servlet,所以 JSP 页面具有 Java 技术的所有优缺点,包括完善的存储管理和安全性。网络旅游管理系统的设计与实现42.2 JDBC 数据库连接技术J2EE 组件通过 JDBC API 访问关系数据库。在
21、JDBC API 中,通过DataSource 对象访问数据库。JDBC 是 Java 和数据库之间的标准接口,使用 JDBC 作为 Java 的数据库访问规范,可以实现数据库访问的平台无关性 2。JDBC 事务是作为单个逻辑工作单元执行的一系列操作。事务维护了数据的完整性、正确语义、持久性。事务中的所有 SQL 语句都必须被成功执行,则事务才会对数据库产生持久性的影响。如果事务中第 n 条语句出错,则表示事务失败,则前面的 n-1 条语句对数据库产生的影响可以撤销(回滚)到事务执行前的初始状态或出错点之前的某个正确状态 3。2.3 系统模式及架构2.3.1 MVC 模式MVC 是一种架构设计
22、模式,该模式主要应用于图形化用户界面(GUI)应用程序。MVC 由 Model(模型) 、View(视图)及 Controller(控制器) 4 三部分组成。Model-数据模型用于实现系统中的业务逻辑。通常可以用 JavaBean 或 EJB来实现,其中包括呈现视图所需的数据,模型由控制器填充。 View-界面用于提供显示和操作模型的用户界面。用户通过 View 来操作应用程序,完成与程序的交互。View 提供了可视化的界面来显示 Model 中定义的数据,用户通过界面来操作数据,并将对 Model 数据操作的结果返回给用户。Controller-应用逻辑是协调模型与视图之间的交互的逻辑。用
23、户通过 View发送操作命令给 Controller,由 Controller 按照程序设计的逻辑来更新 Model 定义的数据,并将操作结果通过 View 返回给用户。2.3.2 SH 架构1. StrutsStruts 是 Apache Software Foundation(ASF)支持 Jakarta 项目的一部分。Struts是一种应用程序框架,所谓框架结构是一个可重用的、基本完成的应用程序,可以通过对其进行定制来生成一个客户需要的真正应用程序 5。Struts 使用 Model2 体系结构,它是 MVC 框架的一种具体的实现,将平顶山学院本科毕业设计5Servlet 和 JSP 标
24、记用作实现的一部分。Struts 程序框架既继承了 MVC 框架的各项特性并根据 J2EE 的特点,做了相应的变化和扩展 6。2. HibernateHibernate 是一个面向 Java 环境的对象/关系数据库映射工具。Hibernate 不仅仅管理 Java 类到数据库表的映射,还提供数据查询和获取数据的方法。使用Hibernate 可以大幅度减少开发时人工使用 SQL 和 JDBC 处理数据的时间,而只用对对象进行操作。Hibernate 的精髓是简化持久层的实现。它完全是针对对象的持久化,即把一个普通的 Java 对象映射到关系数据库中。面向对象设计中的继承与多态机制在 Hibern
25、ate 里也得到了支持。在数据查询中,它支持动态 Query,并提供对十六种数据库语言的支持,它沿用传统数据库的事务模型,使程序员不必为新的事务模型大伤脑筋 7。另外 Hibernate 是本地调用,比 Entity Bean 有更高的性能,而且它改进的速度之快也是其它 ORM 产品无法企及的。3. Struts 和 Hibernate 整合通过 Struts +Hibernate 框架的整合使得系统开发具备以下优点:(1)使得所开发的应用系统稳定。免费、开源、有丰富的文档和稳定的开发背景。(2)架构分层:这种架构是分层的,由于采用的是整合技术,各层之间是相对独立的,这便于做大的项目时的团队合
26、作,适合每个团队做一块,使得工作分的更细,也避免了因为一块的失误造成整个项目的失败,同时也增加了其重用性。(3)能实现应用系统的逻辑划分。Struts 和 Hibernate 的整合将项目逻辑上进行划分,然后在不同的逻辑层运用框架,随着在开发中的实践,会分的更细,会把 Web 应用划分的更细,会把更多的框架应用到各层中,达到简化项目的开发和代码的重用。2.4 开发工具 My EclipseMy Eclipse 企业级工作平台(My Eclipse Enterprise Workbench ,简称 My Eclipse)是对 Eclipse IDE 的扩展,利用它可以在数据库和 J2EE 的开发
27、、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的 J2EE 集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML、Struts、JSF 、 CSS、 JavaScript、SQL、Hibernate 8。网络旅游管理系统的设计与实现6在结构上,My Eclipse 的特征可以被分为 7 类:1. Java EE 模型2. WEB 开发工具3. EJB 开发工具4. 应用程序服务器的连接器5. Java EE 项目部署服务6. 数据库服务7. My Eclipse 整合帮助对于以上每一种功能在 Eclipse 中都有相应的功能部件,并通过一系列的插件来实现它
28、们。My Eclipse 结构上的这种模块化,可以让我们在不影响其它模块的情况下,对这一模块进行单独的扩展和升级。2.5 本章小结本章主要介绍了完成该系统的关键技术、系统模式和架构以及开发工具。平顶山学院本科毕业设计73 需求分析在软件工程中,需求分析是指在建立一个新的应用系统或改变一个现存的应用系统时描写新系统的目的、范围、定义和功能时要做的所有的工作。需求分析是软件工程中的一个关键过程。通过需求分析要明确系统的主要功能模块,以及各功能模块需要完成的具体功能。本章从系统的实际业务操作流程、系统设计的目标和功能需求这几个方面进行分析。3.1 业务操作流程根据用户和旅行社的实际需求,本系统的实际
29、业务操作流程如下。1用户预订景点门票。(1)用户注册并登陆系统。(2)用户浏览景点信息。(3)用户查看景点的门票信息。(4)预订景点门票。(5)提交订票订单,等待管理员审核。2用户预订酒店房间。(1)用户注册并登陆系统。(2)用户浏览酒店信息。(3)用户查看酒店的房间信息。(4)预订酒店房间。(5)提交订单,等待管理员审核。3景点信息管理。(1)管理员登陆系统。(2)管理员添加(删除、修改、查看)省份信息。(3)管理员添加(删除、修改、查看)景点信息。(4)保存。4酒店信息管理。(1)管理员登陆系统。(2)管理员添加(删除、修改、查看)酒店信息。(3)管理员在酒店信息中添加(删除、修改、查看)
30、房间级别信息,如单人网络旅游管理系统的设计与实现8间、标准间、套间、豪华套间等。(4)管理员添加(删除、修改、查看)房间信息,如所属楼层、房间号及房间价格等。(5)保存。5订单的审核(1)管理员登陆系统。(2)管理员查看订单信息。(3)管理员对订单进行审核(成功、失败、删除) 。6评论管理。(1)用户查看景点信息后发表评论。(2)管理员查看用户对景点的评论。(3)管理员可以回复评论,还可以删除评论。7用户信息管理(1)管理员登陆系统。(2)管理员添加(删除、修改、查看)用户信息。(3)管理员退出系统。3.2 系统设计的目标旅游管理信息系统是一套以信息管理为基础运用信息技术手段向外界传递景点和酒
31、店信息的应用系统,能够方便地、简易地实现景点、景点附近的酒店、景点所在地、门票单价、房间单价、房间数量等信息的管理。本系统设计的主要目标:实现用户注册、登陆,查看景点信息、景点所在地、景点门票信息,景点周边的酒店信息、酒店房间信息、房间价格,预订景点门票、酒店房间,评论景点、酒店等功能;管理员主要实现查看景点信息,景点所在地管理(增、删、改、查) 、景点信息管理,酒店信息管理、房间信息管理,对用户预订的景点门票和酒店房间订单进行审核,评论管理和用户信息管理等功能。3.3 功能需求功能需求指定系统必须提供的服务。通过需求分析应该划分出系统必须完成的所有功能。具体说来,就是要分清系统中的角色,并且
32、要理清每个角色可以进行的所有功能。通过对系统进行分析,系统主要角色划分及其功能说明如平顶山学院本科毕业设计9表 3-1 所示。表 3-1 角色及说明表角色 说明管理员 指负责景点信息的查看、修改、删除,管理景点图片,负责门票价格、酒店信息、房间价格的添加、查询、删除、修改等功能的用户会员 指负责查询景点信息,查询景点所在地,查询景点周边酒店,评论景点,评论酒店、预订门票和预订酒店等功能的用户根据对系统的分析,将系统分为两个模块:管理员模块、会员模块。管理员模块里面包括景点信息的查看、添加、修改、删除和酒店信息的添加、查询、删除、修改以及对景点门票预售和酒店房间预订情况进行管理等功能;会员模块包
33、括查询景点信息,查询景点所在地,查询景点周边酒店,评论景点和酒店,预订景点门票和酒店房间等功能。分析管理员模块和游客模块的各个用例以及各用例可完成的具体功能,找出两个模块的主要用例分别如表 3-2 和表 3-3 所示。表 3-2 会员模块用例及说明表用例 说明会员注册管理 用户可以根据需要注册成为会员门票订购管理 会员登录系统可以查询景点信息,根据需要订购景点门票酒店预订管理 会员登录系统可以查询景点酒店,并可以根据需要进行预订登陆密码修改管理 会员登陆系统后可以修改自己的登陆密码表 3-3 管理员模块用例及说明表用例 说明会员信息管理 管理员登录系统可以浏览注册会员信息,并可对其进行管理景点
34、信息管理 管理员登录系统可以添加、修改、删除景点信息省份信息管理 管理员登录系统可以对景点省份信息进行集中管理门票订购统计 管理员登录系统可以对门票订购信息进行据统计网络旅游管理系统的设计与实现10酒店信息管理 管理员登录系统可以对景点酒店信息进行集中管理客房信息管理 管理员登录系统对酒店客房信息进行增、删、改、查等操作预订统计管理 管理员可以对酒店预订信息进行集中统计管理员用户在后台可以实现的操作有:对旅游景点信息进行添加、查询、查看、删除和修改;对酒店信息进行添加、查询、查看、删除和修改;对景点门票的预售情况查看和管理;对酒店房间的预定情况查看和管理;对会员信息进行增加、删除和修改等。根据
35、上述分析,得到系统各个模块的用例。系统的几个主要用例及描述如下:1景点信息管理用例。该用例主要包括对景点信息的添加、删除、修改、查看。该用例的用例图如图 3-1 所示。管理员添加景点删除景点查看景点景 点 信 息 管 理 功 能删除景点图 3-1 景点信息管理用例图该用例的描述如表 3-4 所示。表 3-4 景点信息管理用例描述用例编号 301用例名称 景点信息管理用例概述 管理员登录系统对景点信息进行管理参与者 管理员平顶山学院本科毕业设计11前置条件 管理员输入正确用户名和密码登录到本系统后置条件 成功地对景点信息进行增加、修改、删除、查看等成功保证 当前系统运行正常步骤 活动1 管理员成
36、功登录系统2 对景点信息进行操作基本事件流3 点击提交按钮规则与约束 系统首先检测输入的信息是否合法,再进行提交。2. 门票预订用例。该用例主要完成对景点门票的预订。该用例的用例图如图 3-2 所示。用户查看门票信息填写门票订单提交订单门 票 预 订 功 能图 3-2 门票预订用例图其用例描述如表 3-5 所示。表 3-5 门票预订用例描述用例编号 302用例名称 门票预订用例概述 用户登录系统对景点门票进行预订参与者 用户前置条件 用户输入正确用户名和密码登录到本系统后置条件 成功地对景点门票进行预订成功保证 当前系统运行正常步骤 活动1 用户成功登录系统基本事件流2 对景点信息进行查看网络
37、旅游管理系统的设计与实现123 填写门票订单4 提交订单规则与约束 用户名、密码和验证码都输入正确,登陆系统。3. 门票预订管理用例。该用例主要完成对景点门票预订情况进行审核。该用例的用例图如图 3-3 所示。管理员查看门票预订信息对预订信息审核提交门 票 预 订 管 理 功 能图 3-3 门票预订管理用例图其用例描述如表 3-6 所示。表 3-6 门票预订管理用例描述用例编号 303用例名称 门票预订管理用例概述 管理员登录系统对景点门票预订进行审核参与者 管理员前置条件 管理员输入正确用户名和密码登录到本系统后置条件 成功地对景点门票预订进行审核成功保证 当前系统运行正常步骤 活动1 管理
38、员成功登录系统2 对景点门票预订信息进行查看3 对门票预订订单审核基本事件流4 提交规则与约束 用户名、密码和验证码都输入正确,登陆系统3.4 本章小结本章对系统进行了需求分析。首先对系统的业务操作流程进行了分析,为系统的概要设计奠定了基础;接着对系统的设计目标进行了简单描述;然后通过对系统的功能需求的分析,了解了该模块所应完成的所有功能,并进行用例分析,构建出主要的用例模型图。 平顶山学院本科毕业设计134 系统总体设计本章主要介绍系统的总体设计,包括功能设计和数据库设计。数据库设计主要包括两个方面内容:数据库设计与实现。4.1 功能设计系统用户分为两类角色:系统管理员和会员。会员主要实现
39、6 个功能:会员注册、景点查询、门票订购、酒店查询、酒店预订、景点评论。系统管理员主要实现:会员管理、景点类型管理、景点管理、省份管理、门票审核、门票统计、酒店管理、预订审核、预订统计、评价管理。管理员的功能结构图如图4-1 所示。图 4-1 管理员功能结构图网络旅游管理系统的设计与实现14会员的功能结构图如图 4-2 所示。门票订购景点查询查询景点酒店订购景点门票 预订酒店信息查询景点信息景点评价会员在线注册酒店预订会员注册 酒店查询会员功能评价景点信息图 4-2 会员功能结构图4.2 数据库设计4.2.1 数据库的概念设计概念结构设计的任务是将数据库需求分析得到的用户数据需求抽象为信息结构
40、,是整个数据库设计的关键。概念结构设计的目标是产生反映信息需求的整体数据库概念结构,即概念模式。根据对系统的分析,系统的实体有管理员实体、景点实体、门票实体、酒店实体、房间实体、会员实体等。各个实体之间关系描述如图 4-3 所示。根据项目需要完成的功能、项目的具体需求以及关系数据库的实体完整性,数据表可以设计为:用户表 sys_user(id,user_name,user_pwd,full_name,sex,cardno,tel,addr, type)省份表 area(id,name)景点类型表 spot_type(id,name)景点信息表 spot(id,name,typeId,areaI
41、d, content1, content2, price)门票订购表 ticket(id, code, spotId, userId, regdate, amount, price, total, state )平顶山学院本科毕业设计15会员管理酒店景点管理员门票房间管理查看预订管理管理预订管理查看nm1nnmn1n1nm1mmn1n图 4-3 系统的 E-R 图酒店信息表 hotel(id,name,tyepename,spotId,content)房间类型表 roomtype(id, hotelId, name, price)房间信息表 room(id, roomno, typeId, f
42、loor)房间预订表 book(id, code, roomId, userId, regdate, days, outdate, price, total, state, remark)景点评论表 comment(id, spotId, userId, sendtime, content)4.2.2 数据库的逻辑结构设计数据库的逻辑结构由 E-R 图转换成相对应的关系模式。根据关系型数据库规范化理论对关系模式进行相应的规范化处理,达到 BCNF 范式。该系统共设计了 10 张数据表,通过数据库中各个数据表之间的关联,为系统的前台功能和后台管理功能提供支持 19。数据库中数据表之间的关系如图
43、4-4 所示。网络旅游管理系统的设计与实现16图 4-4 数据表之间的关系图4.2.3 数据库的实现本系统采用 SQL Server 2000 数据库,系统数据库名称为 myly。 下面将要设计数据库表,在设计数据库表的过程中,一般要遵循以下几条原则:1. 数据库的一个表最好只存储一个实体或对象的相关信息,不同的实体最好存储在不同的数据表中,如果实体还可以再划分,实体的划分原则是最好能够比当前系统要开发的实体的颗粒度小。2. 数据表的信息结构一定要合适,表的字段的数量一般不要过多。3. 扩充信息和动态变化的信息一定要分别放在不同的表里。4. 尽量不出现多对多的表关系。通过实体之间关系的分析,形
44、成数据库中的表格以及各个表格之间的关系。旅游管理信息系统数据库中各个表格的设计结果如下面的几个表格所示。每个平顶山学院本科毕业设计17表格表示数据库中的一个表。用户信息表保存了用户账户、密码 、姓名、性别等个人信息,如表 4-1 所示。表 4-1 用户信息表列名 数据含义 数据类型 长度 允许空id 自动编号 bigint 8 Fuser_name 帐号 varchar 50 Tuser_pwd 密码 varchar 50 Tfull_name 姓名 varchar 50 Tsex 性别 varchar 2 Tcardno 身份证号 varchar 50 Ttel 联系电话 varchar 5
45、0 Taddr 住址 varchar 50 Ttype 类型 varchar 1 T省份类型信息表保存了省的编号和表的名称,如表 4-2 所示。表 4-2 省份信息表列名 数据含义 数据类型 长度 允许空id 自动编号 bigint 8 Fname 名称 varchar 50 T景点信息表保存了景点编号、景点名称、景点类型、景点所属的身份、交通介绍、景点介绍及门票信息,如表 4-3 所示。表 4-3 景点信息表列名 数据含义 数据类型 长度 允许空id 自动编号 bigint 8 Fname 景点名称 varchar 50 TtypeId 景点类型 bigint 8 TareaId 所属省份
46、bigint 8 Tcontent1 交通介绍 text 16 Tcontent2 景点介绍 text 16 Tprice 门票 int 4 T网络旅游管理系统的设计与实现18景点类型信息表保存了景点类型编号、类型信息,如表 4-4 所示。表 4-4 景点类型信息表列名 数据含义 数据类型 长度 允许空id 自动编号 bigint 8 Fname 类型名称 varchar 50 T景点信息表保存景点名称、景点类型、所属省份、交通和景点介绍、门票价格等信息,如表 4-5 所示。表 4-5 门票订购信息表列名 数据含义 数据类型 长度 允许空id 自动编号 bigint 8 Fcode 订票编号
47、varchar 50 TspotId 景点 Id bigint 8 TuserId 订购者 bigint 8 Tregdate 订购时间 datetime 8 Tamount 订购数量 int 4 Tprice 门票单价 int 4 Ttotal 订购金额 int 4 Tstate 状态 varchar 1 T酒店信息表中主要保存酒店编号、酒店名称、酒店类型、景点 ID 和酒店介绍等信息,如表 4-6 所示。表 4-6 酒店信息表列名 数据含义 数据类型 长度 允许空id 自动编号 bigint 8 Fname 酒店名称 varchar 50 Ttypename 酒店类型 varchar 50
48、 TspotId 景点 ID bigint 8 Tcontent 酒店介绍 text 16 T平顶山学院本科毕业设计19房间类型信息表保存酒店、房间类型,房间价格等信息,如表 4-7 所示。表 4-7 房间类型信息表列名 数据含义 数据类型 长度 允许空id 自动编号 bigint 8 FhotelId 酒店 Id bigint 8 Tname 类型名称 varchar 50 Tprice 房间价格 int 4 T房间预订信息表保存了预订编号、房间、预订者、预订天数、预订时间、预订单价、预订金额、状态和备注等信息,如表 4-8 所示。表 4-8 酒店房间预订信息表列名 数据含义 数据类型 长度
49、 允许空id 自动编号 bigint 8 Fcode 预订编号 varchar 50 TroomId 房间 Id bigint 8 TuserId 预订者 bigint 8 Tregdate 预订时间 datetime 8 Tdays 预订天数 int 4 Toutdays 退房时间 datatime 8 Tprice 预订单价 int 4 Ttotal 预订金额 int 4 Tstate 状态 varchar 1 Tremark 备注 text 16 T景点评论表里面保存景点编号、发布者、发布时间和发布内容等信息,如表 4-9 所示。表 4-9 景点评论信息表列名 数据含义 数据类型 长度 允许空id 自动编号 bigint 8 FspotId 景点编号 bigint 8 TuserId 发布者 bigint 8 Tsendtime 发布时间 datatime 8 T网络旅游管理系统的设计与实现20content 发布内容 text 16 T为了保护数据库的安全可靠和正确有效,必须采取一定的安全保护措施。本系统采取的数据库保护措施有:1建立用户帐号、设置访问