数据库酒店客房管理系统_第1页
数据库酒店客房管理系统_第2页
数据库酒店客房管理系统_第3页
数据库酒店客房管理系统_第4页
数据库酒店客房管理系统_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2020年4月19日数据库酒店客房管理系统文档仅供参考,不当之处,请联系改正。 河南城建学院数据库原理及应用课程设计专 业 班 级 : 0834131 课程设计题目: 酒店客房管理系统 指 导 教 师 : 吴孝丽 苏靖枫 学 生 学 号 : 学 生 姓 名 : 本小组合作者: 计算机科学与工程学院 6月目 录TOC o 1-2 h u HYPERLINK l _Toc6923 1 需求分析阶段 PAGEREF _Toc6923 1 HYPERLINK l _Toc16214 1.1 概述 PAGEREF _Toc16214 1 HYPERLINK l _Toc5889 1.2 需求阶段的目标及

2、任务 PAGEREF _Toc5889 1 HYPERLINK l _Toc3855 1.3 安全性和完整性要求 PAGEREF _Toc3855 2 HYPERLINK l _Toc939 1.4 建立数据业务流程及数据字典 PAGEREF _Toc939 2 HYPERLINK l _Toc16817 2 概念分析阶段 PAGEREF _Toc16817 4 HYPERLINK l _Toc23933 3 逻辑设计阶段 PAGEREF _Toc23933 5 HYPERLINK l _Toc19505 3.1 数据组织 PAGEREF _Toc19505 6 HYPERLINK l _To

3、c11965 3.2数据处理 PAGEREF _Toc11965 9 HYPERLINK l _Toc23637 4 物理设计阶段 PAGEREF _Toc23637 9 HYPERLINK l _Toc28743 4.1数据存储方面 PAGEREF _Toc28743 9 HYPERLINK l _Toc18672 4.2系统功能模块 PAGEREF _Toc18672 9 HYPERLINK l _Toc360 5 数据实施阶段 PAGEREF _Toc360 10 HYPERLINK l _Toc20695 5.1 建立数据库、数据表、视图、索引 PAGEREF _Toc20695 10

4、 HYPERLINK l _Toc30576 5.2数据入库 PAGEREF _Toc30576 17 HYPERLINK l _Toc1704 6 系统调试和测试 PAGEREF _Toc1704 17 HYPERLINK l _Toc19177 心得体会 PAGEREF _Toc19177 19 HYPERLINK l _Toc30617 附录 PAGEREF _Toc30617 20 HYPERLINK l _Toc22435 参考文献 PAGEREF _Toc22435 251 需求分析阶段1.1 概述 进行数据库系统设计,首先要对系统的现状进行分析,明确自己酒店客房管理系统课程设计所

5、要实现的目标、需求和功能,制定和选择一个较好的系统方案,有计划,有头绪,有思路,不能盲目的就着手去做,从而达到一个合理的优化系统。需求分析在于弄清这次课程设计的酒店管理系统的确切要求,因此,数据库课程设计的第一步就是明确数据库的目的和如何使用该系统。明确目的之后,才能够确定自己需要保存那些表信息,以及每个表中需要保存哪些字段。对于酒店客房管理系统,需要了解以下内容: 1.了解酒店客房管理的基本内容;2.综合的理解酒店客房管理各身份层次的不同需求;3.了解酒店客房管理的基本业务流程;4.了解酒店客房人工管理模式与信息系统的工作概况,以及它们之间的区别;5.经过网上查阅资料以及翻阅相关书籍,了解用

6、户对酒店客房管理系统的业务要求,安全性和完整性要求;1.2 需求阶段的目标及任务(1)处理对象房客基本信息(Customer):房客编号,房客身份证号,房客姓名,房客性别,房客电话;房间基本信息(Room):房间编号,房间类型号,房间位置(楼层),房间描述(朝向);房间类型信息(RoomType):房间类型号,房间类型名,房间面积,房间价格;客房业务历史记录信息(History):房客编号,房客身份证号,房客姓名,房客电话,房间编号,消费金额,入住时间,退房时间;客房业务信息(RoomOperation):房客编号,房客身份证号,房间编号,入住时间;房间状态信息(RoomStatus):房间编

