资源描述:
《宾馆客房管理系统数据库设计报告.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、宾馆客房管理系统数据库设计报告摘要:本系统是宾馆客房管理系统,该报告主要介绍了数据库的设计,建立,主要功能的实现。数据库系统包括员工管理、客房管理、顾客管理几个大块。主要实现了登记功能,预订功能,多种方法查询顾客功能,查看客房状态功能,操作人员对系统的修改功能,以及结账报表功能。一、需求分析(1)具有方便的登记、结账功能,以及预订客房的功能,能够支持团体登记和团体结账。(2)能快速、准确地了解宾馆内的客房状态,以方便管理者决策。(3)提供多种手段查询客人的信息。(4)具备一定的维护手段,有一定权利的操作人员在密码的支持下才可以更改房价、房间类型
2、、增减客房。(5)完善的结账报表系统。二、E-R关系图三、关系表本系统有八个表,分别是职工信息表(staffinfo)、顾客信息表(custmerinfo)、经理信息表(managerinfo)、客房信息表(roominfo)、客房状态表(roomstatus)、入住表(checkin)、退房表(checkout)、结账订单表(orderinfo)。1,职工信息表(staffinfo)2,顾客信息表(custmerinfo)3,经理信息表(managerinfo)4,客房信息表(roominfo)5,客房状态表(roomstatus)6,入住表
3、(checkin)7,退房表(checkout)8,结账订单表(orderinfo)四、范式分析本系统所有的表均为BCNF,职工和经理表由各自的工作编号为主码,并且可以决定其他所有属性,顾客表由身份证号做为主码,同理,客房的房间号可以决定其他所有属性。五、功能分析1,登记功能本系统采用存储过程实现登记功能,顾客前来预订客房,由工作人员调用存储过程向顾客表中插入该顾客信息,完成登记。createprocedureregister@身份证号varchar(20),@姓名varchar(10),@性别char(5),@电话char(15),@员工编号
4、char(10)asinsertintocustmerinfovalues(@身份证号,@姓名,@性别,@电话,@员工编号)2,预订功能采用存储过程实现,由工作人员调用存储过程,在入住表中插入相应信息,并且设计触发器,在预定的同时在客房状态表中修改客房状态为“已入住”。createprocedureor_der@身份证号varchar(20),@房间号char(10),@姓名varchar(10),@入住时间nchar(10)--预定的同时在客房状态表里修改状态asinsertintocheckinvalues(@房间号,@身份证号,@姓名,@
5、入住时间)createtriggertri_orderoncheckinforinsert,updateasdeclare@房间号char(10)select@房间号=房间号frominsertedupdateroomstatusset状态='已入住'where房间号=@房间号3,修改功能当管理人员在密码的支持下,可以对数据库系统中房间的价格、类型、状态做适当修改。通过存储过程实现。createprocedureup_date1@工作编号char(10),@密码varchar(10),@房间号char(10),@价格smallintasif@密
6、码=(select密码frommanagerinfowhere工作编号=@工作编号)beginupdateroominfoset价格=@价格where房间号=@房间号endcreateprocedureup_date2@工作编号char(10),@密码varchar(10),@房间号char(10),@类型varchar(10)asif@密码=(select密码frommanagerinfowhere工作编号=@工作编号)beginupdateroominfoset类型=@类型where房间号=@房间号endcreateprocedureup_
7、date3@工作编号char(10),@密码varchar(10),@房间号char(10),@状态char(10)asif@密码=(select密码frommanagerinfowhere工作编号=@工作编号)beginupdateroomstatusset状态=@状态where房间号=@房间号end4,查询顾客信息存储过程,实现可以通过客户的姓名、房间号查询到客户的信息。--1.根据姓名查询createproceduresel_name@姓名varchar(10)asselect*fromcustmerinfowhere姓名=@姓名--调用
8、execsel_name'lxt'--2.根据房间号查询createproceduresel_roomnumber@房间号char(10)assele