《某宾馆客房管理系统——数据库课程设计.doc》由会员分享,可在线阅读,更多相关《某宾馆客房管理系统——数据库课程设计.doc(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精品文档,仅供学习与交流,如有侵权请联系网站删除数据库原理课程设计报告设计题目 某宾馆客房管理系统 专业班级 学 号 学生姓名 同组人 起止日期 年 月 日至 月 1 日【精品文档】第 9 页摘要宾馆管理系统是对宾馆管理系统的现代化、网络化,逐步摆脱当前宾馆管理的人工管理方式,拓展经营空间,降低运营成本,提高管理和决策效率而开发的。传统的宾馆计算机管理系统主要包括前台管理系统和后台管理系统两大部分,基本包含了宾馆主要业务部门,初步实现了对顾客服务和进行财务核算所需要的各个功能。它包括客户信息管理、客房信息管理、入住和退房管理、客房类型管理、费用管理、价目信息管理等6大功能模块,并提供了对各功能
2、模块的查询和更新功能。其中客户信息管理、入住和退房管理是系统开发的重点。本文讲述的是基于客户/服务器的宾馆管理系统,实现了宾馆管理的信息化。本系统涉及数据库方面的技术,采用SQL语言来实现。本系统由系统需求分析、概念设计、逻辑设计、物理结构设计、触发器设计、数据库实施和维护组成。目录1.问题描述11.1背景11.2功能要求1.需求分析12.1需求分析12.2系统功能模块图32.3数据流图32.4数据字典63.概念结构设计73.1 E-R图73.2实体及属性的定义74.逻辑结构设计85.物理结构设计96.触发器设计107.数据库的实施和维护108.结束语128答辩与成绩考核131.问题描述1.1
3、背景随着宾馆业竞争的加剧,宾馆之间客源的争夺越来越激烈,宾馆需要使用更有效的信息化手段,拓展经营空间,降低运营成本,提高管理和决策效率。传统的宾馆计算机管理系统主要包括前台管理系统和后台管理系统两大部分,基本包含了宾馆主要业务部门,初步实现了对顾客服务和进行财务核算所需要的各个功能。但传统的宾馆管理基于财务管理为主线的设计理念,无法满足宾馆全面信息化管理的需要。现代宾馆酒店业迅速发展,新的管理观念与模式层出不穷。宾馆客房管理系统亦随着宾馆管理理念的发展而发展。宾馆客房管理系统依旧采用了先进的数据库理论,多媒体技术,软件工程理念等,从基层,中层,高层三个管理者层次为切入点,以成本分析,预测,控制
4、为一线,形成一套上下贯通,操作便捷的酒店系统解决方案,科学地将宾馆各种日常业务完美的结合在一起,为管理及决策提供了强有力的支持。其对客人个性化服务及全面彻底的信息化,使企业电算化水平提升到一个新的更高层次,提供大量丰富的基于企业管理经营过程中实际的数据。1.2功能要求(1)客人基本信息的录入;(2)客人基本信息的查询、修改、增加、删除等;(3)客房相关信息的录入,包括房间号、收费标准、床位、类别等;(4)客房类别标准的制定、类别信息的输入;(5)客房基本信息的查询、修改、删除等;(6)住房信息的录入,包括房间号、客人姓名等;(7)退房信息的更新;.需求分析2.1需求分析1). 处理对象系统要处
5、理的对象包括信息管理、客户信息管理、客房信息管理、入住和退房管理、客房类型管理、费用管理、价目信息管理等7个方面,各个对象包含的信息如下所示:(1)信息管理:可以对于各种信息的查询,个人信息可以查看自己的私人信息,还可以对自己的私人信息进行修改。用户信息查看用户的个人信息,对用户的信息进行增、删、查、改。(2)客户信息管理:可以新建客户,输入客户的身份证号码、姓名、性别、出生日期和地址等信息,可以对于客户的信息进行相应的修改,还可以对客户的消费信息进行统计。(3)客房信息管理:可以在相应的房间类型下面进行添加相应的房间,对相应的房间进行删除,查看空房以及客房的情况。(4)入住和退房管理:客户可
6、以入住相应的类型房型下的空房,然后可以退房,系统自动将相应的订单状态置为失效,入住状态置为已退房,将相应房间的状态置为空房。(5)客房类型管理:管理员可以对相应的房型进行各种属性的修改,可以按照需求添加相应的房型,管理员、工作人员都可以查看相应的房型信息,管理员有需要时可以删除相应的房型,系统自动将该房型下的房间删除。(6)费用管理:管理员、工作人员都可以查看相应的费用信息,管理员有需要时可以对宾馆的收入与支出进行查询或修改。(7)价目信息管理:可以查看客房的收费标准,管理员可以对客房价格进行查询与修改,工作人员可以查看可风的价目信息。2). 系统功能分析某宾馆需要建立一个住房管理系统,需求分
7、析结果如下:(1)宾馆要求该系统能实现住房信息管理、客户信息管理等功能;(2)一个房间有多个床位,同一房间内的床位具有相同的收费标准。不同类型的房间的床位收费标准可能不同;(3)每个房间有房间号、收费标准、床位数目等信息;(4)每位客人有身份证号码、姓名、性别、出生日期和地址等信息;(5)对每位客人的每次住宿,应该记录其入住日期、退房日期和预付款额信息;(6)管理系统可查询出客人住宿相关信息、房间信息。3).安全性和完整性要求安全性先通过试图机制,不同的用户只能访问系统授权的视图,这样可以满足系统数据一定程度上的安全性,在通过用户授权机制,用户登录来识别用户级别,根据这个级别来分配用户权限,达
8、到数据更高层次的安全保密功能。系统完整性要求系统中数据的正确性以及相容性。可以通过建立主、外键,使用check约束,或者通过使用触发器和级联更新。2.2系统功能模块图系统功能模块图,如图2.2所示。图2.2 系统的功能模块图2.3数据流图1业务流程图,如图2.3.1所示。图2.3.1 客房管理业务流程图(1)顶层数据流程图,如图2.3.2所示。图2.3.2 顶层数据流程图(2)第二层数据流图,如图2.3.3所示。图2.3.3 第二层数据流图(3)宾馆开房数据流程图,如图2.3.4所示。图2.3.4 宾馆开房数据流程图(4)客户续房数据流程图,如图2.3.5所示。图2.3.5 客户续房数据流程图
9、(5)客人退房数据流程图,如图2.3.6所示。图2.3.6 客人退房数据流程图2.4数据字典表2-3.客户(Travellers)信息:表中列名数据类型可否为空说明TnoIntNot null(主键)客户编号TnameChar(10)Not null客户姓名TsexChar(2)Not null客户性别TidChar(20)Not null客户身份证号表2-4. 客房(Rooms)信息:表中列名数据类型可否为空说明RnoInt Not null(主键)客房号Rstyle Char(10)Not null客房类型RpriceInt 客房单价RstateChar(10)客房状态RtelChar(1
10、5)客房电话表2-5. 客户住宿(Living)信息:表中列名数据类型可否为空说明Tno Int Not null(主键)客户编号Rno Int Not null(主键)客房号TcomedateDatetime Not null入住日期Tleftdate Datetime Not null结算日期Ttime Int 住宿时间Tamount Int 房费表2-6. 客房物品(Roomitem)信息:表中列名数据类型可否为空说明Rno IntNot null客房号Ritemno Char(10)Not null(主键)客房物品编号Ritemname Char(20)Not null客房物品名称Ri
11、temstateChar(10)物品状态Ritemprice Int 客房物品单价Ritemnum Int 物品数量3.概念结构设计3.1 E-R图各实体之间的E-R图,如图3-1所示。图3-1 实体之间的E-R图3.2实体及属性的定义3.2.1类别实体E-R图:客户信息实体的E-R图,如图3-2所示。图32 客户信息实体的ER图客房信息实体的E-R图,如图3-3所示。图33 客房信息实体的ER图客户住宿实体的E-R图,如图3-4所示。 图34 客户住宿实体的ER图客房物品信息实体的E-R图,如图3-5所示。 图35 客房物品实体的ER图4.逻辑结构设计具体的基本E-R图向关系模型的转化结果如
12、下:客户Travellers( Tno,Tname,Tsex,Tid)客房Rooms( Rno,Rstyle,Rprice,Rstate,Rtel)客户住宿Living( Tno,Rno,Tcomedate,Tleftdate,Ttime,Tamount)客房物品Roomitem(Rno,Ritemno,Ritemname,Ritemprice,Ritemstate,Ritemnum)数据库模式定义 表4-1.客户基本信息表表中列名数据类型可否为空说明TnoIntNot null(主键)客户编号TnameChar(10)Not null客户姓名TsexChar(2)Not null客户性别Ti
13、dChar(20)Not null客户身份证号表4-2 客房基本信息表Rooms属性名数据类型是否是主属性是否为外键完整性属性描述RnoInt是否not null客房编号Rstylechar(10)否否not null客房档次RpriceInt否否客房单价Rstatechar(10)否否客房状态Rtelchar(15)否否客房电话表4-3 客房物品信息表Roomitem属性名数据类型是否是主属性是否为外键完整性属性描述RitemnoInt是否not null客房物品编号RnoInt否是not null物品的客房号Ritemnamechar(20)否否not null客房物品名称Ritempri
14、ceInt否否客房物品单价Ritemstatechar(10)否否 客房物品状态RitemnumInt否否客房物品数目表4-4 客户住宿信息Living属性名数据类型是否为主属性是否为外键完整性属性描述TnoInt是是not null客户编号RnoInt是是not null客房编号TcomedateDatetime否否not null入住日期TleftdateDatetime否否not null结算日期TtimeInt否否入住时间TamountInt否否房费金额5.物理结构设计数据库的物理设计就是为逻辑数据模型选取一个最合适应用要求的物理结构的过程,在这个阶段要完成两大任务。(1) 确定数据库
15、的物理结构,在关系数据库中主要是存储方法和存储结构。(2) 对物理结构进行评价,评价的重点是时间和空间效率。CREATE UNIQUE INDEX Travno ON Travellers(Tno)CREATE UNIQUE INDEX Roomno ON Rooms(Rno)CREATE UNIQUE INDEX Ritemno ON Roomitem(Ritemno)CREATE UNIQUE INDEX Livno ON Living(Tno)6.触发器设计触发器C1的功能为当有一条信息插入Living表中时,触发Rooms表中的Rstate=满。代码如下:create trigger
16、c1on tb_Living for insertas if exists(select * from tb_Living,tb_Rooms where tb_Living.Rno=tb_Rooms.Rno) begin update tb_Rooms set Rstate=满 where Rno=(select Rno from inserted) End触发器C2的功能为当从Living表中删除一条信息时,触发Rooms表中的Rstate=空。代码如下:create trigger c2on tb_Living for deleteas if exists(select * from tb
17、_Living,tb_Rooms where tb_Living.Rno=tb_Rooms.Rno) begin update tb_Rooms set Rstate=空 where Rno=(select Rno from deleted) End7.数据库的实施和维护7.1 建立数据库、数据表、索引1.建立数据库 Create database db_hotel;2.建立数据表(1)客户基本信息表Travellers的建立。Create table tb_Travellers(Tno int Check(Tno=0 and Tno=9999),Tname char(10) not null
18、,Tsex char(2) Check(Tsex in (男,女),Tid char(20) not null,Primary key (Tno)(2) 客房基本信息表Rooms的建立。Create table tb_Rooms(Rno int not null,Rstyle char(10) not null,Rprice int Rstate char (10)Rtel char(15)PRIMARY KEY (Rno)(3)客房物品信息表Roomitem的建立。Create table tb_Roomitem( Ritemno int not null, Rno int not null
19、, Ritemname char(20) not null, Ritemprice int Ritemstate char(10) Ritemnum int Primary key (Ritemno) Foreign key (Rno) references tb_Rooms(Rno)(4) 客户住宿信息Living的建立。Create table tb_Living( Tno int not null, Rno int not null, Tcomedate datetime not null,Tleftdate datetime not null, Ttime int Tamount in
20、t Primary key (Tno,Rno), Foreign key (Tno) references tb_Travellers(Tno), Foreign key (Rno) references tb_Rooms(Rno)3.建立视图(1)查询客户(Travellers)信息的视图定义如下。Create view view_Travellers (客户编号,客户姓名,客户性别,客户身份证号)As select Tno,Tname,Tsex,TidFrom tb_Travellers(2)查询客房(Rooms)信息的视图定义如下。Create view view_Rooms (客房号,
21、客房类型,客房单价,客房状态,客房电话)As select Rno, Rstyle, Rprice, Rstate, RtelFrom tb_Rooms(3)查询客户住宿(Living)信息的视图如下。Create view view_Living (客房编号,客房号,入住日期,结算日期,住宿时间,房费)As select Tno,Rno,Tcomedate,Tleftdate,Ttime,TamountFrom tb_Living(4)查询客房物品(Roomitem)信息的视图定义如下。Create view view_Roomitem(客房号,客房物品编号,客房物品名称,物品状态,客房物品
22、单价,物品数量)As select Rno,Ritemno,Ritemname,Ritemstate,Ritemprice,RitemnumFrom tb_Roomitem4.建立索引CREATE UNIQUE INDEX Travno ON tb_Travellers(Tno)CREATE UNIQUE INDEX Roomno ON tb_Rooms(Rno)CREATE UNIQUE INDEX Ritemno ON tb_Roomitem(Ritemno)CREATE UNIQUE INDEX Livno ON tb_Living(Tno)8.结束语通过此次数据库的课程设计,真正达到了
23、学与用的结合,增强了对数据库方面应用的理解,对自己今后参与开发数据库系统积累了不少经验,在实验过程中,从建立数据开始,对数据库设计理念及思想上有更高的认识,从需求分析,到概念设计和逻辑设计,E-R图的表示,数据字典的创建,懂得了不少有关数据库开发过程中的知识,增强了自己在数据库中应用SQL语言的灵活性,其中包括,插入、删除、修改、查询,牵涉表和表之间的联系,主建与外主键的定义,约束项的设置,使逻辑更严密,在学习过程中,我也能过上网查了不少资料,也看了一些别人设计的旅馆管理信息系统的设计报告,学以致用,自我创新,独立完成了这份自己的报告,从中在学到用,从用又到学,不断修改,系统更新。虽然不能达到完善系统,但也做到了尽善尽美,加强理论学习对完善系统会有很多帮助,不管怎么说,对这次做的课程设计自己觉得还算满意。9答辩与成绩考核答辩问答成绩评定项 目权重成绩1、设计过程中勤、能力、水平、态度等方面0.22、说明书书写规范性0.33、内容的质量0.34、答辩0.2总 成 绩