【正文】
主要實(shí)現(xiàn)了登記功能,預(yù)訂功能,多種方法查詢顧客功能,查看客房狀態(tài)功能,操作人員對(duì)系統(tǒng)的修改功能,以及結(jié)賬報(bào)表功能。一、需求分析(1)具有方便的登記、結(jié)賬功能,以及預(yù)訂客房的功能,能夠支持團(tuán)體登記和團(tuán)體結(jié) 賬。(2)能快速、準(zhǔn)確地了解賓館內(nèi)的客房狀態(tài),以方便管理者決策。(3)提供多種手段查詢客人的信息。(4)具備一定的維護(hù)手段,有一定權(quán)利的操作人員在密碼的支持下才可以更改房?jī)r(jià)、房間類型、增減客房。(5)完善的結(jié)賬報(bào)表系統(tǒng)。二、ER關(guān)系圖三、關(guān)系表 本系統(tǒng)有八個(gè)表,分別是職工信息表(staffinfo)、顧客信息表(custmerinfo)、經(jīng)理信息表(managerinfo)、客房信息表(roominfo)、客房狀態(tài)表(roomstatus)、入住表(checkin)、退房表(checkout)、結(jié)賬訂單表(orderinfo)。1,職工信息表(staffinfo)2,顧客信息表(custmerinfo)3,經(jīng)理信息表(managerinfo)4,客房信息表(roominfo)5,客房狀態(tài)表(roomstatus)6,入住表(checkin)7,退房表(checkout)8,結(jié)賬訂單表(orderinfo)四、范式分析本系統(tǒng)所有的表均為BCNF,職工和經(jīng)理表由各自的工作編號(hào)為主碼,并且可以決定其他所有屬性,顧客表由身份證號(hào)做為主碼,同理,客房的房間號(hào)可以決定其他所有屬性。五、功能分析 1,登記功能本系統(tǒng)采用存儲(chǔ)過程實(shí)現(xiàn)登記功能,顧客前來預(yù)訂客房,由工作人員調(diào)用存儲(chǔ)過程向顧客表中插入該顧客信息,完成登記。create procedure register@身份證號(hào) varchar(20),@姓名 varchar(10),@性別 char(5),@電話 char(15), char(10)asinsert into custmerinfovalues(@身份證號(hào),@姓名,@性別,@電話,@員工編號(hào))@員工編號(hào)2,預(yù)訂功能采用存儲(chǔ)過程實(shí)現(xiàn),由工作人員調(diào)用存儲(chǔ)過程,在入住表中插入相應(yīng)信息,并且設(shè)計(jì)觸發(fā)器,在預(yù)定的同時(shí)在客房狀態(tài)表中修改客房狀態(tài)為“已入住”。create procedure or_dercreate trigger tri_order on checkin for insert,update asdeclare @房間號(hào) char(10)select @房間號(hào)=房間號(hào) from inserted update roomstatus set 狀態(tài)=39。已入住39。 where 房間號(hào)=@房間號(hào) @身份證號(hào) varchar(20),@房間號(hào) char(10),@姓名 varchar(10),@入住時(shí)間 nchar(10)asinsert into checkinvalues(@房間號(hào),@身份證號(hào),@姓名,@入住時(shí)間)預(yù)定的同時(shí)在客房狀態(tài)表里修改狀態(tài)3,修改功能當(dāng)管理人員在密碼的支持下,可以對(duì)數(shù)據(jù)庫系統(tǒng)中房間的價(jià)格、類型、狀態(tài)做適當(dāng)修改。通過存儲(chǔ)過程實(shí)現(xiàn)。create procedure up_date @工作編號(hào) char(10),@密碼 varchar(10),@房間號(hào) char(10),@價(jià)格 smallint as if @密碼=(select 密碼 from managerinfo where 工作編號(hào)=@工作編號(hào))beginend update roominfo set 價(jià)格=@價(jià)格 where 房間號(hào)=@房間號(hào)create procedure up_date2@工作編號(hào) char(10),@密碼 varchar(10),@房間號(hào) char(10),@類型 varchar(10)asif @密碼=(select 密碼 from managerinfo where 工作編號(hào)=@工作編號(hào))beginend update roominfo set 類型=@類型 where 房間號(hào)=@房間號(hào)create procedure up_date3@工作編號(hào) char(10),@密碼 varchar(10),@房間號(hào) char(10)