sqldelphi數(shù)據(jù)庫(kù)課程設(shè)計(jì)報(bào)告酒店管理系統(tǒng)_第1頁(yè)
sqldelphi數(shù)據(jù)庫(kù)課程設(shè)計(jì)報(bào)告酒店管理系統(tǒng)_第2頁(yè)
sqldelphi數(shù)據(jù)庫(kù)課程設(shè)計(jì)報(bào)告酒店管理系統(tǒng)_第3頁(yè)
sqldelphi數(shù)據(jù)庫(kù)課程設(shè)計(jì)報(bào)告酒店管理系統(tǒng)_第4頁(yè)
sqldelphi數(shù)據(jù)庫(kù)課程設(shè)計(jì)報(bào)告酒店管理系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩24頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、課程設(shè)計(jì)課 程: 數(shù)據(jù)庫(kù) 題 目: 酒店客房管理系統(tǒng) 專 業(yè): 信息管理與信息系統(tǒng) 班 級(jí): 座 號(hào): 姓 名: 2011年 3 月 5 日一、系統(tǒng)定義酒店客房管理系統(tǒng)是為了在正常運(yùn)營(yíng)中需要對(duì)客房資源、客人信息、消費(fèi)信息、結(jié)算信息等進(jìn)行管理,利用酒店客房管理信息系統(tǒng)對(duì)客房的各個(gè)操作進(jìn)行管理,能夠及時(shí)了解各個(gè)環(huán)節(jié)中信息的變更,有利于提高管理的效率。本項(xiàng)目要設(shè)計(jì)和實(shí)現(xiàn)一個(gè)能對(duì)酒店客房租住信息,客人信息,預(yù)訂信息,消費(fèi)信息、結(jié)算信息的管理,實(shí)現(xiàn)前臺(tái)操作流程較方便,清晰,高效的信息管理系統(tǒng)二、需求分析現(xiàn)在我國(guó)的中小型賓館客房管理水平還停留在紙介質(zhì)的基礎(chǔ)上,這樣的機(jī)制已不能適應(yīng)時(shí)代的發(fā)展,因?yàn)樗速M(fèi)了許

2、多人力和物力,在信息時(shí)代這種傳統(tǒng)的管理方法必然被計(jì)算機(jī)為基礎(chǔ)的信息管理所取代。而購(gòu)買大型通用賓館客房管理系統(tǒng),對(duì)小型賓館來說,又要付出昂貴的代價(jià),而且管理項(xiàng)目不一定完全符合小型賓館客房管理的要求。因此根據(jù)企業(yè)目前實(shí)際的賓館客房管理情況開發(fā)一套賓館客房管理系統(tǒng)是十分必要的。本系統(tǒng)主要具備以下五大功能: 前臺(tái)操作、預(yù)定管理、財(cái)務(wù)管理、統(tǒng)計(jì)查詢、管理設(shè)置(1) 前臺(tái)操作:開房、顧客信息管理、續(xù)費(fèi)、換房、結(jié)賬退房、客房狀態(tài)、商品消費(fèi)、留言板、留言板查看(2) 預(yù)定管理: 預(yù)訂、確認(rèn)入住、預(yù)訂信息修改、解除預(yù)訂(3) 財(cái)務(wù)管理:所有收支、客戶退房清算、交接班、賬面金額、(4) 管理設(shè)置: 客房信息設(shè)置、

3、財(cái)務(wù)管理、商品信息設(shè)置、操作人員信息(5) 統(tǒng)計(jì)查詢: 客房狀態(tài)分類查看、入住統(tǒng)計(jì)邏輯模型:數(shù)據(jù)流程圖s2前臺(tái)客房預(yù)訂系統(tǒng)pf1預(yù)定單s1旅客lv( 1)( 2)客房目錄d1符合顧客條件的訂單p2s1旅客lvf2匯總訂單待發(fā)出訂單d3發(fā)送訂單p3訂單處理p2客房目錄d1訂單檢查p1f3不合格預(yù)訂單f1預(yù)訂單( 3)d1客房目錄s2前臺(tái)lvf2匯總訂單發(fā)放訂單p3d3 待發(fā)出預(yù)訂單普通處理p2.4特殊處理p2.3d8 普通訂單d7 vip訂單d6 旅客情況訂單分類p2.2d5 所??头繑?shù)數(shù)目統(tǒng)計(jì)p2.1d2 符合條件訂單d1 客房目錄訂單檢查p1f3不合格預(yù)訂單f1預(yù)訂單s1旅客lv客房預(yù)訂系統(tǒng)