7、号,房间状态(有人 / 未住)。处理功能及要求 系统对酒店客房管理系统的功能及要求如下: 能够存储一定数量的房客信息,并方便有效的进行相应的房客数据操作和管理,这主要包括:房客信息的录入,删除和修改; 房客信息的关键字检索查询。 能够对房客的入住信息,换房信息,退房信息,进行相应的操作,这主要包括: 房客入住,换房,退房的登记,删除及修改; 房客住房历史信息的删除、修改; 房客住房金额的统计与查询。 能够提供一定的安全机制,提供数据信息授权访问,修改和删除,防止随意查询,修改及删除。 对查询、统计的结果能够列表显示。1.3 安全性和完整性要求(1)安全性要求 系统安全性要求体现在数据库安全性、

8、信息安全性和系统分平台的安全性等方面。安全性之基础的是经过视图机制,不同用户只能访问系统授权的视图,这样能够提供系统数据一定程度上的安全性。系统平台的安全性体现在操作系统的安全性、计算机系统的安全性和网络体系的安全性等方面。完整性要求 系统完整性要求系统中数据的正确性以及相容性。可经过 建立主、外键,使用unique约束,或者使用触发器更新。1.4 建立数据业务流程及数据字典 (1)酒店客房管理系统业务流程图(如图1) 图1 酒店客房管理系统业务流程图(2)酒店客房管理系统数据字典 数据项:系统涉及的数据项有16项,如表1所示表1 数据项列表数据项编号数据项名数据项含义存储结构 别名DI-01

9、CuName房客姓名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房间楼层NVARCHAR(10) 位置DI-09RoomStatus 房间状态NVARCHAR(10) 状态DI-10TypeName房间类型名称NVARCHAR(10) 类型名DI-11

10、TypeArea房间面积NVARCHAR(10) 面积DI-12TypePrice房间价钱INT 价钱DI-13Descripiption房间描述NVARCHAR(20) 描述DI-14Price房客消费INT 消费DI-15IntoTime入住时间DATETIME 入住时间DI-16OutTime退房时间DATETIME 退房时间 EQ oac(,21)数据结构,如表2所示。更换 符合多高多高对法国德国多高多高多高多高多高 豆 表2 数据结构列表 数据结构编号数据结构名数据结构含义 组成DS-1Customer房客信息CuNo,CuName,CuPhone,CuSex,CuCardDS-2R

11、oom房间信息RoomNo,TypeNo,RoomFloor,DescripiptionDS-3RoomType房间类型TypeNo,TypeName,TypeArea,TypePriceDS-4History业务记录信息CuNo,CuName,CuPhone,CuCard,Price,OutTime,RoomNoDS-5RoomStatus房间状态RoomNo,RoomStatusDS-6RoomOperation客房业务信息RoomNo,CuNo,CuCard,IntoTime2 概念分析阶段 图2酒店客房管理系统全局E-R图 上述E-R图各实体的属性如下所示:房客基本信息:Custome

12、r(CuNo,CuCard,CuName,CuSex,CuPhone)房间基本信息:Room(RoomNo,TypeNo,RoomFloor,Description)房间类型信息:RoomType(TypeNo,TypeName,TypeArea,TypePrice)客房业务历史记录信息:History(CuNo,CuCard,CuName,CuPhone,RoomNo,Price,IntoTime,OutTime)客房业务信息:RoomOperation(CuNo,CuCard,RoomNo,IntoTime)房间状态信息:RoomStatus(RoomNo,Status)数据库关系图: 3

13、 逻辑设计阶段以上的概念设计阶段是独立于任何一种数据模型的,可是逻辑设计阶段就与选用的数据库管理系统(DBMS)产品发生关系了,系统逻辑设计的任务就是将概念设计阶段设计好的基本E-R图转换为选用DBMS产品所支持的数据模型相符合的逻辑结构。具体内容包括数据组织(将E-R图转换成关系模型、模型优化、数据库模式定义、用户子模式设计)、数据处理(画出系统功能模块图)两大任务。3.1 数据组织 (1)将E-R图转换为关系模型实体型转换为关系模式。实体的属性就是关系的属性,实体的码就是关系的码。对于实体间的联系则有以下不同的情况:一个m:n联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属

14、性均转换为关系的属性,而关系的码为各实体码的组合。一个1:n联系能够转换为一个独立的关系模式,也能够与n端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。 一个1:1联系能够转换为一个独立的关系模式,也能够与任意一端对应的关系模式合并。三个或三个以上实体间的一个多元联系能够转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合具有相同码的关系模式可合并。例如房间信息与房间类型信息之间是1:n的关联。能够将其之间的联系转化为独立的关系模式,具体的基

