数据库酒店客房管理系统-毕业论文.doc

上传人:教**** 文档编号:88283786 上传时间:2023-04-24 格式:DOC 页数:27 大小:619.50KB
返回 下载 相关 举报
数据库酒店客房管理系统-毕业论文.doc_第1页
第1页 / 共27页
数据库酒店客房管理系统-毕业论文.doc_第2页
第2页 / 共27页
点击查看更多>>
资源描述

《数据库酒店客房管理系统-毕业论文.doc》由会员分享,可在线阅读,更多相关《数据库酒店客房管理系统-毕业论文.doc(27页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、 河南城建学院数据库原理及应用课程设计专 业 班 级 : 0834131 课程设计题目: 酒店客房管理系统 指 导 教 师 : 吴孝丽 苏靖枫 学 生 学 号 : 083413135 学 生 姓 名 : 本小组合作者: 计算机科学与工程学院2015年6月14目 录1 需求分析阶段11.1 概述11.2 需求阶段的目标及任务11.3 安全性和完整性要求21.4 建立数据业务流程及数据字典22 概念分析阶段43 逻辑设计阶段53.1 数据组织63.2数据处理94 物理设计阶段94.1数据存储方面94.2系统功能模块95 数据实施阶段105.1 建立数据库、数据表、视图、索引105.2数据入库176

2、 系统调试和测试17心得体会19附录20参考文献251 需求分析阶段1.1 概述 进行数据库系统设计,首先要对系统的现状进行分析,明确自己酒店客房管理系统课程设计所要实现的目标、需求和功能,制定和选择一个较好的系统方案,有计划,有头绪,有思路,不能盲目的就着手去做,从而达到一个合理的优化系统。需求分析在于弄清这次课程设计的酒店管理系统的确切要求,因此,数据库课程设计的第一步就是明确数据库的目的和如何使用该系统。明确目的之后,才可以确定自己需要保存那些表信息,以及每个表中需要保存哪些字段。对于酒店客房管理系统,需要了解以下内容: 1.了解酒店客房管理的基本内容;2.综合的理解酒店客房管理各身份层

3、次的不同需求;3.了解酒店客房管理的基本业务流程;4.了解酒店客房人工管理模式与信息系统的工作概况,以及它们之间的区别;5.通过网上查阅资料以及翻阅相关书籍,了解用户对酒店客房管理系统的业务要求,安全性和完整性要求;1.2 需求阶段的目标及任务(1)处理对象房客基本信息(Customer):房客编号,房客身份证号,房客姓名,房客性别,房客电话;房间基本信息(Room):房间编号,房间类型号,房间位置(楼层),房间描述(朝向);房间类型信息(RoomType):房间类型号,房间类型名,房间面积,房间价格;客房业务历史记录信息(History):房客编号,房客身份证号,房客姓名,房客电话,房间编号

4、,消费金额,入住时间,退房时间;客房业务信息(RoomOperation):房客编号,房客身份证号,房间编号,入住时间;房间状态信息(RoomStatus):房间编号,房间状态(有人 / 未住)。(2) 处理功能及要求 系统对酒店客房管理系统的功能及要求如下: 能够存储一定数量的房客信息,并方便有效的进行相应的房客数据操作和管理,这主要包括:房客信息的录入,删除和修改; 房客信息的关键字检索查询。 能够对房客的入住信息,换房信息,退房信息,进行相应的操作,这主要包括: 房客入住,换房,退房的登记,删除及修改; 房客住房历史信息的删除、修改; 房客住房金额的统计与查询。 能够提供一定的安全机制,

5、提供数据信息授权访问,修改和删除,防止随意查询,修改及删除。 对查询、统计的结果能够列表显示。1.3 安全性和完整性要求(1)安全性要求 系统安全性要求体现在数据库安全性、信息安全性和系统分平台的安全性等方面。安全性之基础的是通过视图机制,不同用户只能访问系统授权的视图,这样可以提供系统数据一定程度上的安全性。系统平台的安全性体现在操作系统的安全性、计算机系统的安全性和网络体系的安全性等方面。(2) 完整性要求 系统完整性要求系统中数据的正确性以及相容性。可通过 建立主、外键,使用unique约束,或者使用触发器更新。1.4 建立数据业务流程及数据字典 (1)酒店客房管理系统业务流程图(如图1

6、) 图1 酒店客房管理系统业务流程图(2)酒店客房管理系统数据字典 数据项:系统涉及的数据项有16项,如表1所示表1 数据项列表数据项编号数据项名数据项含义存储结构 别名DI-01CuName房客姓名NVARCHAR(10) 姓名DI-02CuNo房客编号NCHAR(6) 房客号DI-03CuSex房客性别NCHAR(2) 性别DI-04RoomNo房间号NCHAR(6) 房间号DI-05CuPhone房客电话NVARCHAR(20) 电话DI-06CuCard房客身份证NVARCHAR(20) 身份证DI-07TypeNo房间类型号NCHAR(6) 类型号DI-08RoomFloor房间楼层

7、NVARCHAR(10) 位置DI-09RoomStatus 房间状态NVARCHAR(10) 状态DI-10TypeName房间类型名称NVARCHAR(10) 类型名DI-11TypeArea房间面积NVARCHAR(10) 面积DI-12TypePrice房间价钱INT 价钱DI-13Descripiption房间描述NVARCHAR(20) 描述DI-14Price房客消费INT 消费DI-15IntoTime入住时间DATETIME 入住时间DI-16OutTime退房时间DATETIME 退房时间 数据结构,如表2所示。更换 符合多高多高对法国德国多高多高多高多高多高 豆 表2 数

8、据结构列表 数据结构编号数据结构名数据结构含义 组成DS-1Customer房客信息CuNo,CuName,CuPhone,CuSex,CuCardDS-2Room房间信息RoomNo,TypeNo,RoomFloor,DescripiptionDS-3RoomType房间类型TypeNo,TypeName,TypeArea,TypePriceDS-4History业务记录信息CuNo,CuName,CuPhone,CuCard,Price,OutTime,RoomNoDS-5RoomStatus房间状态RoomNo,RoomStatusDS-6RoomOperation客房业务信息RoomN

9、o,CuNo,CuCard,IntoTime2 概念分析阶段 图2酒店客房管理系统全局E-R图 上述E-R图各实体的属性如下所示:房客基本信息:Customer(CuNo,CuCard,CuName,CuSex,CuPhone)房间基本信息:Room(RoomNo,TypeNo,RoomFloor,Description)房间类型信息:RoomType(TypeNo,TypeName,TypeArea,TypePrice)客房业务历史记录信息:History(CuNo,CuCard,CuName,CuPhone,RoomNo,Price,IntoTime,OutTime)客房业务信息:Room

10、Operation(CuNo,CuCard,RoomNo,IntoTime)房间状态信息:RoomStatus(RoomNo,Status)数据库关系图: 3 逻辑设计阶段以上的概念设计阶段是独立于任何一种数据模型的,但是逻辑设计阶段就与选用的数据库管理系统(DBMS)产品发生关系了,系统逻辑设计的任务就是将概念设计阶段设计好的基本E-R图转换为选用DBMS产品所支持的数据模型相符合的逻辑结构。具体内容包括数据组织(将E-R图转换成关系模型、模型优化、数据库模式定义、用户子模式设计)、数据处理(画出系统功能模块图)两大任务。3.1 数据组织 (1)将E-R图转换为关系模型实体型转换为关系模式。

11、实体的属性就是关系的属性,实体的码就是关系的码。对于实体间的联系则有以下不同的情况:一个m:n联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。 一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。三个或三个以上实体间的一个多元联系可以转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关

12、系的属性,而关系的码为各实体码的组合具有相同码的关系模式可合并。例如房间信息与房间类型信息之间是1:n的关联。可以将其之间的联系转化为独立的关系模式,具体的基本E-R图向关系模型的转化如下:房客基本信息:Customer(CuNo,CuCard,CuName,CuSex,CuPhone)房间基本信息:Room(RoomNo,TypeNo,RoomFloor,Description)房间类型信息:RoomType(TypeNo,TypeName,TypeArea,TypePrice)客房业务历史记录信息:History(CuNo,CuCard,CuName,CuPhone,RoomNo,Pric

13、e,IntoTime,OutTime)客房业务信息:RoomOperation(CuNo,CuCard,RoomNo,IntoTime)房间状态信息:(RoomNo,Status)(注:标有直线下划线的为主属性,标有波浪线下划线的是外键属性)(2)模型优化 第一范式要求每一列的项不可分割,酒店管理系统的六个表都满足了1NF;简单理解,第二范式要求每个表所描述的是一件事,例如在Room表中如果加上房间状态Status,则Room表就不满足2NF了,它包括了房间信息和房间是否有房客入住的信息两个事件,所以就有了RoomStatus表;第三范式要求,每一项都不传递依赖,如果Room表中再加上房间类型

14、名,则TypeName通过Room中的TypeNo传递依赖于RoomNo,所以有了RoomType表。现在六张表都达到了3NF。 (3)数据库模式定义 根据分析,本数据库共创建了6个表,如表3表8所示 表3 房客信息表列名数据类型可否为空 说明CuNoNCHARNOT NULL 房客编号CuNameNVARCHARNOT NULL 房客姓名CuSexNCHAR 房客性别CuPhoneNVARCHAR 电话CuCardNVARCHARNOT NULL 身份证 表4 房间信息表列名数据类型可否为空 说明RoomNoNCHARNOT NULL 房间号TypeNoNCHARNOT NULL 类型号Ro

15、omFloorNVARCHAR 位置DescriptionNVARCHAR 描述 表5 房间类型信息表列名数据类型可否为空 说明TypeNoNCHARNOT NULL 类型号TypeName NVARCHARNOT NULL 类型名TypeAreaNVARCHARNOT NULL 面积TypePriceINT 价钱 表6 客房业务表列名数据类型可否为空 说明CuNo NCHARNOT NULL 房客编号RoomNoNCHAR 房间号IntoTime DATETIME 入住时间CuCard NVARCHARNOT NULL 身份证 表7 业务记录表列名数据类型可否为空 说明CuNo NCHAR

16、房客编号CuCardNVARCHAR 身份证CuPhoneNVARCHAR 电话CuNameNVARCHAR 姓名RoomNoNCHARNOT NULL 房间号Price INT 消费金额IntoTime DATETIME 入住时间OutTime DATETIME 退房时间 表8 房间状态表列名数据类型可否为空 说明RoomNo NCHARNOT NULL 房间号StatusNVARCHAR 状态(4) 用户子模式定义,如表912。 表9 房间基本信息视图列名数据类型可否为空 说明RoomNo NCHARNOT NULL 房间号TypeNameNCHARNOT NULL 类型号RoomFloo

17、rNVARCHAR 位置TypePriceINT 价钱 表10 退房房客基本信息视图列名数据类型可否为空 说明CuNameNVARCHAR 姓名CuSexNCHAR 房客性别CuCard NVARCHARNOT NULL 身份证CuPhoneNVARCHAR 电话OutTime DATETIME 退房时间 表11 空房间基本信息视图列名数据类型可否为空 说明RoomNo NCHARNOT NULL 房间号TypeNameNCHARNOT NULL 类型号RoomFloorNVARCHAR 位置TypePriceINT 价钱 表12 房客基本信息视图列名数据类型可否为空 说明CuNameNVAR

18、CHAR 姓名CuSexNCHAR 房客性别CuCard NVARCHARNOT NULL 身份证CuPhoneNVARCHAR 电话3.2数据处理 酒店客房管理系统 房客管理 房间管理 类型管理增加房间删除房间查询住房换房退房修改信息 图3 系统功能模块图4 物理设计阶段数据库的物理设计就是为逻辑数据模型选取一个最合适应用要求的物理结构的过程,在这个阶段中要完成两大任务:(1)确定数据库的物理结构,在关系数据库中主要是存取方法和存储结构;(2)对物理结构进行评价,评价的重点是时间和空间效率。 4.1数据存储方面 为数据库中各基本表建立的索引如下: 由于基本表History、Customer的

19、CuName、CuCard在现实生活中经常在查询条件中出现,在两个属性上建立索引。 4.2系统功能模块 实现对房间信息,房客信息的查询、添加、删除操作,功能模块见图3。5 数据实施阶段5.1 建立数据库、数据表、视图、索引 (1)建立数据库Create database 酒店客房管理系统(2)建立数据表 房客基本信息表的建立:CREATE TABLE Customer(CuNo NCHAR(6) PRIMARY KEY,-房客编号CuCard NVARCHAR(20) UNIQUE NOT NULL,-身份证CuName NVARCHAR(10) NOT NULL,-房客姓名CuSex NCH

20、AR(2),-房客性别CuPhone NVARCHAR(20),-电话房间基本信息表的建立:CREATE TABLE Room(RoomNo NCHAR(6) PRIMARY KEY,-房间号TypeNo NCHAR(6) NOT NULL,-房间类型号RoomFloor NVARCHAR(10) ,-房间位置Description NVARCHAR(20)-房间描述)房间类型基本信息表的建立:CREATE TABLE RoomType(TypeNo NCHAR(6) PRIMARY KEY,-房间类型号TypeName NVARCHAR(10) NOT NULL,-类型名称TypeArea

21、NVARCHAR(10),-房间面积TypePrice INT NOT NULL-房间价钱)业务记录基本信息表的建立:CREATE TABLE History(CuNo NCHAR(6),-房客编号CuCard NVARCHAR(20)UNIQUE NOT NULL, -身份证CuName NVARCHAR(10), -姓名CuPhone NVARCHAR(20),-电话RoomNo NCHAR(6),-房间号Price int,-消费金额IntoTime DATETIME,-入住时间OutTime DATETIME,-退房时间PRIMARY KEY (IntoTime,RoomNo)客房业务

22、基本信息表的建立CREATE TABLE RoomOperation(CuNo NCHAR(6) PRIMARY KEY,-房客编号RoomNo NCHAR(6),-房间号IntoTime DATETIME,-入住时间CuCard NVARCHAR(20)UNIQUE NOT NULL -身份证)房间状态基本信息表的建立CREATE TABLE RoomStatus(RoomNo NCHAR(6) PRIMARY KEY,-房间号Status NVARCHAR(6)-状态)(3) 建立视图用于查询房间基本信息的视图create view Roomview(房间号,房间类型,位置,价钱) as

23、select RoomNo,TypeName,RoomFloor,TypePricefrom Room ,RoomType where Room .TypeNo =RoomType .TypeNo 用于查询退房房客基本信息的视图create view Customerview(姓名,性别,身份证,电话,退房时间) asselect Customer.CuName ,CuSex ,Customer.CuCard ,Customer.CuPhone ,History.OutTime from History ,Customer where Customer.CuNo =History.CuNo 用

24、于查询未住人的客房信息create view Roomnopeople(房间号,类型,位置,价钱) asselect Room.RoomNo,TypeName,RoomFloor,TypePricefrom Room ,RoomStatus ,RoomType where Status=未住and Room .RoomNo =RoomStatus .RoomNo and Room .TypeNo =RoomType .TypeNo 用于查询房客基本信息的视图create view ShowCustomerview(姓名,性别,身份证,电话) asselect CuName,CuSex,CuCa

25、rd,CuPhonefrom Customer (4) 建立索引建立业务记录信息上的房客姓名索引create index i_History on History(CuName) 建立房客信息上的身份证索引create index i_Customer on Customer(CuCard) (5) 建立存储过程添加新的房间存储过程的建立:create proc p_InsertRoom RoomNo nchar(6),TypeNo nchar(6),RoomFloor nvarchar(10),Description nvarchar(20),Status nvarchar(6)=未住asi

26、nsert into Room values(RoomNo,TypeNo,RoomFloor,Description)insert into RoomStatus values(RoomNo,Status)根据房间类型获取未住房间信息的存储过程的建立:create proc p_ShowRoom TypeNo nchar(6), Status nvarchar(6)=未住asselect Room.RoomNo ,Room.RoomFloor,Room.Description,RoomType.TypeArea ,RoomType.TypeName,RoomType.TypePricefrom

27、 Room,RoomType,RoomStatus where Room.TypeNo =TypeNo and Status=Status and Room.TypeNo=RoomType.TypeNo and Room.RoomNo =RoomStatus.RoomNo -根据房间号查询房间信息的存储过程的建立create proc p_GetRoom RoomNo nchar(6)asselect Room.RoomNo ,RoomFloor,Description,TypeName,TypeArea,TypePricefrom Room ,RoomType where Room.Type

28、No =RoomType .TypeNo and Room.RoomNo =RoomNo新的房客入住时的存储过程的建立create proc p_AddCustomer CuNo nchar(6),RoomNO nchar(6),CuName nvarchar(10),CuSex nchar(2),CuCard nvarchar(20),CoPhone nvarchar(20),IntoTime datetimeasupdate RoomStatus set Status =有人where RoomNo=RoomNoif (select COUNT (*) from Customer wher

29、e CuNo =CuNo)=0begin insert into Customer values(CuNo,CuCard,CuName,CuSex ,CoPhone )end elsebeginupdate Customer set CuCard=CuCard,CuName=CuName,CuSex=CuSex,CuPhone =CoPhonewhere CuNo =CuNoendinsert into RoomOperation values(CuNo,RoomNO,IntoTime,CuCard)根据姓名信息查询房客具体信息的存储过程的建立create proc p_Customer-Cu

30、Name nvarchar(10)=%asselect * from Customer where CuName like CuName+%根据房间号查询房间入住信息的存储过程的建立 create proc p_GetCustomer RoomNo nchar(6)asselect Customer.CuName ,Customer .CuCard ,Customer .CuPhone ,Customer .CuSex ,RoomOperation .IntoTime from Customer ,RoomOperation where RoomOperation.CuNo =Customer

31、.CuNo and RoomOperation .RoomNo =RoomNo退房存储过程的建立create proc p_OutRoom CuNo nchar(6),RoomNO nchar(6),CuName nvarchar(10),CuSex nchar(2),CuCard nvarchar(20),CoPhone nvarchar(20),IntoTime datetime,OutTime datetime,Price int asupdate RoomStatus set Status =未住where RoomNo =RoomNO declare TypePrice intsel

32、ect TypePrice=RoomType.TypePrice from Room ,RoomType where Room.TypeNo =RoomType .TypeNo and Room .RoomNo =RoomNO set Price =TypePrice *DATEDIFF (DAY ,IntoTime ,OutTime )if(Price =0)beginset Price =TypePrice endinsert into History values(CuNo,CuCard ,CuName ,CoPhone,RoomNO ,Price ,IntoTime,OutTime)d

33、elete from RoomOperation where RoomNo =RoomNO (6) 建立触发器当修改RoomType表中某一信息时,触发RoomType表修改这一信息create trigger T_updateRoomType on RoomTypefor updateasif(UPDATE (TypeNo)or update(TypeArea)begin prints事务不能被处理,修改失败rollback transactionendelseprint修改成功当删除History中房客信息记录时,触发Customer表,删除相应的记录create trigger T_de

34、leteCustomer on Historyafter deleteasbegin delete from Customer where Customer.CuNo in( select CuNo from deleted)end当修改房RoomOperation表中房客房间信息时,触发RoomStatus表修改相应房间状态记录create trigger T_UpdateCustomer on RoomOperationfor updateas if UPDATE(RoomNo) begin update RoomStatus set Status =未住 where RoomNo =(s

35、elect RoomNo from deleted )update RoomStatus set Status =有人 where RoomNo =(select RoomNo from inserted )end5.2数据入库系统包括房客基本信息、房间基本信息、房间类型基本信息、业务记录信息、客房业务信息、房间状态信息,共有6张基本表,采用事先在Excel中录入数据,然后使用SQL Server 2008数据导入/导出向导功能,直接将数据导入到相应的基本表中。6 系统调试和测试 对该酒店客房管理系统进行测试,验证每个功能是否符合要求,具体测试如下: 通过视图查看各个基本表和视图中的数据(见附

36、录1); 检测各个存储过程的功能(见附录2); 检测各个触发器的效果(见附录3)。 心得体会通过两周的数据库课程设计,使我对数据库原理及应用这门课程有了更深入的理解。数据库原理及应用是一门实践性较强的课程,为了学好这门课程,必须在掌握理论知识的同时,加强上机实践。我的课程设计题目是酒店客房管理系统,此次课程设计加深了我对数据库设计有关知识的理解。之前对于数据库设计各阶段的理解不透彻,很多概念都很模糊。通过本次课程设计,我进一步了解了书本上的知识,并且亲身体验了数据库设计的各个环节。了解了数据库设计的流程。感触最深的是需求分析阶段和概念模型设计阶段。需求分析阶段是整个数据库设计的基础,这个阶段直

37、接影响到后面各个阶段的设计。由于对业务不是十分精通,在这个阶段返工了好几次,如果这个阶段做的不好,后面就无法继续进行下去。概念模型设计阶段,最重要的是从数据流图中抽象出实体,并且要考虑冲突的发生。 另外,我明白了理论与实际应用相结合的重要性,并提高了自己组织数据及编写大型程序的能力。培养了基本的、良好的程序设计技能以及合作能力。这次课程设计同样提高了我的综合运用所学知识的能力。与此同时,更深入的了解并掌握了SQL SERVER 2008的功能。由于在有关存储过程和触发器的知识掌握的不是太好,平常实验报告的时候也只是按实习指导书上的代码进行编写,并不了解触发器的真正原理,但是在此次课程设计中,大

38、量的用到触发器和存储过程,了解了它们的功能和原理。更加了解了SQL语句,在酒店客房管理系统的实施阶段,因为有大量的功能要通过触发器、存储过程来实现,所以锻炼了自己的编程能力。 通过这段时间的课程设计,我认识到数据库程序设计是一门比较难的课程。需要多花时间上机练习。这次的程序训练培养了我实际分析问题、编程和动手能力,使我掌握了程序设计的基本技能,提高了我适应实际,实践编程的能力。这次课程设计采取两人一组的方式,锻炼了我们相互的合作精神,让我们亲身体验到合作的重要性。在做系统时,每个人的不同的想法组合起来,可以减少系统的漏洞。同时,学习同伴在编程序中的好的习惯。总的来说,这次课程设计让我获益匪浅,对数据库程序设计也有了进一步的理解和认识。 附录附录1 基本表的数据查看(基于视图查询)(1)查看房间基本信息的数据(附图1)。 附图1(2) 查看退房房客基本信息的数据(附图2)。 附图2(3) 查看

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