4、關(guān)聯(lián)圖客房預(yù)訂系統(tǒng)頂層圖客房預(yù)訂系統(tǒng)二層圖三、系統(tǒng)設(shè)計(jì)1、概念結(jié)構(gòu)設(shè)計(jì)這一設(shè)計(jì)階段是在需求分析的基礎(chǔ)上,設(shè)計(jì)出能滿足用戶需求的各種實(shí)體,以及它們之間的關(guān)系,為后面的邏輯結(jié)構(gòu)設(shè)計(jì)打下基礎(chǔ)。根據(jù)上面的設(shè)計(jì)規(guī)劃出的實(shí)體有客房實(shí)體,客人實(shí)體,預(yù)訂信息、入住信息、賬單信息等實(shí)體??头啃畔?客房信息客房號(hào)可住人數(shù)客房等級(jí) 房間狀態(tài)價(jià)格客房概況樓層 客人信息客人信息顧客編號(hào)顧客姓名證件類型證件號(hào)聯(lián)系電話通訊地址性別是否為會(huì)員 預(yù)定房間客房號(hào)顧客編號(hào)預(yù)定預(yù)入住日期預(yù)離店日期預(yù)存費(fèi)用1n押金客人入住客房號(hào)顧客編號(hào)入住是否結(jié)賬入住時(shí)間押 金1n預(yù)存費(fèi)用預(yù)離店時(shí)間轉(zhuǎn)房 客房號(hào)顧客編號(hào)轉(zhuǎn) 房1n退房 客房號(hào)顧客編號(hào)退

5、 房結(jié)算費(fèi)用1n入住日期退房日期2、邏輯結(jié)構(gòu)設(shè)計(jì)1 客房信息表(客房號(hào),狀態(tài)標(biāo)記,客房等級(jí)roclass(豪華、標(biāo)準(zhǔn)、單間),全日房?jī)r(jià)格,半天房,鐘點(diǎn),樓層,客房概況,可住人數(shù))2顧客信息表vip表 (積分,會(huì)員等級(jí),會(huì)員號(hào))顧客基本信息表(顧客編號(hào),表單自動(dòng)編號(hào),顧客姓名,性別,證件類型,證件號(hào),聯(lián)系電話,通訊地址,是否為會(huì)員,會(huì)員號(hào))3操作人員表(員工號(hào),員工姓名,密碼,加入時(shí)間,部門)4 商品消費(fèi)設(shè)置(商品信息表goods:商品名、類別、單價(jià),是否參與積分)顧客消費(fèi)明細(xì)單(客房號(hào) , 顧客編號(hào),消費(fèi)商品數(shù)目, 商品名,類別 ,單價(jià),是否參與積分,操作日期,操作人員號(hào))5留言板表(自動(dòng)編號(hào)

6、,留言人呢稱,留言標(biāo)題,留言文本內(nèi)容,留言時(shí)間)6交班表 (操作人員號(hào),操作人員,操作日期)7預(yù)訂表(自動(dòng)編號(hào),客房號(hào) , 顧客編號(hào), 顧客姓名,客房類型,預(yù)存費(fèi)用brplan,押金,預(yù)訂入住時(shí)間,離店時(shí)間,預(yù)計(jì)入住人數(shù),操作日期,員工號(hào))8入住表 (自動(dòng)編號(hào), 客房號(hào) , 顧客編號(hào), 顧客姓名,客房類型,預(yù)存費(fèi)用,押金 ,是否消費(fèi)商品,入住時(shí)間,預(yù)離店時(shí)間,入住人數(shù),結(jié)賬費(fèi)用結(jié)賬時(shí)交的費(fèi)用 ,是否結(jié)賬,操作日期,員工號(hào))9 資金清算表 (客房號(hào) , 顧客編號(hào), 顧客姓名,客人名稱,押金 ,應(yīng)收費(fèi)用 , 是否消費(fèi)商品,實(shí)收金額,入住時(shí)間,結(jié)賬日期,操作日期,操作人員號(hào))3、系統(tǒng)功能模塊圖 4、

