某宾馆客房管理系统数据库课程设计报告.docx
《某宾馆客房管理系统数据库课程设计报告.docx》由会员分享,可在线阅读,更多相关《某宾馆客房管理系统数据库课程设计报告.docx(16页珍藏版)》请在冰豆网上搜索。
某宾馆客房管理系统数据库课程设计报告
数据库原理课程设计报告
设计题目某宾馆客房管理系统
专业班级
学号
学生姓名
同组人
起止日期年月日至月1日
摘要
宾馆管理系统是对宾馆管理系统的现代化、网络化,逐步摆脱当前宾馆管理的人工管理方式,拓展经营空间,降低运营成本,提高管理和决策效率而开发的。
传统的宾馆计算机管理系统主要包括前台管理系统和后台管理系统两大部分,基本包含了宾馆主要业务部门,初步实现了对顾客服务和进行财务核算所需要的各个功能。
它包括客户信息管理、客房信息管理、入住和退房管理、客房类型管理、费用管理、价目信息管理等6大功能模块,并提供了对各功能模块的查询和更新功能。
其中客户信息管理、入住和退房管理是系统开发的重点。
本文讲述的是基于客户/服务器的宾馆管理系统,实现了宾馆管理的信息化。
本系统涉及数据库方面的技术,采用SQL语言来实现。
本系统由系统需求分析、概念设计、逻辑设计、物理结构设计、触发器设计、数据库实施和维护组成。
1.问题描述
1.1背景
随着宾馆业竞争的加剧,宾馆之间客源的争夺越来越激烈,宾馆需要使用更有效的信息化手段,拓展经营空间,降低运营成本,提高管理和决策效率。
传统的宾馆计算机管理系统主要包括前台管理系统和后台管理系统两大部分,基本包含了宾馆主要业务部门,初步实现了对顾客服务和进行财务核算所需要的各个功能。
但传统的宾馆管理基于财务管理为主线的设计理念,无法满足宾馆全面信息化管理的需要。
现代宾馆酒店业迅速发展,新的管理观念与模式层出不穷。
宾馆客房管理系统亦随着宾馆管理理念的发展而发展。
宾馆客房管理系统依旧采用了先进的数据库理论,多媒体技术,软件工程理念等,从基层,中层,高层三个管理者层次为切入点,以成本分析,预测,控制为一线,形成一套上下贯通,操作便捷的酒店系统解决方案,科学地将宾馆各种日常业务完美的结合在一起,为管理及决策提供了强有力的支持。
其对客人个性化服务及全面彻底的信息化,使企业电算化水平提升到一个新的更高层次,提供大量丰富的基于企业管理经营过程中实际的数据。
1.2功能要求
(1)客人基本信息的录入;
(2)客人基本信息的查询、修改、增加、删除等;
(3)客房相关信息的录入,包括房间号、收费标准、床位、类别等;
(4)客房类别标准的制定、类别信息的输入;
(5)客房基本信息的查询、修改、删除等;
(6)住房信息的录入,包括房间号、客人姓名等;
(7)退房信息的更新;
2.需求分析
2.1需求分析
1).处理对象
系统要处理的对象包括信息管理、客户信息管理、客房信息管理、入住和退房管理、客房类型管理、费用管理、价目信息管理等7个方面,各个对象包含的信息如下所示:
(1)信息管理:
可以对于各种信息的查询,个人信息可以查看自己的私人信息,还可以对自己的私人信息进行修改。
用户信息查看用户的个人信息,对用户的信息进行增、删、查、改。
(2)客户信息管理:
可以新建客户,输入客户的身份证号码、、性别、出生日期和地址等信息,可以对于客户的信息进行相应的修改,还可以对客户的消费信息进行统计。
(3)客房信息管理:
可以在相应的房间类型下面进行添加相应的房间,对相应的房间进行删除,查看空房以及客房的情况。
(4)入住和退房管理:
客户可以入住相应的类型房型下的空房,然后可以退房,系统自动将相应的订单状态置为失效,入住状态置为已退房,将相应房间的状态置为空房。
(5)客房类型管理:
管理员可以对相应的房型进行各种属性的修改,可以按照需求添加相应的房型,管理员、工作人员都可以查看相应的房型信息,管理员有需要时可以删除相应的房型,系统自动将该房型下的房间删除。
(6)费用管理:
管理员、工作人员都可以查看相应的费用信息,管理员有需要时可以对宾馆的收入与支出进行查询或修改。
(7)价目信息管理:
可以查看客房的收费标准,管理员可以对客房价格进行查询与修改,工作人员可以查看可风的价目信息。
2).系统功能分析
某宾馆需要建立一个住房管理系统,需求分析结果如下:
(1)宾馆要求该系统能实现住房信息管理、客户信息管理等功能;
(2)一个房间有多个床位,同一房间内的床位具有相同的收费标准。
不同类型的房间的床位收费标准可能不同;
(3)每个房间有房间号、收费标准、床位数目等信息;
(4)每位客人有身份证号码、、性别、出生日期和地址等信息;
(5)对每位客人的每次住宿,应该记录其入住日期、退房日期和预付款额信息;
(6)管理系统可查询出客人住宿相关信息、房间信息。
3).安全性和完整性要求
安全性先通过试图机制,不同的用户只能访问系统授权的视图,这样可以满足系统数据一定程度上的安全性,在通过用户授权机制,用户登录来识别用户级别,根据这个级别来分配用户权限,达到数据更高层次的安全保密功能。
系统完整性要求系统中数据的正确性以及相容性。
可以通过建立主、外键,使用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客户续房数据流程图
(5)客人退房数据流程图,如图2.3.6所示。
图2.3.6客人退房数据流程图
2.4数据字典
表2-3.客户(Travellers)信息:
表中列名
数据类型
可否为空
说明
Tno
Int
Notnull(主键)
客户编号
Tname
Char(10)
Notnull
客户姓名
Tsex
Char
(2)
Notnull
客户性别
Tid
Char(20)
Notnull
客户身份证号
表2-4.客房(Rooms)信息:
表中列名
数据类型
可否为空
说明
Rno
Int
Notnull(主键)
客房号
Rstyle
Char(10)
Notnull
客房类型
Rprice
Int
客房单价
Rstate
Char(10)
客房状态
Rtel
Char(15)
客房电话
表2-5.客户住宿(Living)信息:
表中列名
数据类型
可否为空
说明
Tno
Int
Notnull(主键)
客户编号
Rno
Int
Notnull(主键)
客房号
Tcomedate
Datetime
Notnull
入住日期
Tleftdate
Datetime
Notnull
结算日期
Ttime
Int
住宿时间
Tamount
Int
房费
表2-6.客房物品(Roomitem)信息:
表中列名
数据类型
可否为空
说明
Rno
Int
Notnull
客房号
Ritemno
Char(10)
Notnull(主键)
客房物品编号
Ritemname
Char(20)
Notnull
客房物品名称
Ritemstate
Char(10)
物品状态
Ritemprice
Int
客房物品单价
Ritemnum
Int
物品数量
3.概念结构设计
3.1E-R图
各实体之间的E-R图,如图3-1所示。
图3-1实体之间的E-R图
3.2实体及属性的定义
3.2.1类别实体E-R图:
客户信息实体的E-R图,如图3-2所示。
图3—2客户信息实体的E—R图
客房信息实体的E-R图,如图3-3所示。
图3—3客房信息实体的E—R图
客户住宿实体的E-R图,如图3-4所示。
图3—4客户住宿实体的E—R图
客房物品信息实体的E-R图,如图3-5所示。
图3—5客房物品实体的E—R图
4.逻辑结构设计
具体的基本E-R图向关系模型的转化结果如下:
客户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. 客户基本信息表
表中列名
数据类型
可否为空
说明
Tno
Int
Notnull(主键)
客户编号
Tname
Char(10)
Notnull
客户姓名
Tsex
Char
(2)
Notnull
客户性别
Tid
Char(20)
Notnull
客户身份证号
表4-2客房基本信息表Rooms
属性名
数据类型
是否是主属性
是否为外键
完整性
属性描述
Rno
Int
是
否
notnull
客房编号
Rstyle
char(10)
否
否
notnull
客房档次
Rprice
Int
否
否
客房单价
Rstate
char(10)
否
否
客房状态
Rtel
char(15)
否
否
客房电话
表4-3客房物品信息表Roomitem
属性名
数据类型
是否是主属性
是否为外键
完整性
属性描述
Ritemno
Int
是
否
notnull
客房物品编号
Rno
Int
否
是
notnull
物品的客房号
Ritemname
char(20)
否
否
notnull
客房物品名称
Ritemprice
Int
否
否
客房物品单价
Ritemstate
char(10)
否
否
客房物品状态
Ritemnum
Int
否
否
客房物品数目
表4-4客户住宿信息Living
属性名
数据类型
是否为
主属性
是否为外键
完整性
属性描述
Tno
Int
是
是
notnull
客户编号
Rno
Int
是
是
notnull
客房编号
Tcomedate
Datetime
否
否
notnull
入住日期
Tleftdate
Datetime
否
否
notnull
结算日期
Ttime
Int
否
否
入住时间
Tamount
Int
否
否
房费金额
5.物理结构设计
数据库的物理设计就是为逻辑数据模型选取一个最合适应用要求的物理结构的过程,在这个阶段要完成两大任务。
(1)确定数据库的物理结构,在关系数据库中主要是存储方法和存储结构。
(2)对物理结构进行评价,评价的重点是时间和空间效率。
CREATEUNIQUEINDEXTravnoONTravellers(Tno)
CREATEUNIQUEINDEXRoomnoONRooms(Rno)
CREATEUNIQUEINDEXRitemnoONRoomitem(Ritemno)
CREATEUNIQUEINDEXLivnoONLiving(Tno)
6.触发器设计
触发器C1的功能为当有一条信息插入Living表中时,触发Rooms表中的Rstate='满'。
代码如下:
createtriggerc1
ontb_Livingforinsert
as
ifexists(select*fromtb_Living,tb_Roomswheretb_Living.Rno=tb_Rooms.Rno)
begin
updatetb_Rooms
setRstate='满'
whereRno=(selectRno
frominserted)
End
触发器C2的功能为当从Living表中删除一条信息时,触发Rooms表中的Rstate='空'。
代码如下:
createtriggerc2
ontb_Livingfordelete
as
ifexists(select*fromtb_Living,tb_Roomswheretb_Living.Rno=tb_Rooms.Rno)
begin
updatetb_Rooms
setRstate='空'
whereRno=(selectRno
fromdeleted)
End
7.数据库的实施和维护
7.1建立数据库、数据表、索引
1.建立数据库
Createdatabasedb_hotel;
2.建立数据表
(1)客户基本信息表Travellers的建立。
Createtabletb_Travellers(
TnointCheck(Tno>=0andTno<=9999),
Tnamechar(10)notnull,
Tsexchar
(2)Check(Tsexin(‘男’,’女’)),
Tidchar(20)notnull,
Primarykey(Tno)
);
(2)客房基本信息表Rooms的建立。
Createtabletb_Rooms(
Rnointnotnull,
Rstylechar(10)notnull,
Rpriceint
Rstatechar(10)
Rtelchar(15)
PRIMARYKEY(Rno)
);
(3)客房物品信息表Roomitem的建立。
Createtabletb_Roomitem(
Ritemnointnotnull,
Rnointnotnull,
Ritemnamechar(20)notnull,
Ritempriceint
Ritemstatechar(10)
Ritemnumint
Primarykey(Ritemno)
Foreignkey(Rno)referencestb_Rooms(Rno)
);
(4)客户住宿信息Living的建立。
Createtabletb_Living(
Tnointnotnull,
Rnointnotnull,
Tcomedatedatetimenotnull,
Tleftdatedatetimenotnull,
Ttimeint
Tamountint
Primarykey(Tno,Rno),
Foreignkey(Tno)referencestb_Travellers(Tno),
Foreignkey(Rno)referencestb_Rooms(Rno)
);
3.建立视图
(1)查询客户(Travellers)信息的视图定义如下。
Createviewview_Travellers(客户编号,客户姓名,客户性别,客户身份证号)
AsselectTno,Tname,Tsex,Tid
Fromtb_Travellers
(2)查询客房(Rooms)信息的视图定义如下。
Createviewview_Rooms(客房号,客房类型,客房单价,客房状态,客房电话)
AsselectRno,Rstyle,Rprice,Rstate,Rtel
Fromtb_Rooms
(3)查询客户住宿(Living)信息的视图如下。
Createviewview_Living(客房编号,客房号,入住日期,结算日期,住宿时间,房费)
AsselectTno,Rno,Tcomedate,Tleftdate,Ttime,Tamount
Fromtb_Living
(4)查询客房物品(Roomitem)信息的视图定义如下。
Createviewview_Roomitem(客房号,客房物品编号,客房物品名称,物品状态,客房物品单价,物品数量)
AsselectRno,,Ritemno,Ritemname,Ritemstate,Ritemprice,Ritemnum
Fromtb_Roomitem
4.建立索引
CREATEUNIQUEINDEXTravnoONtb_Travellers(Tno)
CREATEUNIQUEINDEXRoomnoONtb_Rooms(Rno)
CREATEUNIQUEINDEXRitemnoONtb_Roomitem(Ritemno)
CREATEUNIQUEINDEXLivnoONtb_Living(Tno)
8.结束语
通过此次数据库的课程设计,真正达到了学与用的结合,增强了对数据库方面应用的理解,对自己今后参与开发数据库系统积累了不少经验,在实验过程中,从建立数据开始,对数据库设计理念及思想上有更高的认识,从需求分析,到概念设计和逻辑设计,E-R图的表示,数据字典的创建,懂得了不少有关数据库开发过程中的知识,增强了自己在数据库中应用SQL语言的灵活性,其中包括,插入、删除、修改、查询,牵涉表和表之间的联系,主建与外主键的定义,约束项的设置,使逻辑更严密,在学习过程中,我也能过上网查了不少资料,也看了一些别人设计的旅馆管理信息系统的设计报告,学以致用,自我创新,独立完成了这份自己的报告,从中在学到用,从用又到学,不断修改,系统更新。
虽然不能达到完善系统,但也做到了尽善尽美,加强理论学习对完善系统会有很多帮助,不管怎么说,对这次做的课程设计自己觉得还算满意。
9.答辩与成绩考核
答辩问
答
成绩评定
项目
权重
成绩
1、设计过程中勤、能力、水平、态度等方面
0.2
2、说明书书写规范性
0.3
3、内容的质量
0.3
4、答辩
0.2
总成绩