《2022年酒店客房管理论文》由会员分享,可在线阅读,更多相关《2022年酒店客房管理论文(26页珍藏版)》请在金锄头文库上搜索。
1、信息工程学院数据库原理与应用课程设计论文题目: 酒店客房管理系统数据库设计学号:09205039 专业班级:信管 052 姓名:郑芬指导老师:杨丽丽完成日期:二零零八年一月精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 26 页摘要随着中国经济的不断发展和旅游业的飞速发展,酒店业随之快速发展,酒店越来越多,人们的要求越来越高,酒店客房管理业务越来越广泛,而传统的酒店客房管理单据繁琐,难以及时整理,利润无法及时统计,管理层无法实时查询营业情况和客房状态,工作效率底,给顾客带来不便。所以在激烈的竞争中,酒店只有不断完善自身的管理手段和方法,
2、提高自身的服务水平,才能得到充足和健康的发展。因此,建立酒店客房管理系统成为当务之急。本文采用结构化分析和设计方法,运用业务流程图,数据流程图和E-R 图等工具实现酒店客房管理系统的分析和设计。此系统很好的解决了传统客房客房管理的不足,它由客房预定退订模块、入住模块、换房模块、退房及财务汇总模块组成,能帮助酒店管理人员快速及时的掌握客房信息,提高工作效率,方便顾客。关键字:酒店客房管理;数据库系统;查询精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共 26 页目录引言 12 需求分析阶段12.1 需求分析阶段的目标12.2 需求分析阶段的
3、任务12.2.1 处理对象:12.2.2处理功能及要求:22.3 需求分析阶段成果22.3.1 体会与收获22.3.2 酒店客房管理系统业务流程图和数据流图(见附录1)32.3.3 酒店客房管理系统数据字典33 概念设计阶段33.1 概念设计阶段的任务和目标33.2 阶段结果44 逻辑设计阶段44.1 逻辑设计的任务和目标44.2 数据组织54.2.1 将E-R图转换为关系模型54.2.2 模型优化54.2.3数据库模式定义64.2.4用户子模式定义65 物理设计阶段65.1 物理设计阶段的目标与任务65.2 系统功能模块图75.3 程序流程图76 实施阶段76.1 建立数据库、数据表、视图7
4、6.1.1 建立数据库76.1.2 建立数据表(具体SQL语句见附录4.1)76.1.3建立视图(具体SQL语句见附录4.2)76.1.4建立存储过程(具体SQL语句见附录4.3)76.1.5建立触发器(具体SQL语句见附录4.4)86.2 数据入库8精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 3 页,共 26 页7 系统调试、测试88 心得体会99 存在的问题及建议9致谢 9参考文献10附录 1 酒店客房管理系统业务流程图和数据流图101.业务流程图102.数据流图10附录 2 数据字典112.1 数据项 112.2 数据结构122.3 数据
5、处理13附录 3 数据库模式和用户子模式定义143.1 数据库模式定义143.2 用户子模式定义16附录 4 SQL 语句 174.1 建立数据表SQL 语句 174.2 建立视图SQL 语句 194.3 建立存储过程SQL 语句 194.4 建立触发器SQL语句 19附录 5 数据查看和存储过程功能的验证错误!未定义书签。5.1 基本表和视图视图查看验证错误!未定义书签。5.2 存储过程验证 错误!未定义书签。5.3 触发器验证 错误!未定义书签。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 4 页,共 26 页引言随着全球一体化使酒店客房管理
6、业客源根加丰富多样化,市场更加广阔多渠道的同时,酒店客房管理业更面临着日趋激烈的竞争环境和不断攀升的客户期望,迫使业内人士不断进一步寻求扩大酒店客房销售,改进服务质量,降低管理成本和提升客户满意度的新法宝来增强酒店客房管理业的核心竞争力。其中最有效的手段之一就是大规模应用先进的信息化技术,变革传统意义上的酒店客房竞争方式和经营管理模式以进而赢得新竞争优势。本文以酒店客房管理系统为例,对客户的要求进行详细询问,调查酒店的组织机构,各部门的业务活动。并在上述活动后明确用户对系统的信息要求、处理要求、安全性及完整要求。明确系统边界后进行详尽的需求分析后,将系统划分为订房退订模块、入住模块、换房模块、
7、退房模块、财务统计模块。按照数据库设计流程用业务流程图、数据流程图,数据字典详尽确切的表达客房管理的工作流程。进行概念模型设计,逻辑模型设计,物理设计,建立一个能满足客房管理要求的方便实用的数据库系统。2 需求分析阶段需求分析简单地说就是分析用户的要求。需求分析是设计数据库的起点,需求分析的结果是否准确地反映了用户的实际要求,将直接影响到后M 娜各个阶段的设计,并影响到设计结果是否合理和使用。2.1 需求分析阶段的目标1.了解酒店客房管理的基本内容;2.综合的理解酒店客房管理各层管理人员的部同需求;3.了解酒店客房管理的基本业务流程;4.了解酒店客房人工管理模式与信息系统的工作简况,以及它们之
8、间的区别;5.通过调查和与酒店客房管理人员的交流,了解用户对酒店客房管理系统的业务要求,安全性和完整性要求;2.2 需求分析阶段的任务2.2.1 处理对象:系统的处理对象是顾客的预订和退订信息管理、顾客的入住信息管理、顾客的换房信息管理、顾客的退房信息管理和财务统计信息管理。系统的处理对象涉及以下几个方面的信息:顾客基本信息(Guest):顾客编号,顾客姓名,顾客性别,顾客身份证号,顾客电话,顾客精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 5 页,共 26 页地址,顾客预交款,顾客积分,顾客的折扣度,顾客余额。客房基本信息(RoomInfo):
9、客房编号,客房类型,客房价格,客房楼层,客房朝向。消费工程基本信息(Atariff ):消费工程编号,消费工程名称,消费工程价格。客房物品基本信息(RoGoInfo ):客房物品编号,客房物品名称,客房物品原价,客房物品赔偿倍数。客房状态信息(RoomState):客房编号,顾客编号,入住时间,退房时间,预订入住时间,预订退房时间,入住价格,客房状态修改时间,标志位。消费信息( Consumelist):顾客编号,消费工程编号,消费工程数量,消费时间。物品损坏信息(GoAmInfo ):顾客编号,客房物品编号,客房编号,损坏物品个数,损坏时间。2.2.2 处理功能及要求:1.能够存储一定数量的
10、顾客信息,并方便有效的进行相应的顾客数据操作和管理,这主要包括:1)顾客信息的录入,删除和修改。2)顾客信息的关键字检索查询。2.能够对顾客的预订退订信息,入住信息,换房信息,退房信息,消费信息和损坏物品信息进行相应的操作,这主要包括:1)顾客预订退订,入住,换房,退房的登记,删除及修改(即对房态信息的登记,删除和修改)。2)顾客消费信息的登记,删除及修改。3)顾客损坏物品的登记,删除及修改。4)顾客消费信息的汇总。3.能够提供一定的安全机制,提供数据信息授权访问,修改和删除,防止随意查询,修改及删除。4.对查询,统计的结果能够列表显示。2.3 需求分析阶段成果2.3.1 体会与收获系统需求分
11、析主要是通过对周边的酒店客房管理人员咨询,请教,了解酒店客房管理的规则和运行机制,并通过上网搜索相关酒店客房管理系统的知识,了解酒店客房管理的现状,以及在管理过程中存在的一些问题。由于以前没有接触过酒店管理业务,开始总是不知道哪些业务应该是我们了解的重点。在绘制业务流程图和数据流程图时,遇到很多问题,发现很多烤炉不周到的地方,反反复复的重新考虑,重新分析和完善,才逐步把业务弄清楚,最终顺利的完成了需求分析阶段的任务。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 6 页,共 26 页2.3.2 酒店客房管理系统业务流程图和数据流图(见附录1)本文从
12、酒店客房管理系统的业务为着手点,分别画了预订退订业务流程图、入住业务流程图、换房业务流程图、退房业务流程图。根据业务流程图,画了个业务流程图相对应的数据流图。2.3.3 酒店客房管理系统数据字典数据字典是体统中各类数据描述的集合,是进行详细的数据手机和数九分析所获得的主要成果。数据字典在数据库设计中占有很重要的地位。数据字典通常包括数据项、数据结构、数据流、数据存储、处理过程和外部实体6个部分。数据项是不可再分的数据单位。数据结构反映了数据之间的组合关系。数据流是数据结构在系统内传输的路径。数据存储是数据结构停留或保存的地方也是数据流的来源和去向之一。处理过程的具体处理逻辑一般用判定表或判定树
13、来描述。数据字典是需要描述处理过程的说明性信息。本文中包括37 个数据项(见附录2), 11 个数据结构(见附录2), 13 个处理过程(见附录3). 3 概念设计阶段将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是概念结构设计。它是整个数据库设计的关键。3.1 概念设计阶段的任务和目标(1)选择底层数据流为切入点,通常选择实际系统中的子系统;(2)设计分E-R 图,即各子模块的E-R 图;(3)生成初步E-R 图,通过合并方法,做到各子系统实体、属性、联系统一;(4)生成全局E-R 图,通过消除冲突等方面。在本酒店客房管理系统中,从第二层数据流程图下手,分析个第二层数据流程图和数据
14、字典,知道整个系统的功能围绕“顾客”、“客房”和“消费”的处理。根据尸体与属性间的两条准则:1 作为“属性”,不能再具有需要描述的性质。2 “属性”不能与其他实体具有联系。数据流程图2.8 、图 2.9 、图 2.10 、图 2.11 可综合成预订退订、入住、换房和退房的分E-R 图 3.1 ,数据流程图 2.12 可抽象为分E-R 图 3.2. 然后采用逐步集成的方法将各分E-R 图合并,消除不必要的冗余和冲突后生成了基本E-R 图 3.3.精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 7 页,共 26 页3.2 阶段结果(1)根据不同的对象,
15、从第二层数据流程图入手,分别画出各分E-R 图:(a)从数据流图图2.8 、图 2.9 、图 2.10 和图 2.11 抽象出的E-R 图: (c)从分 E-R 图图 3.1 和图 3.2 经消除冲突和冗余合成的总E-R 图:(b)从数据流图图2.12抽象出的E-R 图:注:因为排版原因将图3.2 和图 3.3 换位子;(2)各 ER 图各实体的属性如下所示:顾客: Guest(Gno,Gname,Gsex,Gid,Gtel,Gaddress,Account,Ggrade,discount ,balance)客房基本信息:RoomInfo(Rno,Rtype,Rprice,Rfloor,Tow
16、ard) 消费工程: Atariff (Atno,Atname,Atprice )客房物品信息:RoGoInfo(Goodsno,Goodsname,Oprice,Dmultiple) 各 E-R 图各联系的属性如下所示:预订: Reserve(Stime1,Rtime, Rltime) 退订: Back(Stime2) 入住: Into(Stime3,Atime,Ltime) 换房: Change(Stime4) 退房: Return(Stime5) 消费: Consumelist(Amount,Wtime) 物品赔偿单 GoAmInfo(Dnum ,Amendstime) 4 逻辑设计阶段
17、4.1 逻辑设计的任务和目标以上的概念设计阶段是独立于任何一种数据模型的,但是逻辑设计阶段就与选用的DBMS产品发生关系了,系统逻辑设计的任务就是将概念设计阶段设计好的基本E-R 图转换为选用DBMS 产品所支持的数据模型相符合的逻辑结构。具体内容包括数据组织(将E-R 图转换成关系模型、模型优化、数据库模式定义、用户子模式设计)、数据处理(画出系统功能模块图)两大任务。图 3.1 分 E-R 图 1 图 3.3 全局 E-R 图图 3.2 分 E-R 图 2 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 8 页,共 26 页4.2 数据组织4.
18、2.1 将 E-R图转换为关系模型实体型转换为关系模式。实体的属性就是关系的属性,实体的码就是关系的码。对于实体间的联系则有以下不同的情况:一个 m : n 联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。一个1:n 联系可以转换为一个独立的关系模式,也可以与n 端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n 端实体的码。一个 1:1 联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。三个或三个以上实体间的一个多元联系可以转换
19、为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合具有相同码的关系模式可合并。由于顾客与客房的联系方式为1:n( 一对多 ) ,可以将其之间的联系与n 端实体客房合并,也可以独立作为一种关系模式,我们选择将其作为独立的关系模式。由于顾客与客房物品,消费工程的联系方式为n:n( 多对多 ) ,可以将其之间的联系转化为独立的关系模式,具体的基本E-R 图向关系模型的转化如下:顾客: Guest(Gno,Gname,Gsex,Gid,Gtel,Gaddress,Account,Ggrade,discount ,balance)客房基本信息:R
20、oomInfo(Rno,Rtype,Rprice,Rfloor,Toward) 消费工程: Atariff (Atno,Atname,Atprice )客房物品信息:RoGoInfo(Goodsno,Rno,Goodsname,Oprice,Dmultiple) 预订: Reserve(Gno,Rno,Stime1,Rtime, Rltime) 退订: Back(Gno,Rno,Stime2) 入住: Into(Gno,Rno,Stime3,Atime,Ltime) 换房: Change(Gno,Rno,Stime4) 退房: Return(Gno,Rno,Stime5) 消费: Consum
21、elist(Atno,Gno,Amount,Wtime) 物品赔偿单 GoAmInfo(Goodsno,Gno,Rno, Amendstime ,Dnum) (注:画双线的为主码) 4.2.2 模型优化关 系 模 式Guest,RoomInfo,Atariff,RoGoInfo,Reserve,Back,Into,Change,Return,Consumelist,GoAmInfo不存在非主属性对主属性的部分函数依赖,也不存在传递函数依赖,已经达到了3NF,但是关系模式 Reserve,Back,Into,Change,Return 的主码都相同,如果用5 个关系模式表示这几个关系,有很大的冗
22、余,所以将5 个关系模式优化为关系模式:房态基本表: RoomState(Gno,Rno,Atime, Ltime,Rtime, Rltime,IntoPrice,Days,Stime,flag) ,其中 flag 为精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 9 页,共 26 页标志位,表示客房的状态为预订,入住,空。4.2.3 数据库模式定义数据库的模式定义包括三个方面:1.数据的逻辑结构;2.数据之间的联系;3.数据有关的完整性约束、安全性要求。表 41 数据库模式汇总编号数据库模式说明T-1 Guest 顾客基本信息(详见附录3)T-2
23、RoomInfo 客房基本信息(详见附录3)T-3Atariff 消费工程基本信息(详见附录3)T-4RoGoInfo 客房物品基本信息(详见附录3)T-5RoomState 房态基本信息(详见附录3)T-6Consumelist 消费基本信息(详见附录3)T-7GoAmInfo 物品赔偿信息(详见附录3)4.2.4 用户子模式定义将概念模型转换为全局逻辑模型后,还应该根据局部应用的需要,结合具体DBMS的特点,设计用户的外模式。用户模式注重考虑用户的习惯与方便。包括:(1)使用更符合用户习惯的别名。(2)可以对不同级别的用户定义不同的View,以保证系统的安全性。(3)简化用户对系统的使用。
24、表 42 用户子模式定义编号用户子模式( View)作用(共性:提供数据保密和安全保护机制V-1 BookView 便于查询预定信息(详见附录3)V-2 IntoView 便于查询入住信息(详见附录3)V-3 EmRoView 便于查询空房信息(详见附录3)5 物理设计阶段5.1 物理设计阶段的目标与任务数据库的物理设计就是为逻辑数据模型选取一个最合适应用要求的物理结构的过程,在这个阶段中要完成两大任务:(1)确定数据库的物理结构,在关系数据库中主要是存取方法和存储结构;(2)对物理结构进行评价,评价的重点是时间和空间效率。精选学习资料 - - - - - - - - - 名师归纳总结 - -
25、 - - - - -第 10 页,共 26 页5.2 系统功能模块图本系统的功能主要包括如图几个方面:5.3 程序流程图管理信息系统处理方式的合理选择,是一个处理过程的设计问题。选择处理方式实际上就是根据系统的任务、目标和环境条件,合理选择信息活动的形式及其具体方法。(1)顾客基本信息的查询和更新:描述顾客信息的查询和更新(插入、删除和更新)的过程。(2)客房物品、娱乐信息查询和更新(插入,删除和更新)程序流程图:6 实施阶段6.1 建立数据库、数据表、视图6.1.1 建立数据库数据库的建立Create database Hotelmanagement 6.1.2 建立数据表(具体SQL语句见
26、附录 4.1 )6.1.3 建立视图(具体SQL语句见附录 4.2 )6.1.4 建立存储过程(具体SQL语句见附录 4.3 )本系统建立了13 个存储过程:表 61 存储过程汇总表编号存储过程名称定义作用P-1 lsqSearchDate 详见(附录4.3 )查看某一天各种娱乐工程及其总量P-2 lsqSearchEmpty 详见(附录4.3 )查看某一层楼的空房间P-3 lsqWatchGuest 详见(附录4.3 )查看顾客信息图 5.1 酒店管理系统功能模块图图 5.2 顾客信息查询和更新程序流程图图 5.3 客房物品、娱乐信息查询和更新程序流程图精选学习资料 - - - - - -
27、- - - 名师归纳总结 - - - - - - -第 11 页,共 26 页P-4 lsqSearchGuest 详见(附录4.3 )查看某一位顾客的消费及余额情况P-5 lsqConsumeList 详见(附录4.3 )详见(附录4.3 )P-6 lsqAddRoomGoods 详见(附录4.3 )插入新的客房物品信息P-7 lsqAddAmusement 详见(附录4.3 )插入新的娱乐工程P-8 lsqAddGuest 详见(附录4.3 )插入新顾客信息P-9 lsqMoney 详见(附录4.3 )顾客付费P-10 lsqBook 详见(附录4.3 )顾客订房P-11 lsqInto
28、详见(附录4.3 )顾客入住P-12 lsqInsertAmends 详见(附录4.3 )插入新的物品赔偿信息P-13 lsqDeleteRoom 详见(附录4.3 )退房6.1.5 建立触发器(具体SQL语句见附录 4.4)表 62 触发器汇总编号触发器名称定义作用Tr-1 tri_discount详见(附录4.4 )插入房态信息),触发guest表,根据顾客积分计算顾客新的折扣度Tr-2tri_grade_balance详见(附录4.4 )当修改房态信息(即插入入住信息)时,触发 guest表,计算新积分及余额Tr-3tri_delete详见(附录4.4 )删除客房信息(即退房)时,触发g
29、uest表,把顾客的预付款和余额设为0Tr-4tri_grade1详见(附录4.4 )当插入新的娱乐消费信息时,触发guest表,从新计算顾客积分和余额Tr-5tri_AmendsMoney详见(附录4.4 )当插入新的物品赔偿信息时,触发guest表,从新计算顾客积分和余额6.2 数据入库系统包括顾客预订信息管理、客房入住信息管理、顾客换房信息管理、顾客退房信息管理、财务管理等五大功能模块,共有7 张基本表 , 采用事先在Excel中录入数据 , 然后使用SQL Server 2000 数据导入 / 导出向导功能, 直接将数据导入到相应的基本表中。7 系统调试、测试对该酒店客房管理系统进行测
30、试,验证每个功能是否符合要求,具体的测试如下:1 基本表和视图视图查看(见附录5.1)2 检验各个存储过程(见附录5.2)精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 12 页,共 26 页3 检验各个触发器(见附录5.3)8 心得体会1. 加深了对数据库设计有关知识的理解。之前对于数据库设计各阶段的理解不透彻,很多概念都很模糊。通过本次课程设计,我进一步了解了书本上的知识,并且亲身体验了数据库设计的各个环节。了解了数据库设计的流程。感触最深的是需求分析阶段和概念模型设计阶段。需求分析阶段是整个数据库设计的基础,这个阶段直接影响到后面各个阶段的设
31、计。由于对业务不是十分精通,在这个阶段返工了好几次,起先以部门为基础画业务流程图,可是发现错了,然后以业务为基础画业务流程图。反反复复的修改。如果这个阶段做的不好,后面就无法继续进行下去。概念模型设计阶段,最重要的是从数据流图中抽象出实体,并且要考虑冲突的发生。2. 更深入的了解并掌握了SQL SERVER 2000 的功能。由于在有关存储过程和触发器的知识掌握的不是太好,实习的时候也只是按实习指导书上的代码进行编写,并不了解触发器的真正原理,但是在此次课程设计中,大量的用到触发器和存储过程,了解了它们的功能和原理。3. 更加了解了SQL语句,在酒店客房管理系统的实施阶段,因为有大量的功能要通
32、过触发器、存储过程来实现,所以锻炼了自己的编程能力。4. 这次课程设计采取两人一组的方式,锻炼了我们相互的合作精神,让我们亲身体验到合作的重要性。在做系统时,每个人的不同的想法组合起来,可以减少系统的漏洞。同时,学习同伴在编程序中的好的习惯。9 存在的问题及建议这次课程设计,在正式开始前我们就着手进行了,但是因为对业务的不了解性,虽然利用元旦三天假期做需求分析,可是在真正的开始课程设计的时候,发现需求分析做的很不好,存在很多的问题。所以重新修改需求分析,延误了进度。希望老师在实习前对我们进行辅导,让我们了解应该从哪一方面着手做需求分析,哪里是切入点。致谢要改本次数据库课程设计的整个过程中,指导
33、教师尹天鹤细心的指导和关怀帮助我们克服了很多困难。在此表示忠心的感谢!我这次能顺利完成课程设计任务,离不开老师们的关怀和指导。他们丰富的经验和知识不仅帮助我完成了课程设计,还教会了我很多处理问题的方法和做事的道理。同时也感谢帮助过我的同学,是他们在我遇到问题的时候,停下自己的工作,帮我分析问题的原因,帮我找到解决的办法。是他们在我想不明某些过程的时候,给我提示。是他们在交流的时候,指出我的系统的不足之处,让我对系统不断的完善。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 13 页,共 26 页参考文献1 萨师煊王珊,数据库系统概论( 第三版 )
34、,北京 : 高教出版社,2000 2 萨师煊王珊,数据库系统概论( 第四版 ) ,北京 : 高教出版社,2006 3 李书琴杨丽丽,数据库原理与应用实习指导书,信息工程学院,2007 4 姚巍, Visual Basic数据库开发及工程实例,北京:人民邮电出版社,2003 5 高春艳李俊民刘彬彬, Visual Basic数据库系统开发案例精选,北京:人民邮电出版社, 2006王珊 .数据库系统概论.高等教育出版社,2000 张龙祥 .数据库原理与设计.人民邮电出版社,2000 李红.数据库原理与应用.高等教育出版社,2002 王能斌 .数据库系统原理.电子工业出版社,2002 伍俊良 .课程
35、设计与系统开发案例.清华大学出版社,2003 何旭洪 .数据库系统开发实例导航.人民邮电出版社, 2003 童爱红 ,刘凯 .VB.NET应用教程 .清华大学出版社,2007 丁宝康 ,董健全 .数据库实用教程 .清华大学出版社,2003 曾宇昆 ,乔健 .数据库教程上机辅导.电子工业出版社,2005 刘志铭 ,高春艳 ,孙健鹏 .数据库开发实例.机械工业出版社,2004 李卓玲 ,费雅洁 .数据库实用技术教程.高等教育出版社,2007 附录 1 酒店客房管理系统业务流程图和数据流图1. 业务流程图(1)预订退订业务流程图(2)入住业务流程图(3)退房业务流程图(4)换房业务流程图 2.3.3
36、 酒店客房管理系统数据流程图(5)财务统计业务流程图2. 数据流图(1)顶层数据流图(2)第一层数据流图图 1.1 预订退订业务流程图图 1.2 入住业务流程图图 1.3 退房业务流程图图 1.4 换房业务流程图精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 14 页,共 26 页(3)预订退订数据流(4)换房数据流图(5)入住数据流图(6)财务统计数据流图( 7)退房数据流图附录 2 数据字典2.1 数据项表 21 数据项表数据相编号数据项名称数据项别名数据项类型长度取之范围备注Dl-1 Gno 顾客编号Char 20 Dl-2 Gname 顾客
37、姓名Char 20 Dl-3 Gsex 顾客性别Char 2 “女”,“男”Dl-4 Gid 顾客身份证号Char 18 Dl-5 Gtel 顾客电话Char 11 Dl-6 Gaddress 顾客地址Char 20 Dl-7 Ggrade 顾客积分int 图 1.7 第一层数据流图图 1.8 预订退订数据流图图 1.9 换房数据流图图 1.10 入住数据流图图 1.12 退房数据流图图 1.11 财务统计数据流图精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 15 页,共 26 页数据相编号数据项名称数据项别名数据项类型长度取之范围备注Dl-8
38、Account 预交款float Dl-9 grade 积分范围int 大于等于 1 Dl-10 discount 折扣float 0.80,0.85,0.90,0.95 打折额度Dl-11 Goodsno 客房物品编号Char 20 Dl-12 Goodsname 客房物品名称Char 20 Dl-13 Oprice 客房物品原价float Dl-14 Dmultiple 赔偿倍数float Dl-15 Atno 消费工程编号Char 20 Dl-16 Atname 消费工程名称Char 20 Dl-17 Atprice 消费工程单价float Dl-18 Rno 客房编号Char 20 D
39、l-19 Rtype 客房类型Char 20 Dl-20 Rprice 客房单价float Dl-21 Floor 客房楼层Int Dl-22 Toward 客房朝向Char 10 Dl-24 Atime 入住时间datetime Dl-25 Rtime 预订时间datetime Dl-26 Ltime 退房时间datetime Dl-27 Tntoprice 入住价格float Dl-28 Stime1 预订房态修改时间datetime Dl-29 Amoney 消费工程花费float Dl-30 Dmoney 物品损坏费float Dl-31 balance 余额float Dl-32 A
40、mount 消费工程个数Int Dl-33 Dnum 损坏物品个数Int Dl-34 Stime2 退订修改房态时间datetime Dl-35 Stime3 入住修改房态时间datetime Dl-36 Stime4 换房修改房态时间datetime Dl-37 Stime5 退房修改房态时间datetime 2.2 数据结构表 2.2 数据结构精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 16 页,共 26 页数据结构编号数据结构名数据结构含义数据结构组成DS-1 guest 顾客信息Gno,Gname,Gsex,Gid,Gtel,Gaddr
41、ess,Account,balance,grade,discount DS-2 Into 入住信息DS-1+DS-8 DS-3 reserve 预订信息DS-1+DS-8 DS-4 return 退订信息DS-1+DS-8 DS-5 goods 客房物品信息Goodsno,Goodsname,Oprice,Dmultiple DS-6 Amuse 娱乐价目表Atno,Atname,Atprice DS-7 RoomType 客房信息Rno,Rtype,Rprice,Floor,Toward DS-8 RoomState 房态信息Rno,Atime,Rtime,RLtime,Ltime,Gno,
42、Intoprice,Stime DS-9 consum 消费清单Cono,Gno,account,balance,Amoney,Dmoney,Cotime DS-10 Amuse 顾客消费单DS-6+DS-1 DS-11 GoodsD 物品损坏单DS-5+DS-1 2.3 数据处理表 2.3 处理过程处理逻辑编号处理逻辑名称简述输入的数据流处理输出的数据流P1.1 核对客户要求前台核对是否有满足顾客要求的客房顾客预订数据,房态信息,客房类型根据客房类型和房态信息 , 核对是否有满足顾客要求的客房并反馈给顾客满足要求的顾客信息和顾客信息 .P1.2 预订登记将顾客分配到满足 要 求 的 客 房
43、,在前台记录满足要求的顾客信息和客房信息根据满足要求的信息, 办理登记,并修改客房状态预订单 ,将预订单存档并反馈给客户P1.3 退订登记对顾客退订处理顾客的退订数据根据顾客的退订信息,客房状态房态信息,根据房态信息更新房态信息P2.1 入住登记前台对已定房顾客进行登记顾客给出的预定信息办理入住手续,修改房态信息更 改 后 的 房 态 信息,新的入住记录P3.1 核对客户要求查看酒店的空客房是否满足客户要求顾客换房要求根据客户的要求,查看是否有满足客户要求的空客房满足 /不满足信息,查询余额要求精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 17
44、页,共 26 页处理逻辑编号处理逻辑名称简述输入的数据流处理输出的数据流P3.2 查询余额对顾客的消费余额进行查询查询余额请求根据换房顾客的消费清单,查询余额是否能满足所换房价格余额足 / 不足信息P3.3 登记换房对换房者进行换房登记余额足够信息对 换 房 者 进 行 登记,并修改房态信息房态信息P3.4 开续款通知对换房顾客填写需款通知足额不足信息填写续款通知续款通知单P4.1 退房登记前台对顾客的退房进行确认顾客退房数据根据顾客的退房信息,更新房态信息房态信息,将新的房态信息存档P4.2 打印消费清单根据财务部的顾客消费汇总,打印顾客消费情况消费数据,来源财务部根据财务部的顾客消费汇总,
45、打印消费清单,反馈给顾客消费清单,反馈给顾客其消费情况P5.1 统计消费工程根据顾客的消费工程和客房部拥有的消费工程核对顾客的消费情况顾客的消费工程,客房部拥有的消费工程根据客房部拥有的消费工程统计顾客的消费工程消费工程记录,传递给财务部P5.2 汇总顾客消费工程对顾客的各种花费进行汇总顾客的消费,损坏物品的赔偿,顾客信息及会员信息对顾客的所有经费进行汇总如是会员进行优惠一位顾客的所有花费P5.3 统计损坏物品统计客房物品的损坏情况客房物品信息根据物品清单检查是否有损坏,如有则对损坏者进行索赔损坏物品赔偿信息P5.4 酒店营业额汇总汇总酒店的营业额顾客消费信息根据顾客的消费情况,对酒店的营业额
46、进行汇总酒店营业额附录 3 数据库模式和用户子模式定义3.1 数据库模式定义表 31 顾客基本信息列名数据类型可否为空说明Gno char(20) not null 顾客编号Gname char(20) not null 顾客姓名Gsex char(2) not null 顾客性别Gid char(18) not null 顾客身份证Gtel char(11) 顾客电话精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 18 页,共 26 页列名数据类型可否为空说明Gaddress char(20) 顾客地址Account float 顾客预付金额Gr
47、ade int 顾客积分discount float not null 顾客的折扣率balance float 顾客余额表 32 房间基本信息列名数据类型可否为空说明Rno char(10) not null 房间编号Rtype char(20) not null 房间类型Rprice float not null 房间价格Rfloor smallint not null 房间楼层Toward char(10) not null 房间朝向表 33 房间物品信息列名数据类型可否为空说明Goodsno char(20) not null 物品编号Goodsname char(20) not nul
48、l 物品名字Oprice float not null 物品价格Dmultiple float not null 物品索赔倍数表 34 房态信息列名数据类型可否为空说明Rno char(10) not null 房间号Gno char(20) not null 顾客号Atime datetime 实际入住时间Ltime datetime 实际退房时间Rtime datetime 预订入住时间Rltime datetime 预订退房时间IntoPrice float 入住价格Days int 入住天数Stime datetime 修改记录时间flag char(1) 预订入住标志位表 35 娱乐
49、工程信息列名数据类型可否为空说明Atno char(20) not null 娱乐工程编号Atname char(20) not null 娱乐工程名称Atprice float not null 娱乐工程单价(时间计费或个数计费)表 36 娱乐消费信息列名数据类型可否为空说明Gno char(20) not null 顾客号Atno char(20) not null 商品号Amount float 消费数量Wtime datetime not null 消费开始时间表 37 物品赔偿信息精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 19 页,
50、共 26 页列名数据类型可否为空说明Gno char(20) not null 顾客号Rno char(10) not null 房间号Goodsno char(20) not null 物品号Dnum int 损坏个数Amendstime datetime Datetime 损坏时间3.2 用户子模式定义表 38 订房视图列名数据类型可否为空说明Gno char(20) not null 顾客号Rno char(10) not null 房间号Rtype char(20) not null 房间类型Rfloor smallint not null 房间楼层Toward char(10) no
51、t null 房间朝向IntoPrice float not null 入住价格Rtime datetime not null 入住时间Rltime datetime not null 打算退房时间Days int not null 居住天数Wtime datetime not null 查看时时间表 39 入住视图列名数据类型可否为空说明Gno char(20) not null 顾客号Gname char(20) not null 顾客姓名Rno char(10) not null 房间号Rtype char(20) not null 房间类型Rfloor smallint not nul
52、l 房间楼层Toward char(10) not null 房间朝向IntoPrice float not null 入住价格Atime datetime not null 入住时间Ltime datetime not null 退房时间Days int not null 入住天数Account float not null 预付金额Wtime datetime not null 查看时时间表 310 空房视图列名数据类型可否为空说明Rno char(10) not null 房间号Rtype char(20) not null 房间类型Rprice float not null 入住价格R
53、floor int not null 房间楼层Toward char(10) not null 房间朝向精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 20 页,共 26 页附录 4 SQL 语句4.1 建立数据表 SQL 语句(1)顾客基本信息表的建立:create table guest ( Gno char(20) not null, Gname char(20)not null, Gsex char(20) not null, Gid char(18) unique not null, Gtel char(11), Gaddress cha
54、r(20), Account float, Grade int, discount float not null, balance float, primary key (Gno), check (Account = 0.0 and Grade0) ) (2)客房基本信息表的建立:create table Roominfo ( Rno char(10), Rtype char(20)not null, Rprice float not null, Rfloor smallint not null, Toward char(10)not null, primary key (Rno), chec
55、k (Rfloor between 1 and 100), check (Toward in( 正北 ,正南 ,正西 ,正东 ,东北 ,西南 ,西北 ,东南 ), check (Rtype in( 标准 1,标准 2,豪华 1,豪华 2,高级 1,高级 2),) (3)房态表的建立:create table RoomState (Rno char(10), Gno char(20), Atime datetime , Ltime datetime, Rtime datetime, 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 21 页,共 26
56、页 Rltime datetime, IntoPrice float , Days int , Stime datetime, flag char(1) , primary key (Rno,Gno), foreign key (Rno)references Roominfo(Rno), foreign key (Gno)references guest(Gno), check (flag in(1,2,3), ) (4)娱乐工程基本信息表的建立:create table Atariff ( Atno char(20), Atname char(20)not null, Atprice flo
57、at not null, primary key (Atno), check (Atprice 0.0) ) (5)顾客娱乐消费信息表的建立: create table Consumelist ( Gno char(20), Atno char(20), Amount float, Wtime datetime not null, primary key(Gno,Atno), foreign key (Gno)references guest(Gno), foreign key (Atno)references Atariff(Atno) ) (6)客房物品基本信息表的建立: create t
58、able RoGoInfo ( Goodsno char(20), Goodsname char(20)not null, Oprice float not null, Dmultiple float not null, primary key (Goodsno) ) (7)顾客赔偿物品信息表的建立:create table GoAmInfo (Gno char(20), Rno char(10), 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 22 页,共 26 页 Goodsno char(20), Dnum int , Amendstime
59、 datetime not null, primary key(Gno,Rno,Goodsno), foreign key (Gno)references guest(Gno), foreign key(Rno)references Roominfo(Rno), foreign key(Goodsno)references RoGoInfo(Goodsno) ) 4.2 建立视图 SQL 语句(1)用于查询预订房信息的视图定义如下:createview BookView(Gno,Gname,Rno,Rtype,Rfloor,Toward,IntoPrice,Rtime,Rltime,Days,
60、Stime)as select RoomState.Gno,Gname,RoomState.Rno,Rtype,Rfloor,Toward,IntoPrice,Rtime,Rltime,Days,Stimefrom Roominfo,RoomState,guest where flag=1 and Roominfo.Rno=RoomState.Rno and RoomState.Gno=guest.Gno(2)用于查询已入住房的试图如下:createview IntoView(Gno,Gname,Rno,Rtype,Rfloor,Toward,IntoPrice,Atime,Ltime,Day
61、s,Account)as select RoomState.Gno,Gname,RoomState.Rno,Rtype,Rfloor,Toward,IntoPrice,Atime,Ltime,Days,Accountfrom Roominfo,RoomState,guest where flag=2 and Roominfo.Rno=RoomState.Rno and RoomState.Gno=guest.Gno(3)用于查询空房的视图定义如下:create view EmRoView(Rno,Rtype,Rprice,Rfloor,Toward) as select Rno,Rtype,R
62、price,Rfloor,Toward from Roominfo where Rno not in (select Rno From RoomState) 4 4.4 建立触发器 SQl 语句1.当插入订房信息(即插入房态信息),触发guest表,根据顾客积分计算顾客新的折扣度精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 23 页,共 26 页CREATE TRIGGER tri_discount ON RoomState FOR insert AS declare Grade int, Gno char(20) select Gno=Gno
63、from inserted select Grade=Grade from guest where Gno=Gno if (Grade = 0 and Grade300) begin update guest set discount=1.00 where Gno=Gno end else if(Grade500 ) begin update guest set discount=0.95 where Gno=Gno end else if(Grade700) begin update guest set discount=0.90 where Gno=Gno end else if (Gra
64、de1000) begin update guest set discount=0.85 where Gno=Gno end else begin update guest set discount=0.80 where Gno in(select Gno from inserted) end 2.当修改房态信息(即插入入住信息)时,触发guest表,计算新积分及余额CREATE TRIGGER tri_grade_balance on RoomState 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 24 页,共 26 页for update
65、as begin declare IntoPrice float, Days int select IntoPrice=IntoPrice from RoomState where Rno in(select Rno from inserted ) and Gno in(select Gno from inserted) select Days=Days from RoomState where Rno in(select Rno from inserted ) and Gno in(select Gno from inserted) update guest set balance=Acco
66、unt-IntoPrice*Days,grade=grade+IntoPrice*Dayswhere Gno in(select Gno from inserted) end 3.删除客房信息(即退房)时,触发guest表,把顾客的预付款和余额设为0 CREATE TRIGGER tri_delete on RoomState for delete as begin update guest set Account=0,balance=0 where Gno in(select Gno from deleted) end 4.当插入新的娱乐消费信息时,触发guest表,从新计算顾客积分和余额C
67、REATE TRIGGER tri_grade1 ON Consumelist FOR insert As begin declare Gno char(20), Atno char(20), Amount int, Atprice float select Gno=Gno,Atno=Atno,Amount=Amount from inserted select Atprice=Atprice from Atariff where Atno=Atnoupdate guest SET grade=grade+Atprice*Amount/10,balance=balance-Atprice*Am
68、ountwhere Gno=Gno END 5.当插入新的物品赔偿信息时,触发孤儿guest表,从新计算顾客积分和余额精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 25 页,共 26 页CREATE TRIGGER tri_AmendsMoney ON GoAmInfo for insert as begin declare Gno char(20), Goodsno char(20), Dnum int, Oprice float, Dmultiple float select Gno=Gno,Goodsno=Goodsno,Dnum=Dnum from insertedselect Oprice=Oprice,Dmultiple=Dmultiple from RoGoInfo where Goodsno=Goodsno update guest set balance=balance-Oprice*Dnum*Dmultiple where Gno=Gno end 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 26 页,共 26 页