《某宾馆客房管理系统——数据库课程设计(共20页).doc》由会员分享,可在线阅读,更多相关《某宾馆客房管理系统——数据库课程设计(共20页).doc(20页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上数据库原理课程设计报告设计题目 某宾馆客房管理系统 专业班级 学 号 学生姓名 起止日期 年 月 日至 月 1 日专心-专注-专业摘要宾馆客房管理系统是对宾馆管理的现代化、网络化管理手段,逐步摆脱宾馆管理的人工管理方式,拓展经营空间,降低运营成本,提高管理和决策效率而开发的。宾馆客房管理系统是宾馆经营管理中不可缺少的部分它的内容对于经营的决策者和管理者来说都至关重要,所以客房管理系统、信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案。这种管理方式存在着许多弊端如:效率低、保密性差容易出现差错等。且对于查询空房间及已
2、定房间等极为不方便。在当今时代,这些完全可以改用计算机来代替人的手工操作。作为计算机及网络应用的一部分使用计算机对客房信息进行管理,具有手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高客房经营管理的效率。也是企业的科学化、正规化管理与世界接轨的重要条件。且办事效率也是决定收入的一个关键因素。宾馆客房管理系统主要包括前台管理系统和后台管理系统两大部分,基本包含了宾馆主要业务部门,初步实现了对顾客服务和进行财务核算所需要的各个功能。它包括客户信息管理、客房信息管理、入住和退房管理、客房类型管理、费用管理、价目信息管理等6大功
3、能模块,并提供了对各功能模块的查询和更新功能。其中客户信息管理、入住和退房管理是系统开发的重点。本系统由问题描述、系统需求分析、概念设计、逻辑设计、物理结构设计、触发器设计、存储过程设计、视图设计、数据库实施和维护组成。目录1. 问题描述1.1要求某宾馆客房管理系统 实现客房类型、价目信息、客房信息的管理; 实现客户信息的管理; 实现入住和退房管理; 实现费用管理; 创建触发器,实现入住和退房时自动修改客房的状态; 创建存储过程统计某段时间内各种类型的客房的入住时间合计和费用合 计; 创建视图查询某一时刻没有入住的房间信息; 建立数据库相关表之间的参照完整性约束。1.2背景随着宾馆业竞争的加剧
4、,宾馆之间客源的争夺越来越激烈,宾馆需要使用更有效的信息化手段,拓展经营空间,降低运营成本,提高管理和决策效率。宾馆管理系统主要包括前台管理系统和后台管理系统两大部分,基本包含了宾馆主要业务部门,初步实现了对顾客服务和进行财务核算所需要的各个功能。现代宾馆业迅速发展,新的管理观念与模式层出不穷。宾馆客房管理系统亦随着宾馆管理理念的发展而发展。宾馆客房管理系统依旧采用了先进的数据库理论,多媒体技术,软件工程理念等,从基层,中层,高层三个管理者层次为切入点,以成本分析,预测,控制为一线,形成一套上下贯通,操作便捷的酒店系统解决方案,科学地将宾馆各种日常业务完美的结合在一起,为管理及决策提供了强有力
5、的支持。其对客人个性化服务及全面彻底的信息化,使企业电算化水平提升到一个新的更高层次,提供大量丰富的基于企业管理经营过程中实际的数据。1.3编写目的众所周知,现在的宾馆行业竞争异常激烈。怎样吸引顾客,提高宾馆满员率以及管理水平是十分重要的任务,而借助于当前蓬勃发展的IT工具来进行宾馆的管理既方便又快捷,大大提高了办事效率。而且在数据保存和数据交换等方面也是手工操作所无法比拟的。虽然信息化不是宾馆走向成功的关键因素。但是它可以帮助那些真正影响成败的要素发挥更大的作用。1.4功能要求(1)客人基本信息的录入;(2)客人基本信息的查询、修改、增加、删除等;(3)客房相关信息的录入,包括房间号、收费标
6、准、床位、类别等;(4)客房类别标准的制定、类别信息的输入;(5)客房基本信息的查询、修改、删除等;(6)住房信息的录入,包括房间号、客人姓名等;(7)退房信息的更新;2.可行性分析 现在的宾馆管理进入信息时代,未来宾馆业的竞争必将进入一个新的阶段。伴随着我国旅游业的高速发展,宾馆行业的服务档次迫切需要提高。在宾馆行业竞争日趋激烈的今天,要成为佼佼者,就必须与高新技术紧密结合。硬件设施落后、管理水平滞后、服务质量低下的宾馆将被逐步淘汰。传统的纯手工或简单的计算工具,已经不适应现代经济高速发展的要求,必须运用现代化管理手段,配备完善的自动化设备,提高宾馆的服务水平与质量,从而赢得高信誉、强实力、
7、好效益。本系统目地是为了提高宾馆的管理效率,提高宾馆服务水平与质量。3.需求分析3.1需求分析1). 处理对象系统要处理的对象包括客户信息管理、客房信息管理、入住和退房管理、客房类型管理、费用管理、价目信息管理等6个方面,各个对象包含的信息如下所示:(1)客户信息管理:可以新建客户,输入客户的身份证号码、姓名、性别和地址等信息,可以对于客户的信息进行相应的修改,还可以对客户的消费信息进行统计。(2)客房信息管理:可以在相应的房间类型下面进行添加相应的房间,对相应的房间进行删除,查看空房以及客房的情况。(3)入住和退房管理:客户可以入住相应的房型下的空房,然后可以退房,系统自动将相应的订单状态置
8、为失效,入住状态置为已退房,将相应房间的状态置为空房。(4)客房类型管理:管理员可以对相应的房型进行各种属性的修改,可以按照需求添加相应的房型,管理员、工作人员都可以查看相应的房型信息,管理员有需要时可以删除相应的房型,系统自动将该房型下的房间删除。(5)费用管理:管理员、工作人员都可以查看相应的费用信息,管理员有需要时可以对宾馆的收入与支出进行查询或修改。(6)价目信息管理:可以查看客房的收费标准,管理员可以对客房价格进行查询与修改,工作人员可以查看价目信息。2). 系统功能分析某宾馆需要建立一个住房管理系统,需求分析结果如下:(1)宾馆要求该系统能实现住房信息管理、客户信息管理等功能;(2
9、)每个房间有房间号、收费标准、床位数目等信息;(3)每位客人有身份证号码、姓名、性别和地址等信息;(4)对每位客人的每次住宿,应该记录其入住日期、退房日期和预付款额信息;(5)管理系统可查询出客人住宿相关信息、房间信息。3).安全性和完整性要求安全性先通过试图机制,不同的用户只能访问系统授权的视图,这样可以满足系统数据一定程度上的安全性,在通过用户授权机制,用户登录来识别用户级别,根据这个级别来分配用户权限,达到数据更高层次的安全保密功能。系统完整性要求系统中数据的正确性以及相容性。可以通过建立主、外键,使用check约束,或者通过使用触发器和级联更新。4系统概要设计系统功能模块图,如图3.2
10、所示。宾馆客房信息系统客户信息管理客房信息管理入住和退房管理客房类型管理费用管理价目信息管理客户信息修改客户信息删除客房信息修改客房信息删除客房信息查询客房信息添加客户信息查询客户信息添加入住登记退房登记增加类型查询类型删除类型修改类型增加费用信息查询费用信息删除费用信息修改费用信息查询价目信息修改价目信息图3.2 系统的功能模块图4.1数据流图1业务流程图,如图3.3.1所示。客户退房请求续住请求入住请求管理员查询有无空房?确认客房号确认客房号 无结算续房登记退房登记退房登记 有客房已满入住登记损坏物品? 是 否查询入住时间间物品赔偿单客户图3.3.1 客房管理业务流程图2.数据流图(1)顶
11、层数据流程图,如图3.3.2所示。客人入住、续房、 退房 更新信息客人业务 查询信息宾馆管理员宾馆客房管理系统客户图3.3.2 顶层数据流程图(2)第0层数据流图,如图3.3.3示。 空房信息 客房信息文件 客户信息 房号信息 住宿信息文件 补交费用 房号信息 结账信息 客户信息文件 客房物品信息文件客户宾馆管理员1.请求入住2.请求续住3.请求退房更新信息 图2.3.3图3.3.3 第0数据流图(3)第一层数据流图. 1.开房数据流图,如图3.3.4所示。 缴费单 客户信息 房间 空房信息 信息 客房信息文件 客户信息文件 住宿信息文件1.2客户登记1.1查询客房条件客户图3.3.4 开房数
12、据流图2.续房数据流图,如图3.3.5所示。 补交费用 房号信息 续住信息 住宿信息文件2.2修改住宿信息2.1查询住宿信息客户图3.3.5 客户续房数据流图3.客人退房数据流程图,如图3.3.6所示。 房号信息 物品损坏 物品完好 结算信息 客户信息文件 客房信息文件 住宿信息文件3.1检查客户房间物品3.2物品赔偿客户3.3查询住房时间3.5注销注册3.4结算图3.3.6 客户退房数据流程图4.2数据字典1.数据口词条:更新信息:客户信息|客房信息 客户信息:客户编号+客户姓名+客户性别+客户姓名客户身份证号客房信息:客房号+客房类型+客房单价+客房状态+客房电话查询信息:客户信息|客房信
13、息|物品信息客房信息:客房号+客房类型+客房单价+客房状态+客房电话客户住宿信息:客户编号+客房号+入住日期+结算日期+住宿时间+房费物品信息:客房号+客房物品编号+客房物品名称+物品状态+客房物品单价+物品数量客人业务:入住请求+续住请求+退房请求2.数据存储文件词条: 客户信息文件:存放客户信息。 客房信息文件:存放客房信息。 住宿信息文件:存放客户住宿基本情况。3.加工词条: 查询客房条件:对客房状态进行查询。 客户登记:登记客户信息及所住客房信息。 查询住宿信息:对客户住宿信息进行查询。 修改住宿信息:对客户住宿信息进行修改。 检查客户房间物品:对客户房间的物品进行检查。 物品赔偿:对
14、已损坏的物品进行赔偿。 结算:客户退房时进行结算。5.概念结构设计5.1 E-R图(1)客户客房联系E-R图。 1 1住宿客房客户(2)客户物品联系E-R图。 1 n客户物品使用(3)客房物品联系E-R图。各实体之间的E-R图,如图3-1所示。客户住宿客房返回物品使用宾馆管理员客户住宿结算提供 1 1 1 1 n m 1 n 1 1 1 n图5 实体之间的E-R图5.2实体及属性的定义5.2.1类别实体E-R图:1.客户信息实体的E-R图,如图5-1所示。客户客户编号客户姓名客户性别客户身份证号图51 客户信息实体的ER图2.客房信息实体的E-R图,如图5-2所示。客房客房电话客房号客房状态客
15、房类型客房单价图52 客房信息实体的ER图3.客户住宿实体的E-R图,如图5-3所示。客户住宿客房押金结算日期客房号住宿时间客户编号房间价格入住日期 图53 客户住宿实体的ER图4.客房物品信息实体的E-R图,如图5-4所示。物品物品数量客房号物品单价物品号物品状态物品名称图54 客房物品实体的ER图5.宾馆管理员信息实体的E-R图,如图5-5所示。宾馆管理员管理员编号密码管理员职称管理员姓名图55 宾馆管理员实体的ER图6.逻辑结构设计具体的基本E-R图向关系模型的转化结果如下:客户customers( Cno,Cname,Csex,Cid)客房Rooms( Rno,Rstyle,Rpric
16、e,Rstate,Rtel)客户住宿Living( Tno,Rno,Ccomedate,Cleftdate,Ctime,Camount)客房物品Roomitem(Rno,Ritemno,Ritemname,Ritemprice,Ritemstate,Ritemnum)宾馆管理员 Administrators(Ano,Aname,position,password)数据库模式定义 表4-1.客户基本信息表表中列名数据类型可否为空说明CnoChar(10)Not null(主键)客户编号CnameChar(10)Not null客户姓名CsexChar(2)Not null客户性别CidChar(
17、20)Not null客户身份证号表4-2 客房基本信息表Rooms属性名数据类型是否是主属性是否为外键完整性属性描述RnoChar(10)是否not null客房编号Rstylechar(10)否否not null客房档次RpriceInt否否客房单价Rstatechar(10)否否客房状态Rtelchar(15)否否客房电话表4-3 客房物品信息表Roomitem属性名数据类型是否是主属性是否为外键完整性属性描述RitemnoChar(10)是否not null客房物品编号RnoChar(10)否是not null物品的客房号Citemnamechar(20)否否not null客房物品名
18、称CitempriceInt否否客房物品单价Citemstatechar(10)否否 客房物品状态CitemnumInt否否客房物品数目表4-4 客户住宿信息Living属性名数据类型是否为主属性是否为外键完整性属性描述CnoChar(10)是是not null客户编号RnoChar(10)是是not null客房编号TcomedateDatetime否否not null入住日期TleftdateDatetime否否not null结算日期TtimeInt否否入住时间TamountInt否否房费金额表4-5.管理员基本信息表表中列名数据类型可否为空说明AnoChar(10)Not null(主
19、键)管理员编号AnameChar(10)Not null管理员姓名ApositionChar(10)Not null管理员职称ApasswordChar(20)Not null密码7.物理结构设计数据库的物理设计就是为逻辑数据模型选取一个最合适应用要求的物理结构的过程,在这个阶段要完成两大任务。(1) 确定数据库的物理结构,在关系数据库中主要是存储方法和存储结构。(2) 对物理结构进行评价,评价的重点是时间和空间效率。8.触发器设计触发器C1的功能为当有一条信息插入Living表中时,触发Rooms表中的Rstate=满。代码如下:create trigger c1on Living for
20、insertas if exists(select * from Living,_Rooms where Living.Rno=Rooms.Rno) begin update Rooms set Rstate=满 where Rno=(select Rno from inserted) End触发器C2的功能为当从Living表中删除一条信息时,触发Rooms表中的Rstate=空。代码如下:create trigger c2on Living for deleteas if exists(select * from Living,Rooms where Living.Rno=Rooms.Rn
21、o) begin update Rooms set Rstate=空 where Rno=(select Rno from deleted) End9.数据库的实施和维护9.1 建立数据库、数据表、索引1.建立数据库 Create database hotel2.建立数据表(1)客户基本信息表Customers的建立。Create table Customers(Cno char(20) Primary key,Cname char(10) not null,Csex char(2) Check(Csex in (男,女),Cid char(20) not null,)(2) 客房基本信息表R
22、ooms的建立。Create table tb_Rooms(Rno char(20) not null PRIMARY KEY,Rstyle char(10) not null,Rprice int Rstate char (10)Rtel char(15)(3)客房物品信息表Roomitem的建立。Create table Roomitem( Ritemno int not null, Rno int not null, Ritemname char(20) not null, Ritemprice int Ritemstate char(10) Ritemnum int Primary k
23、ey (Ritemno) Foreign key (Rno) references Rooms(Rno)(4) 客户住宿信息Living的建立。Create table Living( Cno int not null, Rno int not null, Ccomedate datetime not null,Cleftdate datetime not null, Ctime int Camount int Primary key (Tno,Rno), Foreign key (Tno) references Customers(Cno), Foreign key (Rno) refere
24、nces Rooms(Rno)(5)管理员基本信息表Customers的建立。Create table Administrators (Ano char(10) Primary key,Aname char(10) not null,Aposition char(10) not null,Apassword char(20) not null,)3.建立视图(1)查询客户(Customers)信息的视图定义如下。Create view view_Customers (客户编号,客户姓名,客户性别,客户身份证号)As select Cno,Cname,Csex,CidFrom Customers
25、(2)查询客房(Rooms)信息的视图定义如下。Create view view_Rooms (客房号,客房类型,客房单价,客房状态,客房电话)As select Rno, Rstyle, Rprice, Rstate, RtelFrom Rooms(3)查询客户住宿(Living)信息的视图如下。Create view view_Living (客房编号,客房号,入住日期,结算日期,住宿时间,房费)As select Cno,Rno,Ccomedate,Cleftdate,Ctime,CamountFrom Living(4)查询客房物品(Roomitem)信息的视图定义如下。Create
26、view view_Roomitem(客房号,客房物品编号,客房物品名称,物品状态,客房物品单价,物品数量)As select Rno,Ritemno,Ritemname,Ritemstate,Ritemprice,RitemnumFrom Roomitem(5)查询管理员(Administrators)信息的视图定义如下。Create view view_Administrators (管理员编号,管理员姓名,管理员职称)As select Ano,Aname,ApositionFrom Administrators 4.建立索引CREATE UNIQUE INDEX Custno ON C
27、ustomers(Cno)CREATE UNIQUE INDEX Roomno ON tb_Rooms(Rno)CREATE UNIQUE INDEX Ritemno ON tb_Roomitem(Ritemno)CREATE UNIQUE INDEX Livno ON tb_Living(Cno)CREATE UNIQUE INDEX Admintno ON Administrators (Ano)10.结束语通过此次数据库的课程设计,真正达到了学与用的结合,增强了对数据库方面应用的理解,对自己今后参与开发数据库系统积累了不少经验,在实验过程中,从建立数据开始,对数据库设计理念及思想上有更高的认识,从需求分析,到概念设计和逻辑设计,E-R图的表示,数据字典的创建,懂得了不少有关数据库开发过程中的知识,增强了自己在数据库中应用SQL语言的灵活性,其中包括,插入、删除、修改、查询,牵涉表和表之间的联系,主建与外主键的定义,约束项的设置,使逻辑更严密,在学习过程中,我也能过上网查了不少资料,也看了一些别人设计的旅馆管理信息系统的设计报告,学以致用,自我创新,独立完成了这份自己的报告,从中在学到用,从用又到学,不断修改,系统更新。虽然不能达到完善系统,但也做到了尽善尽美,加强理论学习对完善系统会有很多帮助,不管怎么说,对这次做的课程设计自己觉得还算满意。
限制150内