15、本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)客房业务信息:RoomOperation(CuNo,CuCard,RoomNo,IntoTime)房间状态信息:(Roo

16、mNo,Status)(注:标有直线下划线的为主属性,标有波浪线下划线的是外键属性)(2)模型优化 第一范式要求每一列的项不可分割,酒店管理系统的六个表都满足了1NF;简单理解,第二范式要求每个表所描述的是一件事,例如在Room表中如果加上房间状态Status,则Room表就不满足2NF了,它包括了房间信息和房间是否有房客入住的信息两个事件,因此就有了RoomStatus表;第三范式要求,每一项都不传递依赖,如果Room表中再加上房间类型名,则TypeName经过Room中的TypeNo传递依赖于RoomNo,因此有了RoomType表。现在六张表都达到了3NF。 (3)数据库模式定义 根据分

17、析,本数据库共创立了6个表,如表3表8所示 表3 房客信息表列名数据类型可否为空 说明CuNoNCHARNOT NULL 房客编号CuNameNVARCHARNOT NULL 房客姓名CuSexNCHAR 房客性别CuPhoneNVARCHAR 电话CuCardNVARCHARNOT NULL 身份证 表4 房间信息表列名数据类型可否为空 说明RoomNoNCHARNOT NULL 房间号TypeNoNCHARNOT NULL 类型号RoomFloorNVARCHAR 位置DescriptionNVARCHAR 描述 表5 房间类型信息表列名数据类型可否为空 说明TypeNoNCHARNOT

18、NULL 类型号TypeName NVARCHARNOT NULL 类型名TypeAreaNVARCHARNOT NULL 面积TypePriceINT 价钱 表6 客房业务表列名数据类型可否为空 说明CuNo NCHARNOT NULL 房客编号RoomNoNCHAR 房间号IntoTime DATETIME 入住时间CuCard NVARCHARNOT NULL 身份证 表7 业务记录表列名数据类型可否为空 说明CuNo NCHAR 房客编号CuCardNVARCHAR 身份证CuPhoneNVARCHAR 电话CuNameNVARCHAR 姓名RoomNoNCHARNOT NULL 房间

19、号Price INT 消费金额IntoTime DATETIME 入住时间OutTime DATETIME 退房时间 表8 房间状态表列名数据类型可否为空 说明RoomNo NCHARNOT NULL 房间号StatusNVARCHAR 状态用户子模式定义,如表912。 表9 房间基本信息视图列名数据类型可否为空 说明RoomNo NCHARNOT NULL 房间号TypeNameNCHARNOT NULL 类型号RoomFloorNVARCHAR 位置TypePriceINT 价钱 表10 退房房客基本信息视图列名数据类型可否为空 说明CuNameNVARCHAR 姓名CuSexNCHAR

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

21、 房客管理 房间管理 类型管理增加房间删除房间查询住房换房退房修改信息 图3 系统功能模块图4 物理设计阶段数据库的物理设计就是为逻辑数据模型选取一个最合适应用要求的物理结构的过程,在这个阶段中要完成两大任务:(1)确定数据库的物理结构,在关系数据库中主要是存取方法和存储结构;(2)对物理结构进行评价,评价的重点是时间和空间效率。 4.1数据存储方面 为数据库中各基本表建立的索引如下: EQ oac(,1)由于基本表History、Customer的CuName、CuCard在现实生活中经常在查询条件中出现,在两个属性上建立索引。 4.2系统功能模块 实现对房间信息,房客信息的查询、添加、删除

