版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课程设计课 程: 数据库 题 目: 酒店客房管理系统 专 业: 信息管理与信息系统 班 级: 座 号: 姓 名: 2011年 3 月 5 日一、系统定义酒店客房管理系统是为了在正常运营中需要对客房资源、客人信息、消费信息、结算信息等进行管理,利用酒店客房管理信息系统对客房的各个操作进行管理,能够及时了解各个环节中信息的变更,有利于提高管理的效率。本项目要设计和实现一个能对酒店客房租住信息,客人信息,预订信息,消费信息、结算信息的管理,实现前台操作流程较方便,清晰,高效的信息管理系统二、需求分析现在我国的中小型宾馆客房管理水平还停留在纸介质的基础上,这样的机制已不能适应时代的发展,因为它浪费了许
2、多人力和物力,在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代。而购买大型通用宾馆客房管理系统,对小型宾馆来说,又要付出昂贵的代价,而且管理项目不一定完全符合小型宾馆客房管理的要求。因此根据企业目前实际的宾馆客房管理情况开发一套宾馆客房管理系统是十分必要的。本系统主要具备以下五大功能: 前台操作、预定管理、财务管理、统计查询、管理设置(1) 前台操作:开房、顾客信息管理、续费、换房、结账退房、客房状态、商品消费、留言板、留言板查看(2) 预定管理: 预订、确认入住、预订信息修改、解除预订(3) 财务管理:所有收支、客户退房清算、交接班、账面金额、(4) 管理设置: 客房信息设置、
3、财务管理、商品信息设置、操作人员信息(5) 统计查询: 客房状态分类查看、入住统计逻辑模型:数据流程图s2前台客房预订系统pf1预定单s1旅客lv( 1)( 2)客房目录d1符合顾客条件的订单p2s1旅客lvf2汇总订单待发出订单d3发送订单p3订单处理p2客房目录d1订单检查p1f3不合格预订单f1预订单( 3)d1客房目录s2前台lvf2汇总订单发放订单p3d3 待发出预订单普通处理p2.4特殊处理p2.3d8 普通订单d7 vip订单d6 旅客情况订单分类p2.2d5 所剩客房数数目统计p2.1d2 符合条件订单d1 客房目录订单检查p1f3不合格预订单f1预订单s1旅客lv客房预订系统
4、关联图客房预订系统顶层图客房预订系统二层图三、系统设计1、概念结构设计这一设计阶段是在需求分析的基础上,设计出能满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。根据上面的设计规划出的实体有客房实体,客人实体,预订信息、入住信息、账单信息等实体。客房信息 客房信息客房号可住人数客房等级 房间状态价格客房概况楼层 客人信息客人信息顾客编号顾客姓名证件类型证件号联系电话通讯地址性别是否为会员 预定房间客房号顾客编号预定预入住日期预离店日期预存费用1n押金客人入住客房号顾客编号入住是否结账入住时间押 金1n预存费用预离店时间转房 客房号顾客编号转 房1n退房 客房号顾客编号退
5、 房结算费用1n入住日期退房日期2、逻辑结构设计1 客房信息表(客房号,状态标记,客房等级roclass(豪华、标准、单间),全日房价格,半天房,钟点,楼层,客房概况,可住人数)2顾客信息表vip表 (积分,会员等级,会员号)顾客基本信息表(顾客编号,表单自动编号,顾客姓名,性别,证件类型,证件号,联系电话,通讯地址,是否为会员,会员号)3操作人员表(员工号,员工姓名,密码,加入时间,部门)4 商品消费设置(商品信息表goods:商品名、类别、单价,是否参与积分)顾客消费明细单(客房号 , 顾客编号,消费商品数目, 商品名,类别 ,单价,是否参与积分,操作日期,操作人员号)5留言板表(自动编号
6、,留言人呢称,留言标题,留言文本内容,留言时间)6交班表 (操作人员号,操作人员,操作日期)7预订表(自动编号,客房号 , 顾客编号, 顾客姓名,客房类型,预存费用brplan,押金,预订入住时间,离店时间,预计入住人数,操作日期,员工号)8入住表 (自动编号, 客房号 , 顾客编号, 顾客姓名,客房类型,预存费用,押金 ,是否消费商品,入住时间,预离店时间,入住人数,结账费用结账时交的费用 ,是否结账,操作日期,员工号)9 资金清算表 (客房号 , 顾客编号, 顾客姓名,客人名称,押金 ,应收费用 , 是否消费商品,实收金额,入住时间,结账日期,操作日期,操作人员号)3、系统功能模块图 4、
7、其它设计图形工具microsoft office visio 2003四、详细设计表格建立: create database newhotel-1 客房信息表create table room-客房信息表(rono varchar(8) primary key ,-客房号roflat char(4) default '空房' ,-状态标记roclass varchar(20)not null,-客房等级roclass(豪华、标准、单间)rodayprice money,-全日房价格rohalfprice money,-半天房rohourprice money,-钟点rofloo
8、t char(4) not null,-楼层rointroduce varchar(100),-客房概况ronumber char(4)not null,-可住人数)-2 顾客信息表create table vip(cuvipno int primary key, viprewards int default '0',-积分viprewards,vipclass char(8)-会员等级vipclass)create table customs(cuno char(8) , - primary key ,cunum int identity(1,1) , -自动编号, -顾客编
9、号,-触发器 回滚 -利用存储过程实现cuname varchar(8),-顾客姓名cusex char(4),-性别cutype char(8) not null,-证件类型cucardno char(20) unique not null ,-证件号cuphone varchar(20)not null,-联系电话cuaddress varchar(40),-通讯地址cuflat bit not null,-是否为会员cuvipno char(8) default null)-3操作人员表create table operator(opno varchar(20) primary key
10、, -员工号opname char(8), -员工姓名oppass char(10) , -密码opdate smalldatetime , -加入时间opdepartment varchar(30) -部门)-4 商品消费设置(商品信息表goods:商品名、类别、单价,是否参与积分、检索码)create table goods(gotype char(10) , - 类别goname varchar(20), - 商品名goprice money, -单价gojifen bit, -是否参与积分)- 顾客消费明细单create table spend (rono varchar(8), -客
11、房号 chanzhao cuno char(8) ,spnumber int, -消费商品数目goname varchar(20), - 商品名gotype char(10), -类别 chaozhao goprice money, -单价gojifen bit, -是否参与积分spoper_date datetime, -操作日期cuoper_dateopno varchar(20),-操作人员号cuopertorforeign key(rono) references room(rono),foreign key(cuno ) references customs(cuno )foreig
12、n key(opno ) references operator(opno )-5留言板表create table messagetp(messageid int identity(1,1) , -自动编号messageowner char(10), -留言人呢称messagetitle char(20), -留言标题messagetext char(100), -留言文本内容messagetime datetime -留言时间)-6交班表create table exchange(opno1 varchar(20),-操作人员号cuopertoropno2 varchar(20),-操作人员
13、号cuopertorexoper_date datetime, -操作日期cuoper_dateforeign key(opno1 ) references operator(opno ),foreign key(opno2 ) references operator(opno )-7预订表create table bookroom (brplanno int identity(1,1) ,-自动编号rono varchar(8), -客房号 cuno char(8) , cuname char(8),rolevel varchar(20),-客房类型rolevel (全日房价格rodaypr
14、ice、半天房价格brplan money,-预存费用brplan、brdeposit money,-押金brdeposit brplanentertime datetime,-预订入住时间brleavetime datetime, -离店时间brplanpersons int,-预计入住人数broper_date datetime, -操作日期rooper_dateopno varchar(20) , -员工号chanzhaoforeign key(rono) references room(rono)drop table bookroom-8入住表create table enterroo
15、m(erenterno int identity(1,1), -自动编号rono varchar(8), cuno char(8) , cuname char(8),rolevel varchar(20),-客房类型rolevel (全日房价格半天房价格brplan money,-预存费用brplan、brdeposit money,-押金brdeposit ergoflat bit , -是否消费商品erentertime datetime, -入住时间erleavetime datetime, -预离店时间erpersons int,-入住人数ermoney money,-结账费用结账时交
16、的费用 erpaymoney bit,-是否结账eroper_date datetime, -操作日期rooper_dateopno varchar(20) , -员工号 canzhaoforeign key(rono) references room(rono),foreign key(opno) references operator(opno)9所有收支信息表create table szhistorytable (rono varchar(8), -客房号 chanzhao cuno char(8) , cuname varchar(8), -顾客姓名chanzhaoszneed mo
17、ney, -应收费用szfactfee money, -实收金额brdeposit money, -押金brdeposit erentertime datetime, -入住时间szoper_date datetime, -操作日期cuoper_dateopno varchar(20) , -操作人员号cuopertorprimary key(rono,cuno,erentertime ),foreign key(rono) references room(rono),foreign key(cuno ) references customs(cuno ),foreign key(opno )
18、 references operator(opno )资金清算表zjqstablecreate table zjqstable(rono varchar(8), -客房号cuno char(8) ,cuname varchar(8), -客人名称brdeposit money, -押金brdeposit szneed money, -应收费用 是否消费商品zjfactfee money, -实收金额erentertime datetime, -入住时间cuaccountday datetime, -结账日期zjoper_date datetime, -操作日期cuoper_dateopno v
19、archar(20),-操作人员号cuopertorprimary key(rono,cuno,cuaccountday ),foreign key(rono) references room(rono),foreign key(cuno ) references customs(cuno ),foreign key(opno ) references operator(opno )信息加入-1insert into room(rono,roclass, rodayprice,rohalfprice,rohourprice,rofloot,rointroduce ,ronumber ) val
20、ues('101','豪华','500','250','50','一楼','空调',1);insert into room(rono,roclass, rodayprice,rohalfprice,rohourprice,rofloot,rointroduce ,ronumber ) values('201','标准',300,150,30,'二楼','风扇',2);insert into room(rono,rocla
21、ss, rodayprice,rohalfprice,rohourprice,rofloot,rointroduce ,ronumber ) values('301','单间',200,100,10,'三楼','无',3);-2select * from roominsert into vip values(1,0,'特等');insert into vip values(2,1,'无');insert into vip values(3,0,'中等');select * from
22、customsinsert into customs(cuno,cuname,cusex,cutype,cucardno,cuphone,cuaddress,cuflat,cuvipno) values('1','张三','男','身份证','030510923434','#39;,'福州',1,'1');insert into customs(cuno,cuname,cusex,cutype,cucardno,cuphone,cuaddress,cu
23、flat,cuvipno) values('2','李四','男','身份证','030510923435','#39;,'福州',0,null);-3insert into operator values('00001','小红','123456','2000-05-08 ','财务');insert into operator values('00002','小
24、白','234567','1992-10-01 ','前台');insert into operator values('00003','小黄','345678','2010-10-01 ','前台');-4insert into goods values('饮料','可乐',4,1); -5drop table szhistorytableinsert into szhistorytable values('101
25、39;,'1','张三','600','200','789','2010-11-11','2010-11-11','00001');-7insert into bookroom(rono,cuno,cuname,rolevel,brplan,brdeposit, brplanentertime ,brleavetime ,brplanpersons ,broper_date,opno ) values('101','1','张s
26、i','500','200','200','2010/10/1','2010/10/10',2,getdate(),'00001');-8insert into enterroom(rono,cuno,cuname,rolevel,brplan,brdeposit,ergoflat ,erentertime ,erleavetime,erpersons ,ermoney ,erpaymoney ,eroper_date,opno ) values('101','1
27、39;,'张','500','200','200',1,getdate(),'2010/10/10',2,'300',0,getdate(),'00001');insert into enterroom(rono,cuno,cuname,rolevel,brplan,brdeposit,ergoflat ,erentertime ,erleavetime,erpersons ,ermoney ,erpaymoney ,eroper_date,opno ) values('20
28、1','2','dfs','500','200','200',1,getdate(),'2010/10/10',2,'300',0,getdate(),'00001');存储过程-存储过程触发器-预订转入住时候使用 create procedure brproc (rono varchar(8) -客房号-cuno char(8) ,-cuname varchar(8)as update room set roflat ='预订' where
29、rono=rono create procedure erproc (rono varchar(8) -客房号-cuno char(8) ,-cuname varchar(8)as update roon set roflat ='入住' where rono=rono -退房create procedure tfproc (rono varchar(8) -客房号)as update roon set roflat ='打扫' where rono=rono -换房create procedure hfproc (rono varchar(8) -客房号)as
30、 update room set roflat ='打扫' where rono=rono -续费alter procedure 续费xfproc (rono varchar(8),num int )as update enterroom set brplan=brplan+num where rono= rono create procedure 退房xfproc (rono varchar(8),cuno char(8) )as delete from enterroom where rono= rono and cuno= cuno create procedure 退房
31、yudingxfproc (rono varchar(8),cuno char(8) )as delete from bookroom where rono= rono and cuno= cuno - 换房create proc 换房hfproc(rono1 varchar (8),rono2 varchar (8),rolevel varchar(20)as update enterroom set rono =rono2,rolevel=rolevel where rono = rono1 积分增加create procedure cuflatproc (cuno char(8) )as
32、 declare num int select num=spnumber from spend where cuno=cuno update vip set viprewards= viprewards+10*num where cuvipno = (select cuvipno from customs where cuno=cuno );用户密码登陆alter proc 密码登陆(opno char(8),oppass char(10),flag int output)as if exists(select * from operator where opno=opno) if exist
33、s(select * from operator where oppass=oppass) set flag=1 else set flag=0elseset flag=-1declare flag int exec 密码登陆'00001','123456',flag outputselect flag-用户密码修改create table operator(opno varchar(20) primary key , -员工号opname char(8), -员工姓名oppass char(10) , -密码opdate smalldatetime , -加入
34、时间opdepartment varchar(30) -部门 youkeneng wei shangban)alter proc 密码修改(opno char(8),oldpass char(10),newpass char(10),newpass2 char(10),flag int output)as if exists(select * from operator where opno=opno ) if exists(select * from operator where oppass=oldpass) begin if newpass=newpass2 begin update o
35、perator set oppass=newpass where opno=opno and oppass=oldpass set flag=1 end end else set flag=0 elseset flag=-1-添加进入所有支出create procedure 所有支出(rono varchar(8) ,-客房号cuno char(8) ,cuname varchar(8),szneed money, -应收费用szfactfee money, -实收金额brdeposit money, erentertime datetime, -押金brdeposit szoper_date
36、 datetime, -操作日期cuoper_dateopno varchar(20) )as insert into szhistorytablevalues( rono ,cuno,cuname,szneed,szfactfee , brdeposit ,erentertime , szoper_date, opno ) ;-房屋数目-空房create procedure kfs(num int output)as select num=count(*) from room where roflat = '空房' declare num as int exec kfs nu
37、m outputprint num -入住create procedure rzs(num int output)as select num=count(*) from room where roflat = '入住' declare num as int exec rzs num outputprint num - 维修create procedure wxs(num int output)as select num=count(*) from room where roflat = '维修' declare num as int exec wxs num o
38、utputprint num -打扫create procedure dss(num int output)as select num=count(*) from room where roflat = '打扫' declare num as int exec dss num outputprint num -全部create procedure qbs(num int output)as select num=count(*) from room ; declare num as int exec qbs num outputprint num -查看原有金额create p
39、rocedure cxbrplan (rono varchar(8) ,-客房号cuno char(8) ,cuname varchar(8)as declare num moneyselect num=brplanfrom enterroomwhere rono= rono and cuno= cuno and cuname=cunamereturn num-资金清算alter proc 资金清算( rono varchar(8), cuno char(8) , flag int output )as begin declare total int declare daycount int
40、declare cost int select cost=sum(spnumber*goprice) from spend where cuno=cuno select daycount =datediff(dd,erentertime,getdate() from szhistorytable where rono=rono and cuno=cuno select total =0select total=daycount*(isnull(rolevel,0) from enterroom where rono=rono and cuno=cuno select total=total+s
41、zneed-szfactfee from szhistorytable where rono=rono and cuno=cuno select total= total+cost from spend where rono=rono and cuno=cuno set flag=total enddeclare flag int exec 资金清算 '101' ,'1',flag outputselect flag-触发器-预订转入住时候使用 create trigger dftrion bookroomfor insertas begin declare r
42、ono varchar(8) select rono=rono from inserted update room set roflat ='预订' where rono=rono end-入住create trigger rztrion enterroomfor insert, updateas begin declare rono varchar(8) select rono=rono from inserted update room set roflat ='入住' where rono=rono end-退房换房create trigger tftrion enterroomfor delete, updateas begin declare rono varchar(8) select rono=rono
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论