




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、学号:毕业论文题目 酒店客房管理系统设计与实现英文并列题目 Hotel Management System for the Design andImplementation学院专业班级学生指导教师(职称)论文时间 2014 年 1 月 11 日至 2014 年 6 月 5 日本科毕业设计(论文)诚信承诺保证书本人郑重承诺: 毕业设计 (论文)的内容真实、可靠,是本人在指导教师的指导下,独立进行研究所完成。毕业设计(论文)中引用他人已经发 表或未发表的成果、数据、观点等,均已明确注明出处,如果存 在弄虚作假、抄袭、剽窃的情况,本人愿承担全部责任。学生签名:年月日摘要该软件采用 C#.NET应用开
2、发技术,具有一些客房查询、入住、退房等功能,尤其 依靠 C#.NET 的优点来为酒店更好的进行管理,稳定性,可扩展性,安全性,健壮性, 都是该酒店管理的优势所在。 数据库采用的 SQL Server 2005,SQLS ERVER是大数据库, 它也属于中型数据库, 应用于中小型企业。 SQLS ERVER的分布式、复制、全文检索、 DTS 都可以满足中型的应用。 所以使用 SQLS ERVER作为酒店管理系统的数据库再合适不过。 系统基于 C/S 架构,以 C#语言并使用 Microsoft Visual Studio 2008平台和 SQLS erver 2005数据库;实现了酒店管理的客房
3、管理、员工管理、财务管理、前台管理以及相关的 资料的管理, 并经过在本机 Win7系统上运行测试可以很好的应用。 本文档很好的介绍了 系统分析、数据流程分析、功能设计、数据库设计、系统实现和系统测试等内容。 关键词:酒店管理管理 C#.NET Visual Studio 2008 SQL Server 2005AbstractThe software uses C#.NET application development technology, with some rooms, check-in, check-out and query function, especially on the
4、advantages of C#.NET for hotel and better management, stability,scalability, security, robustness,is the hotel management advantage. Database using SQL Server 2005, SQL SERVER is a large database, it also belongs to the medium-sized database, applicable to small and medium enterprises. SQL SERVER di
5、stributed, copied, full-text retrieval, DTS can meet medium application. So the use of SQL SERVER asa hotel management system databaset.The system is based on C / S architecture, C Microsoft Visual # language and using Studio2008 platform and SQL Server 2005 database; the hotel management hotel mana
6、gement, staff management, financial management, medicine management and information management, and through this machine Win7system running test can be a very good application. This document is a very good introduction of the system analysis, data flow analysis, functional design, database design, s
7、ystem realization and system test etc.Keywords: Hotel Management System C#.NET Visual Studio 2008SQL Server 2005目录摘要 IIIIIIAbstract IIIIII第一章引言 661.1 研究背景与意义 661.2 研究内容 661.3 系统概述 771.4 系统开发工具介绍 771.4.1前台开发工具 C#.NET与.NET Framework介绍 771.4.2 Microsoft SQL Server 2005简介 99第二章系统分析研究 10102.1 需求分析 10102.
8、2.1理解需求 10102.2.2 性能需求 11112.2 系统业务流程图 1212第三章系统设计和分析 12123.1 系统功能结构设计 12123.2 数据库分析与设计 13133.2.1E-R图分析 13133.2.2表与字段分析和 SQL Server数据库建模 13133.2.3数据库需求分析 14143.2.4 创建存储过程 1717第四章系统功能的实现 21214.1 基础设置 21214.1.1客房类型设置 21214.1.2客房信息设置 21214.2 业务管理 22224.2.1客房预定 22224.2.2入住管理 22224.3 房态信息 2222第五章系统测试 222
9、25.1 测试理论 22225.2 测试内容 23235.3 测试结论 2424总结与展望 2525总结 2525展望2525致谢 2525参考文献 2727第一章引言1.1 研究背景与意义随着本人国市场经济的迅速发展和人们生活水平的不断提高,宾馆酒店业的竞争越 来越激烈。要想在竞争中取得优势,就必须在经营管理,产品服务等方面提高服务管理 意识。面对餐饮的经营起决定作用的是餐饮的管理。如何利用先进的管理手段,提高餐 饮的管理水平,是每一个酒店管理者所面临的重要课题。简单的服务标准已经不是制胜 的法宝,只有管理做到最细微之处,才能让顾客体会到酒店服务的高标准,高质量,而 准确,快捷,周全往往就是
10、最基本的成功要素。面对信息时代的挑战,利用科技手段提 高企业管理无疑是一条行之有效的途径。因此采用电脑管理业务,财务等诸多环节已成 为宾馆酒店业快速发展的先决条件。世界经济已从工业化社会进入信息化社会 ,西方发达国家已经进入相当发达的信息化阶段 ,而本国的信息产业目前尚处于起步阶段。信息高速公路和经济信息化,无疑将对人类社会的经济发展带来根本性的变化 ,对社会各行各业的生产、 工作和管理方式带来深 刻的变化 , 对包括酒店在内的许多机构无疑是一个严峻的挑战。国内酒店业的应用系统不同,各家供应商的软件也各不相同。对于一家酒店,如果 各部门使用的是不同的平台、 不同的软件,当员工进行软件操作时,
11、需要学习各种软件, 这样不但使员工的学习成本增高,也同时影响酒店的效率。这样就需要一个方便上手且 功能强大的管理软件能解决这些问题,让员工迅速上岗,减少成本,增加收益。因此, 制作一个酒店管理系统来解决这些问题已是势在必行。针对酒店的具体业务,主要是酒 店理,为用户提供迅速高效的服务,减免手工处理烦琐以及误差,并及时准确的反映酒 店的工作状况,从而提高酒店管理的服务质量,使酒店获得更好的经济效益。1.2 研究内容本酒店管理系统数据库选择的是 SQL Server 2005,开发环境是 Microsoft 的 Visual S,编程语言 C#.NET。基本思想是把开发过程分成:项目计划、需求分析
12、、详 细设计、代码实现、系统测试以及系统维护等进行完成。酒店管理系统的开发设计,包 括数据库结构设计及程序设计。该系统具有登记、订房、退餐、结算、查看客人信息等 基本功能,能够用于一般的中小型酒店餐饮管理。要求具备对某一领域熟悉的情况下去寻找相关资料并通过自学逐步掌握该门知识的能力。解决的主要问题包括如下几点:第一、系统管理员可以设置营业员的账户和密码,方便管理进行人事管理。两者登 陆后的功能是有差别的。第二、营业员可以查看实时房况和房价,给于客户最及时的信息,在客户需要时给 与最及时的解决方法。第三、对于客户的住房历史以及客户信息有记录, 以优良的服务发掘更多的回头客。第四、对住房记录和酒店
13、收入的报表式记录,可以方便财务上的管理。 第五、公告模块的加入,可以让酒店的信息传达更加方便和及时。1.3 系统概述随着入住旅客人数的增加,顾客的各种信息也成倍增长。给酒店客房部的日常管理 造成了一定的压力,有必要开发新的酒店管理系统来提高酒店客房的管理工作效率。通 过这样的系统,可以做到入住顾客规范管理、科学统计和快速查询,从而降低工作人员 的工作压力,把更多的时间可以运用到提高服务质量上来,复杂重复的工作很多都可以 用 MIS 管理系统来完成。 本系统通过应用 Microsoft Visual Studio 2008 、SQLServer2000 技术开发了本系统。 winform 应用程
14、序和其他 windows 应用程序一样,也是由两大部分 组成的:一是用户界面,二是应用于处理逻辑 1,2,3 。用户是通过窗口、菜单和窗口上的各种控件等界面元素来操作应用程序的,而应用 处理逻辑是通过事件和函数中的程序代码来实现的。 它可以实现各种入住客户信息的管 理操作。本酒店客房管理系统具有较强的应用性和实用性。1.4 系统开发工具介绍1.4.1 前台开发工具 C#.NET 与 .NET Framework 介绍C# 是一种简洁、类型安全的面向对象的语言,开发人员可以使用它来构建在 .NET Framework 上运行的各种安全、可靠的应用程序 4,5 。 您可以使用 C# 来创建 Win
15、dows 客户端应用程序、 XMLW ebs ervices 、分布式组件、客户端 / 服务器应用程序、 数据库应用程序等等。 Visual C# 提供了高级代码编辑器、方便的用户界面设计器、集 成调试器和许多其他工具,使您可以更轻松地在 C# 语言和 .NET Framework 的基础上 开发应用程序。C# 语法表现力强,而且简单易学。 C# 的大括号语法使任何熟悉 C、C+ 或 Java 的 人都可以立即上手。 了解上述任何一种语言的开发人员通常在很短的时间内就可以开始 使用 C# 高效地进行工作。 C# 语法简化了 C+ 的诸多复杂性,并提供了很多强大的功 能,例如可为 null 的值
16、类型、枚举、委托、 lambda 表达式和直接内存存取,这些都 是 Java 所不具备的。 C# 支持泛型方法和类型, 从而提供了更出色的类型安全和性能。 C# 还提供了迭代器,允许集合类的实施者定义自定义的迭代行为,以便容易被客户端 代码使用。语言集成查询 (LINQ) 表达式使强类型查询成为了一流的语言构造。作为一种面向对象的语言, C# 支持封装、继承和多态性的概念。 所有的变量和方 法,包括 Main 方法(应用程序的入口点),都封装在类定义中。类可能直接从一个父 类继承,但它可以实现任意数量的接口。 重写父类中的虚方法的各种方法要求 override 关键字作为一种避免意外重定义的方
17、式。在 C# 中,结构类似于一个轻量类;它是一种 堆栈分配的类型,可以实现接口,但不支持继承。除了这些基本的面向对象的原理之外, C# 还通过几种创新的语言构造简化了软件组 件的开发,这些结构包括:封装的方法签名(称为“委托”),它实现了类型安全的事件通知。 属性,充当私有成员变量的访问器。特性,提供关于运行时类型的声明性元数据。内联 XML 文档注释。语言集成查询 (LINQ) ,提供了跨各种数据源的内置查询功能。在 C# 中,如果必须与其他 Windows 软件(如 COM 对象或本机 Win32 DLL)交互, 则可以通过一个称为 “互操作”的过程来实现。 互操作使 C# 程序能够完成本
18、机 C+ 应 用程序可以完成的几乎任何任务。 在直接内存存取必不可少的情况下, C# 甚至支持指 针和“不安全”代码的概念。 C# 的生成过程比 C 和 C+ 简单,比 Java 更为灵活。 没 有单独的头文件,也不要求按照特定顺序声明方法和类型。 C# 源文件可以定义任意数 量的类、结构、接口和事件。 C# 程序在 .NET Framework 上运行,它是 Windows 的一 个不可或缺的组件,包括一个称为公共语言运行时 (CLR) 的虚拟执行系统和一组统一 的类库。 CLR 是 Microsoft 对 CommonL anguage Infrastructure (CLI) 的商业实现
19、。 CLI 是一种国际标准, 是用于创建语言和库在其中无缝协同工作的执行和开发环境的基 础。用 C# 编写的源代码被编译为一种符合 CLI 规范的中间语言 (IL) 。 IL 代码与资 源(例如位图和字符串)一起作为一种称为程序集的可执行文件存储在磁盘上,通常具 有的扩展名为 .exe 或 .dll 。 程序集包含清单,它提供有关程序集的类型、版本、区 域性和安全要求等信息。执行 C# 程序时,程序集将加载到 CLR 中,这可能会根据清单中的信息执行不同的 操作。 然后,如果符合安全要求, CLR 就会执行实时 (JIT) 编译以将 IL 代码转换为 本机机器指令。 CLR 还提供与自动垃圾回
20、收、 异常处理和资源管理有关的其他服务。 由 CLR 执行的代码有时称为 “托管代码”,它与编译为面向特定系统的本机机器语言的 “非 托管代码”相对应。 下图阐释了 C# 源代码文件、 .NET Framework 类库、程序集和 CLR 的编译时与运行时的关系。图 1-1 .NET 框架语言互操作性是 .NET Framework 的一项主要功能。 由于 C# 编译器生成的 IL 代 码符合公共类型规范 (CTS) ,因此从 C# 生成的 IL 代码可以与从 Visual Basic 、 Visual C+ 的 .NET 版本或者其他 20 多种符合 CTS 的语言中的任何一种生成的代码 进
21、行交互。 单一程序集可能包含用不同 .NET 语言编写的多个模块,并且类型可以相 互引用,就像它们是用同一种语言编写的。 除了运行时服务之外, .NET Framework 还 包含一个由 4000 多个类组成的内容详尽的库,这些类被组织为命名空间,为从文件输 入和输出、字符串操作、 XML 分析到 Windows 窗体控件的所有内容提供了各种有用的 功能。 典型的 C# 应用程序使用 .NET Framework 类库广泛地处理常见的“日常”任 务。1.4.2 Microsoft SQL Server 2005 简介Microsoft SQL Server 起源于 Sybase SQL Se
22、rver8,9。 1988 年,由 Sybase 公司、 Microsoft 公司和 Asbton-Tate 公司联合开发的,运行于 OS/2 操作系统上的 SQL Server 诞生。后来, Asbton-Tate公司退出 SQL Server 的开发,而 Sybase公司和 Microsoft 公司 签署了一项共同开发协议。在 1992年,两公司将 SQL Server移植到了 Windows NT 操 作系统上。之后, Microsoft 致力于 Windows NT 平台的 SQL Server 开发,而 Sybase公 司则致力于 UNIX 平台的 SQL Server的开发 10。
23、在 Microsoft SQL Server 的发展历程中, 有两个版本具有重要的意义。 那就是在 1996 年推出的 SQL Server 6.5版本和在 2000年 8月推出的 SQL Server 2005版本。6.5版本使 SQL Server得到了广泛的应用,而 2000版本在功能和易用性上有很大的增强,并推出 了简体中文版,它包括企业版、标准版、开发版和个人版 4 个版本。 SQL Server2000 作 为客户/服务器模式的数据库系统,具有以下特性:1、INTERNET 集成SQL Server 2005 数据库引擎提供完整的 XML 支持。它还具有构成最大的 Web站点的 数
24、据存储组件所需的可伸缩性、可用性和安全功能。 SQL Server 2005 程序设计模型与 Windows DNA 构架集成,用以开发 Web 应用程序,并且 SQL Server 2005 支持 English Query和Microsoft 搜索服务等功能,在 Web应用程序中包含了用户友好的查询 和强大的搜索功能。2、可伸缩性和可用性 同一数据库引擎可以在不同的平台上使用,从运行 Windows 98 的便携式电脑,到运行Windows 2000数据中心版的大型多处理器服务器。 SQL Server 2005 企业版支持联合服 务器、索引视图和大型内存支持等功能,使其得以升级到最大 W
25、eb 站点所需的性能级 别。3、企业级数据库功能SQL Server 2005关系数据库引擎支持当今苛刻的数据处理环境所需的功能。 数据库引擎 充分保护数据完整性,同时将管理上千个并发修改数据库的用户的开销减到最小。 SQL Server 2005分布式查询使用户可以引用来自不同数据源的数据, 就好像这些数据是 SQL Server 2005数据库的一部分, 同时分布式事务支持充分保护任何分布式数据更新的完整 性。复制同样使用户可以维护多个数据副本,同时确保单独的数据复本保持同步。可将 一组数据复制到多个移动的脱机用户,使这些用户自主地工作,然后将他们所做的修改 合并回发布服务器。4、易于安装
26、、部署和使用SQL Server 2005中包括一系列管理和开发工具, 这些工具可改进在多个站点上安装、 部 署、管理和使用 SQL Server 的过程。SQL Server 2005 还支 持基于标 准的 、与 Windows DNA 集成的程序设计模型,使 SQL Server 数据库和数据仓库的使用成为生成 强大的可伸缩系统的无缝部分。5、数据仓库SQL Server 2005 中包括吸取和分析汇总数据以进行联机分析处理( OLAP )的工具。 SQL Server 中还包括一些工具,可用来直观地设计数据库并通过English Query 来分析数据。第二章系统分析研究2.1 需求分析
27、需求分析阶段是酒店客房管理系统开发最重要的阶段。开发者首先要了解和澄清用 户的需求,然后严格地定义该系统的需求规格说明书。这里我们将需求分析分为两个过 程,一是理解需求,二是分析需求,下面分别讲解 6,7,8。2.2.1 理解需求理解需求是在问题及其最终解决方案之间架设桥梁的第一步。开发者只有和客户充 分理解了需求之后才能开始设计系统,否则,对需求定义的任何改进,在设计上都必须 大量的返工。下面是经过调研后得到的需求规格说明。(1) 系统界面采用 C/S 方式,界面应简洁明了,用户可方便浏览和查找客房信息。该 系统的用户有两种类型:一是管理员,二是服务员,两者应具有不同的权限。(2) 系统需对
28、用户登录进行管理。 使用各功能模块时, 系统应验证用户身份的有效性, 否则要求用户登录。另外,允许用户对自己的密码进行修改。(3) 系统应提供客房的分类管理功能,可分类制订客房面积、价格、是否配备空调等客 房类型,对不同标准的客房进行有效管理。系统可实现对客房信息的添加、删除以及修 改。(4) 在进行订房 / 退房管理时,系统可以根据客房当前的状态自动提示可用服务 (订房/ 退房)。如果客房没有客人入住,则该客房的可用服务为“订房”;否则,可用服务为 “退房”。(5) 系统在各功能模块的实现当中,提供多级分类检索和组合搜索。(6) 系统的客户端在 Windows平台下运行,系统还需要有较好的安
29、全性和可扩展性。2.2.2 性能需求需求分析是从客户的需求中提取出软件系统能够帮助用户解决的业务问题, 通过对用户 业务问题的分析, 规划出系统的功能模块, 即定义用例。这个步骤是对理解需求的升华, 直接关系到该系统的质量。经过开发者同客户的需求分析后,确定酒店客房管理系统的 功能模块 (用例)包括:用户信息管理客房类型管理客房信息管理客房经营管理客户信息查询经营状况统计酒店系统完全采用 C/S 方式,由前台和后台管理两个部分组成。前台作为与用户直接交 互的可视化界面,由于使用方便,能将系统的各个功能提供给用户,以帮助用户进行客 房管理。酒店系统的结构图如图 2-1 所示。图 2-1 酒店系统
30、的结构图 前台在考虑功能实现的同时,也考虑了操作的简洁和方便性,目的是让大多数客户能够 轻松地享受电子商务给他们带来的便利。为了确保客户和酒店的信息具有更好的安全性,前台管理和后台管理是分离的。前台的各管理模块需要经过权限授权才可以使用, 我们为此设计了两个角色: 一是酒店管理员, 二是前台服务员。其中:(1)酒店管理员享有最高权限,可以使用酒店客房管理系统所提供的所有功能,包括 员工信息管理、客房类型管理、客房信息管理、客房经营管理、客户信息查询、经营状 况统计、个人密码修改以及注销功能。(2)前台服务员的主要职能是负责订房和退房,以及查询入住的客户信息。所有该角 色只可以使用部分功能,包括
31、客房经营管理、客户信息查询、个人密码修改以及注销功 能。(3)后台管理主要由数据库系统作为支持,后台管理的维护工作主要由系统管理员进 行,包括完成对各个数据表单的维护、数据库的备份及恢复等工作。2.2 系统业务流程图本文从酒店客房管理系统的业务为着手点,分别画了预订退订业务流程图、入住业 务流程图、换房业务流程图、退房业务流程图。(1)预订退订业务流程图(2)入住业务流程图(3)退房业务流程图(4)换房业务流程图2.3.3酒店客房管理系统数据流程图(5)财务统计业务流程图图 2-2 入住业务流程图图 2-4 退房业务流程图第三图章2-系1 预统订退设订计业务和流程分图析3.1 系统功能结构设计
32、图 2-5 换房业务流程图采用本系统可以大大减少前台的服务人员的人数, 直接和后勤联系加快入住登记速图 2-6 财务统计业务流程图 度。由于采用计算机操作,可以大大提高操作速度。为了能够适应信息化发展的需要,提高服务行业的工作效率,引入了该信息系统。本系统包括以下功能模块。1、前台管理:主要包括客户入住登记,结账开单,房间查询,房间基本信息修改 等。2、客房管理:主要是对酒店客房类型管理增加、修改、删除,客房添加。3、客房设置:主要是对酒店客房类型和客房信息的设置。4、酒店初始化:主要是对酒店的基础设置信息的管理。包括酒店名称设置,酒店 老板姓名设置,酒店电话设置,酒店地址设置,酒店描述设置。
33、5、系统退出:主要是安全的退出该系统。3.2 数据库分析与设计数据库分析是整个数据库应用系统开发过程中的一个重要环节,它具体可分为两个 部分:一是概念模型的分析,即 E-R 图的分析;二是逻辑模型的分析,即表与字段的分 析8,9,10。由于在数据库设计时要同时考虑多方面的问题,使设计工作变得十分复杂,因此需 要软件来实现。在本节中,我们将使用 SQL Server 2005 自带的视图工具来进行 E-R 图 分析和数据库建模 11,12。3.2.1E-R 图分析E-R 图的分析工作通常采用自底向下的设计方法,首先对局部视图进行分析设计, 然后再实现视图集成。图 3-1 酒店客房管理系统 E-R
34、 图3.2.2 表与字段分析和 SQL Server 数据库建模表与字段分析是建立在 E-R图基础上的, 我们可以通过 E-R图确定系统中所有表与 字段的属性。表与字段分析后就可以使用 SQL Server 2005 建立数据库模型了。我们以 图 3-2 的酒店客房管理系统的 E-R 图为基础,可设计表字段,然后建立数据库模型。3.2.3 数据库需求分析数据库分析完成后,我们就可以对数据库进行设计了。在酒店客房管理系统中,数 据库的设计工作主要包括建立管理系统的数据库,创建所需要的表,也可以设计相关的 视图及存储过程。这些设计工作都在 SQL Server 2005环境下操作并实现 9,10
35、。 1.创建数据库在设计数据库表结构之前,首先要创建一个数据库。本系统使用的数据库名为 Hotelbook。用户可以在企业管理器中创建数据库,步骤如下。(1) 启动 SQL Server 2005 数据库在系统桌面上选择“开始” |“程序” | Microsoft SQLServer|“服务管理器”命令,然后 单击“启动”按钮,即启动 SQL Server 2005。(2) 启动企业管理器选择“开始” |“程序” | Microsoft SQLServer|“企业管理器”命令,启动数据库的管理 界面。(3) 新建数据库展开 Microsoft SQLServer|local|“数据库”后,右键
36、单击“数据库”按钮,在弹出的菜单 中选择“新建数据库”命令后,会弹出新建数据库窗口,如图 3-2 所示。图 3-2 新建数据库窗口在“名称”项中输入新数据库的名称 Hotelbook。单击“数据文件”标签页后,输入 数据库文件的存放位置;单击“事务日志”标签页后,输入数据库日志的存放位置,如 图 3-3 所示。设置完成后,单击“确定”按钮即完成数据库的创建。图 3-3 数据库文件和日志文件的存放位置也可以在 SQL Server 提供的查询分析器中执行以下 Transact-SQL语句:CREATE DATABASE HotelbookONPRIMARY ( NAME = Hotelbook_
37、Data,FILENAME = c:program filesmicrosoft sqlservermssqldataHotelbook_Data.mdf,SIZE = 100MB,MAXSIZE = 200,FILEGROWTH = 20)LOG ON( NAME = Hotelbook_Log,FILENAME = c:program filesmicrosoft sqlservermssqldataHotelbook_Log.ldf,SIZE = 100MB,MAXSIZE = 200, FILEGROWTH = 20),GO2. 创建表数据库 Hotelbook 包含以下 9 个表:客
38、房类型表、客房信息表、 楼层信息表、入住单、 入住单历史、预订单、预订单历史、账单明细、账单明细历史。 下面分别介绍这些表的结构。(1) 客房类型表 客房类型表用来保存使用该系统的客房类型的基本信息,客房类型表的结构如表 3-1 所 示。表 3-1 客房类型表(2) 客房信息表 客房信息表用来保存在酒店订房的客房的基本信息,客房信息表的结构如表 3-2 所示。表 3-2 客户信息表 (CustomersInfo)(3) 楼层信息表 楼层信息表用来保存酒店所有楼层的基本信息,楼层信息表的结构如表 3-3 所示。表 3-3 客房类型表 (RoomCategory)(4) 入住单 入住单用来保存酒店
39、所有客户的入住相关信息,表入住单结构的如表3-4 所示。表 3-4 入住单(5) 入住单历史表入住单历史表用来保存客房使用情况的基本信息, 表入住单历史表结构的如表 3-5 所示。 表 3-5 入住单历史表(6) 预订单表 预订单表用来保存目前酒店预定客户入住的客房的相关信息,表预订单表的结构如表 6 所示。表 3-6 预订单 表(7) 预订单历史表 预订单历史表用来保存酒店里所有预定过客户的客房的业务信息, 表预订单历史表的结 构如表 3-7 所示。表 3-7 预订单历史 表(8) 账单明细表 账单明细表用来保存酒店里所有入住过客户的账单信息,账单明细表的结构如表 3-8 所 示。表 3-8
40、 账单明细表(9) 账单明细历史表 账单明细历史表用来保存酒店里所有入住过客户的账单信息,账单明细表的结构如表3-9 所示。表 3-9 账单明细历史表(1) 创建用户信息表 (UsersInfo)的脚本文件如下:CREATE TABLE dbo.UsersInfo ( UserId int NOT NULL , Name varchar (50) COLLATE Chinese_PRC_CI_AS NULL , Password varchar (50) COLLATE Chinese_PRC_CI_AS NULL , Gender int NULL , Email varchar (50)
41、COLLATE Chinese_PRC_CI_AS NULL , Address varchar (50) COLLATE Chinese_PRC_CI_AS NULL , Telephone varchar (50) COLLATE Chinese_PRC_CI_AS NULL , Department varchar (50) COLLATE Chinese_PRC_CI_AS NULL , Type int NULL) ON PRIMARY(2) 创建客户信息表 (CustomersInfo)的脚本文件如下:CREATE TABLE dbo.CustomersInfo ( CIdenti
42、tyId nvarchar (50) COLLATE Chinese_PRC_CI_AS NOT NULL , CName nvarchar (50) COLLATE Chinese_PRC_CI_AS NULL , CPhone nvarchar (50) COLLATE Chinese_PRC_CI_AS NULL) ON PRIMARY(3) 创建客房类型表 (RoomCategory)的脚本文件如下:CREATE TABLE dbo.RoomCategory ( RCategoryId int IDENTITY (1, 1) NOT NULL , Name varchar (50) C
43、OLLATE Chinese_PRC_CI_AS NULL , Area float NULL , BedNum int NULL , Price money NULL , AirCondition int NULL , TV int NULL) ON PRIMARY(4) 创建客房信息表 (RoomsInfo)的脚本文件如下:CREATE TABLE dbo.RoomsInfo (RoomId int NOT NULL , RCategoryId int NULL , RPosition nvarchar (50) COLLATE Chinese_PRC_CI_AS NULL , Descr
44、iption nvarchar (50) COLLATE Chinese_PRC_CI_AS NULL ) ON PRIMARY(5) 创建作者信息表 (Authors)的脚本文件如下:CREATE TABLE dbo.Authors (PKId int IDENTITY (1, 1) NOT NULL ,Name nvarchar (40) COLLATE Chinese_PRC_CI_AS NOT NULL) ON PRIMARY(6) 创建客房业务表 (RoomOperation)的脚本文件如下:CREATE TABLE dbo.RoomOperation ( RoomId int NO
45、T NULL , BeginTime datetime NULL , CIdentityId nvarchar (50) COLLATE Chinese_PRC_CI_AS NULL , Remarks nvarchar (50) COLLATE Chinese_PRC_CI_AS NULL) ON PRIMARY(7) 创建业务记录表 (History) 的脚本文件如下:CREATE TABLE dbo.History ( BeginTime datetime NOT NULL , EndTime datetime NULL , RoomId int NOT NULL , TotalPric
46、e money NULL , CIdentityId nvarchar (50) COLLATE Chinese_PRC_CI_AS NULL , CName nvarchar (50) COLLATE Chinese_PRC_CI_AS NULL , CPhone nvarchar (50) COLLATE Chinese_PRC_CI_AS NULL , Remarks nvarchar (50) COLLATE Chinese_PRC_CI_AS NULL) ON PRIMARYHotelbook。否则,所有表都将创建到 Master 数据库中。3.2.4创建存储过程 在酒店客房管理系统
47、运行过程中,系统会在数据库中频繁查找或更新各种信息,例如,向客房信息表中插入或删除新的客房信息,根据客房类型和状态查找客房信息, 记录订房或退房信息等操作。为了提高系统的运行效率,我们创建了 13 个存储过程 部分存储过程的 Transact-SQL代码如下 11,12。(1) 存储过程 sp_ValidateUser 用于系统在用户登录时验证该用户身份的有效性。 如果该用户身份有效,返回该用户的用户类型。CREATE PROCEDURE sp_ValidateUser(name nvarchar(20), pwd nvarchar(15) , IsValid Int output,type
48、Int output)ASif (select count(Type) from UsersInfo where Name=name and Password=pwd ) =1begin- type用于记录该用户的用户类型select type=Type from UsersInfo where Name=name and Password=pwd- 该用户身份有效, IsValid 置为 1select IsValid = 1end else- 该用户身份无效, IsValid 置为 0select IsValid = 0(2) 存储过程 sp_InsertRoom用于管理员添加新的客房信息
49、时, 系统向表中录入该客房信 息。CREATE PROCEDURE sp_InsertRoom(RoomId int,RCategoryId int, RPosition nvarchar(50),Description nvarchar(50)AS- 向表 RoomsInfo 中插入新的客房信息insert into RoomsInfo values( RoomId,RCategoryId,RPosition,Description)- 向表 RoomStatus中插入新信息,并将该客房状态置为 1(空房 )insert into RoomStatus values(RoomId,1)(3)
50、 存储过程 sp_ShowRoomByCatgAndStatu用s 于根据客房类别或状态来获取客房信息。CREATE PROCEDURE sp_ShowRoomByCatgAndStatus(RCategoryId int,Status int)AS- 查找所有客房的信息if RCategoryId=0 and Status=0Select r.RoomId, c.Name,s.StatusFrom RoomsInfo r, RoomCategory c, RoomStatus sWhere s.RoomId=r.RoomIdand c.RCategoryId=r.RCategoryId- 根
51、据客房类型查找客房信息else if RCategoryId!=0 and Status=0Selectr.RoomId, c.Name,s.StatusFrom RoomsInfo r, RoomCategory c, RoomStatus sWhere s.RoomId=r.RoomIdand c.RCategoryId=r.RCategoryIdandr.RCategoryId=RCategoryId- 根据客房状态查找客房信息else if RCategoryId=0 and Status!=0Select r.RoomId, c.Name,s.StatusFromRoomsInfo
52、r, RoomCategory c, RoomStatus sWhere s.RoomId=r.RoomIdand c.RCategoryId=r.RCategoryIdand s.Status=Status- 根据客房类型和状态查找客房信息elseSelectr.RoomId, c.Name,s.StatusFromRoomsInfo r, RoomCategory c, RoomStatus sWhere s.RoomId=r.RoomIdand c.RCategoryId=r.RCategoryIdand r.RCategoryId=RCategoryIdand s.Status=Sta
53、tus(4) 存储过程 sp_GetRoomDetails用于根据客房号来获取客房的详细信息。CREATE PROCEDURE sp_GetRoomDetails(RoomId int)ASSelect r.RoomId, s.Status, c.Name, c.Area, c.BedNum, c.Price, r.RPosition From RoomsInfo r,RoomCategory c,RoomStatus sWhere c.RCategoryId=r.RCategoryIdand s.RoomId=r.RoomIdand r.RoomId=RoomId(5) 存储过程 sp_De
54、leteRoom用于管理员删除客房信息时,系统删除该客房在表中记录。CREATE PROCEDURE sp_DeleteRoom (RoomId int)AS-删除该客房在表 RoomsInfo 中的记录Delete from RoomsInfo where RoomId = RoomId-删除该客房在表 RoomStatus中的记录Delete from RoomStatus where RoomId = RoomId(6) 存储过程 sp_AddOrder 用于在客户订房时,系统向表中插入或更新相关记录。CREATE PROCEDURE sp_AddOrder (RoomId int,CN
55、ame nvarchar(50),CIdentityId nvarchar(50),CPhone nvarchar(50),BeginTime datetime, Remarks nvarchar(50)AS-将表 RoomStatus中该客房的状态置为 2(入住 )Update RoomStatus set Status=2where RoomId=RoomIdif (select count(*) from CustomersInfo where CIdentityId=CIdentityId)=0 begin-向表 CustomersInfo 中插入新的客户记录Insert into C
56、ustomersInfo values(CIdentityId, CName,CPhone)endelsebegin-更新表 CustomersInfo 中该客户的记录Update CustomersInfo set CName=CName,CPhone=CPhonewhere CIdentityId=CIdentityIdend-向表 RoomOperation 中插入该客房的入住记录Insert into RoomOperation values(RoomId,BeginTime,CIdentityId, Remarks)(7) 存储过程 sp_GetOrder用于根据客房号来获取客房的入住信息。CREATE PROCEDURE sp_GetOrder(RoomId int)ASSelect c.CName,c.CIdentityI
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 合伙协议书是由
- 抚养权变更协议书模板
- 商铺建盖协议书
- 舍惠山协议书
- 与老师的协议书
- 人员借调协议书范本
- 婚庆与酒店合作协议书
- 车辆状况协议书
- 2025合同范本土地使用权转让合同详细示范文本
- 2025内蒙古通辽新正电工技术服务有限公司招聘41人考前自测高频考点模拟试题及答案详解(各地真题)
- 2024年-2025年《公路养护》知识考试题库与答案
- (初级)航空油料特设维修员(五级)理论考试题库-下(判断题)
- NB-T31052-2014风力发电场高处作业安全规程
- FZ-T 01158-2022 纺织品 织物刺痒感的测定 振动音频分析法
- 工程部造价管控手册
- 汽车销售三方协议
- 氧气吸入的注意事项课件
- 20以内加减法口算题(10000道)(A4直接打印-每页100题)
- 畜牧兽医职称考试题库及答案
- 天惊牌中药消毒剂专家讲座
- 中国建设工程造价管理协会《建设工程造价鉴定规程》
评论
0/150
提交评论