22、操作,功能模块见图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 NCHAR(2),-房客性别CuPhone NVARCHAR(20),-电话房间基本信息表的建立:CREATE TABLE Room(RoomNo NCH

23、AR(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 NVARCHAR(10),-房间面积TypePrice INT NOT NULL-房间价钱)业务记录基本信息表的建立:CREATE TABLE Hi

24、story(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) eq oac(,5)客房业务基本信息表的建立CREATE TABLE RoomOperation(CuNo NCHAR(6) PRIMARY KEY,-房

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

26、m Room ,RoomType where Room .TypeNo =RoomType .TypeNo eq oac(,2)用于查询退房房客基本信息的视图create view Customerview(姓名,性别,身份证,电话,退房时间) asselect Customer.CuName ,CuSex ,Customer.CuCard ,Customer.CuPhone ,History.OutTime from History ,Customer where Customer.CuNo =History.CuNo eq oac(,3)用于查询未住人的客房信息create view Ro

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

28、Customer 建立索引 eq oac(,1)建立业务记录信息上的房客姓名索引create index i_History on History(CuName) eq oac(,2)建立房客信息上的身份证索引create index i_Customer on Customer(CuCard) 建立存储过程 eq oac(,1)添加新的房间存储过程的建立:create proc p_InsertRoom RoomNo nchar(6),TypeNo nchar(6),RoomFloor nvarchar(10),Description nvarchar(20),Status nvarchar

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

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

31、Room ,RoomType where Room.TypeNo =RoomType .TypeNo and Room.RoomNo =RoomNo eq oac(,4)新的房客入住时的存储过程的建立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=Room

32、Noif (select COUNT (*) from Customer where 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) eq oa

33、c(,5)根据姓名信息查询房客具体信息的存储过程的建立create proc p_Customer-CuName nvarchar(10)=%asselect * from Customer where CuName like CuName+% eq oac(,6)根据房间号查询房间入住信息的存储过程的建立 create proc p_GetCustomer RoomNo nchar(6)asselect Customer.CuName ,Customer .CuCard ,Customer .CuPhone ,Customer .CuSex ,RoomOperation .IntoTime

34、from Customer ,RoomOperation where RoomOperation.CuNo =Customer.CuNo and RoomOperation .RoomNo =RoomNo eq oac(,7)退房存储过程的建立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 asupd

35、ate RoomStatus set Status =未住where RoomNo =RoomNO declare TypePrice intselect 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 His

36、tory values(CuNo,CuCard ,CuName ,CoPhone,RoomNO ,Price ,IntoTime,OutTime)delete from RoomOperation where RoomNo =RoomNO 建立触发器 eq oac(,1)当修改RoomType表中某一信息时,触发RoomType表修改这一信息create trigger T_updateRoomType on RoomTypefor updateasif(UPDATE (TypeNo)or update(TypeArea)begin prints事务不能被处理,修改失败rollback tra

37、nsactionendelseprint修改成功 eq oac(,2)当删除History中房客信息记录时,触发Customer表,删除相应的记录create trigger T_deleteCustomer on Historyafter deleteasbegin delete from Customer where Customer.CuNo in( select CuNo from deleted)end eq oac(,3)当修改房RoomOperation表中房客房间信息时,触发RoomStatus表修改相应房间状态记录create trigger T_UpdateCustomer

38、 on RoomOperationfor updateas if UPDATE(RoomNo) begin update RoomStatus set Status =未住 where RoomNo =(select RoomNo from deleted )update RoomStatus set Status =有人 where RoomNo =(select RoomNo from inserted )end5.2数据入库系统包括房客基本信息、房间基本信息、房间类型基本信息、业务记录信息、客房业务信息、房间状态信息,共有6张基本表,采用事先在Excel中录入数据,然后使用SQL Ser

39、ver 数据导入/导出向导功能,直接将数据导入到相应的基本表中。6 系统调试和测试 对该酒店客房管理系统进行测试,验证每个功能是否符合要求,具体测试如下: EQ oac(,1)经过视图查看各个基本表和视图中的数据(见附录1); EQ oac(,2)检测各个存储过程的功能(见附录2); EQ oac(,3)检测各个触发器的效果(见附录3)。 心得体会经过两周的数据库课程设计,使我对数据库原理及应用这门课程有了更深入的理解。数据库原理及应用是一门实践性较强的课程,为了学好这门课程,必须在掌握理论知识的同时,加强上机实践。我的课程设计题目是酒店客房管理系统,此次课程设计加深了我对数据库设计有关知识的理解。之前对于数据库设计各阶段的理解不透彻,很多概念都很模糊。经过本次课程设计,我进一步了解了书本上的知识,而且亲身体验了数据库设计的各个环节。了解了数据库设计的流程。感触最深的是需求分析阶段和概念模型设计阶段。需求分析阶段是整个数据库设计的基础,这个阶段直接影响到后面各个阶段的设计。由于对业务不是十分精通,在这个阶段返工了好几次,如果这个阶段做的不好,后面就无法继续进行下去。概念模型设计阶段,最重要的是从数据流图中抽象出实体,而且要考虑冲突的发生。 另外,我明白了理论与实际应用相结合的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论