7、其它設(shè)計(jì)圖形工具microsoft office visio 2003四、詳細(xì)設(shè)計(jì)表格建立: create database newhotel-1 客房信息表create table room-客房信息表(rono varchar(8) primary key ,-客房號(hào)roflat char(4) default '空房' ,-狀態(tài)標(biāo)記roclass varchar(20)not null,-客房等級(jí)roclass(豪華、標(biāo)準(zhǔn)、單間)rodayprice money,-全日房?jī)r(jià)格rohalfprice money,-半天房rohourprice money,-鐘點(diǎn)rofloo

8、t char(4) not null,-樓層rointroduce varchar(100),-客房概況ronumber char(4)not null,-可住人數(shù))-2 顧客信息表create table vip(cuvipno int primary key, viprewards int default '0',-積分viprewards,vipclass char(8)-會(huì)員等級(jí)vipclass)create table customs(cuno char(8) , - primary key ,cunum int identity(1,1) , -自動(dòng)編號(hào), -顧客編

9、號(hào),-觸發(fā)器 回滾 -利用存儲(chǔ)過程實(shí)現(xiàn)cuname varchar(8),-顧客姓名cusex char(4),-性別cutype char(8) not null,-證件類型cucardno char(20) unique not null ,-證件號(hào)cuphone varchar(20)not null,-聯(lián)系電話cuaddress varchar(40),-通訊地址cuflat bit not null,-是否為會(huì)員cuvipno char(8) default null)-3操作人員表create table operator(opno varchar(20) primary key

10、, -員工號(hào)opname char(8), -員工姓名oppass char(10) , -密碼opdate smalldatetime , -加入時(shí)間opdepartment varchar(30) -部門)-4 商品消費(fèi)設(shè)置(商品信息表goods:商品名、類別、單價(jià),是否參與積分、檢索碼)create table goods(gotype char(10) , - 類別goname varchar(20), - 商品名goprice money, -單價(jià)gojifen bit, -是否參與積分)- 顧客消費(fèi)明細(xì)單create table spend (rono varchar(8), -客

11、房號(hào) chanzhao cuno char(8) ,spnumber int, -消費(fèi)商品數(shù)目goname varchar(20), - 商品名gotype char(10), -類別 chaozhao goprice money, -單價(jià)gojifen bit, -是否參與積分spoper_date datetime, -操作日期cuoper_dateopno varchar(20),-操作人員號(hào)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) , -自動(dòng)編號(hào)messageowner char(10), -留言人呢稱messagetitle char(20), -留言標(biāo)題messagetext char(100), -留言文本內(nèi)容messagetime datetime -留言時(shí)間)-6交班表create table exchange(opno1 varchar(20),-操作人員號(hào)cuopertoropno2 varchar(20),-操作人員

13、號(hào)cuopertorexoper_date datetime, -操作日期cuoper_dateforeign key(opno1 ) references operator(opno ),foreign key(opno2 ) references operator(opno )-7預(yù)訂表create table bookroom (brplanno int identity(1,1) ,-自動(dòng)編號(hào)rono varchar(8), -客房號(hào) cuno char(8) , cuname char(8),rolevel varchar(20),-客房類型rolevel (全日房?jī)r(jià)格rodaypr

14、ice、半天房?jī)r(jià)格brplan money,-預(yù)存費(fèi)用brplan、brdeposit money,-押金brdeposit brplanentertime datetime,-預(yù)訂入住時(shí)間brleavetime datetime, -離店時(shí)間brplanpersons int,-預(yù)計(jì)入住人數(shù)broper_date datetime, -操作日期rooper_dateopno varchar(20) , -員工號(hào)chanzhaoforeign key(rono) references room(rono)drop table bookroom-8入住表create table enterroo

15、m(erenterno int identity(1,1), -自動(dòng)編號(hào)rono varchar(8), cuno char(8) , cuname char(8),rolevel varchar(20),-客房類型rolevel (全日房?jī)r(jià)格半天房?jī)r(jià)格brplan money,-預(yù)存費(fèi)用brplan、brdeposit money,-押金brdeposit ergoflat bit , -是否消費(fèi)商品erentertime datetime, -入住時(shí)間erleavetime datetime, -預(yù)離店時(shí)間erpersons int,-入住人數(shù)ermoney money,-結(jié)賬費(fèi)用結(jié)賬時(shí)交

16、的費(fèi)用 erpaymoney bit,-是否結(jié)賬eroper_date datetime, -操作日期rooper_dateopno varchar(20) , -員工號(hào) canzhaoforeign key(rono) references room(rono),foreign key(opno) references operator(opno)9所有收支信息表create table szhistorytable (rono varchar(8), -客房號(hào) chanzhao cuno char(8) , cuname varchar(8), -顧客姓名chanzhaoszneed mo

17、ney, -應(yīng)收費(fèi)用szfactfee money, -實(shí)收金額brdeposit money, -押金brdeposit erentertime datetime, -入住時(shí)間szoper_date datetime, -操作日期cuoper_dateopno varchar(20) , -操作人員號(hào)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), -客房號(hào)cuno char(8) ,cuname varchar(8), -客人名稱brdeposit money, -押金brdeposit szneed money, -應(yīng)收費(fèi)用 是否消費(fèi)商品zjfactfee money, -實(shí)收金額erentertime datetime, -入住時(shí)間cuaccountday datetime, -結(jié)賬日期zjoper_date datetime, -操作日期cuoper_dateopno v

19、archar(20),-操作人員號(hào)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','一樓','空調(diào)',1);insert into room(rono,roclass, rodayprice,rohalfprice,rohourprice,rofloot,rointroduce ,ronumber ) values('201','標(biāo)準(zhǔn)',300,150,30,'二樓','風(fēng)扇',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 ','財(cái)務(wù)');insert into operator values('00002','小

24、白','234567','1992-10-01 ','前臺(tái)');insert into operator values('00003','小黃','345678','2010-10-01 ','前臺(tái)');-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');存儲(chǔ)過程-存儲(chǔ)過程觸發(fā)器-預(yù)訂轉(zhuǎn)入住時(shí)候使用 create procedure brproc (rono varchar(8) -客房號(hào)-cuno char(8) ,-cuname varchar(8)as update room set roflat ='預(yù)訂' where

29、rono=rono create procedure erproc (rono varchar(8) -客房號(hào)-cuno char(8) ,-cuname varchar(8)as update roon set roflat ='入住' where rono=rono -退房create procedure tfproc (rono varchar(8) -客房號(hào))as update roon set roflat ='打掃' where rono=rono -換房create procedure hfproc (rono varchar(8) -客房號(hào))as

30、 update room set roflat ='打掃' where rono=rono -續(xù)費(fèi)alter procedure 續(xù)費(fèi)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 , -員工號(hào)opname char(8), -員工姓名oppass char(10) , -密碼opdate smalldatetime , -加入

34、時(shí)間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-添加進(jìn)入所有支出create procedure 所有支出(rono varchar(8) ,-客房號(hào)cuno char(8) ,cuname varchar(8),szneed money, -應(yīng)收費(fèi)用szfactfee money, -實(shí)收金額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 ) ;-房屋數(shù)目-空房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) ,-客房號(hào)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-觸發(fā)器-預(yù)訂轉(zhuǎn)入住時(shí)候使用 create trigger dftrion bookroomfor insertas begin declare r

42、ono varchar(8) select rono=rono from inserted update room set roflat ='預(yù)訂' 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等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論