幾個(gè)月之前寫(xiě)的一個(gè)項(xiàng)目,通過(guò)這個(gè)項(xiàng)目,你能學(xué)到關(guān)于數(shù)據(jù)庫(kù)的觸發(fā)器知識(shí),python的基本語(yǔ)法,python一些第三方庫(kù)的使用,包括python如何將前后端連接起來(lái)(界面和數(shù)據(jù)),還有界面的設(shè)計(jì)等等。希望大家能從項(xiàng)目中學(xué)到東西。
一,項(xiàng)目背景
1,實(shí)驗(yàn)設(shè)計(jì)簡(jiǎn)述
賓館管理系統(tǒng)通過(guò)提供顧客和員工信息之間的關(guān)系建立該系統(tǒng),其中包括員工管理功能,出租管理功能,客戶管理功能,訂單管理功能,報(bào)表和維護(hù)功能,登錄功能。該系統(tǒng)可以通過(guò)客戶信息的查找?快速找到該客戶的房間信息。還包括對(duì)客戶信息的增加、刪除、修改、查詢等以及員工信息的增加、刪除、修改、查詢
(1)賓館有員工,員工員工信息查看,查看訂單權(quán)限,查看房號(hào),房型。
(2)賓館有各種標(biāo)準(zhǔn)的房間。房間數(shù)據(jù)包括房間號(hào)、房間級(jí)別、房間價(jià)位及房間的狀態(tài)(是否已經(jīng)有客人)。房間號(hào)唯一表示一個(gè)房間,房間級(jí)別決定房間價(jià)位。房間有多種級(jí)別,分別為單人間、標(biāo)準(zhǔn)間、豪華間、商務(wù)間、行政間。房間狀態(tài)表示此房間是否可以預(yù)定、入住或者轉(zhuǎn)房。
基本功能實(shí)現(xiàn):
(1)房間管理。
(2)客人預(yù)定、退訂客房管理。
(3)客人入住、店內(nèi)消費(fèi)管理。
(4)結(jié)算管理。
(5)實(shí)現(xiàn)分類查詢。
(6)輸出相應(yīng)的數(shù)據(jù)報(bào)
描述每個(gè)業(yè)務(wù)的主要功能。
1、房間管理:存儲(chǔ)房間信息數(shù)據(jù),房間號(hào),客戶可以查看房型(單人間,標(biāo)準(zhǔn)間,豪華間、商務(wù)間、行政間),房間價(jià)位,房間狀態(tài)(有無(wú)客人,無(wú)客人:房間可以預(yù)定,房間可以轉(zhuǎn)入。有客人:客人能退房,轉(zhuǎn)房),房間對(duì)應(yīng)樓層。
2、客戶管理:客戶分為個(gè)人預(yù)約客戶和團(tuán)隊(duì)預(yù)約客戶(預(yù)約時(shí)間,預(yù)約客戶號(hào)),個(gè)人入住客戶和團(tuán)隊(duì)入住客戶(入住時(shí)間,入住客戶號(hào)),還有換房功能。
3、員工管理:可以添加員工(姓名,性別,員工號(hào),職位,入職時(shí)間),刪除員工,修改員工,查詢員工信息??梢圆榭此杏唵危瑢?duì)房間進(jìn)行增刪改查操作(房間號(hào),房型,價(jià)格)。
4、報(bào)表和維護(hù):數(shù)據(jù)備份(導(dǎo)出數(shù)據(jù),導(dǎo)入數(shù)據(jù),導(dǎo)出數(shù)據(jù)表到表格),報(bào)表。
5、訂單管理功能:訂單記錄報(bào)表,客戶入住的房型(圖片說(shuō)明),支付金額,入住的客戶信息(客戶號(hào),入住時(shí)間,退房時(shí)間)
6、登陸功能:登陸(員工(賬號(hào)密碼)登陸/客戶(賬號(hào)密碼)登陸)密碼找回功能,修改密碼功能。
2,根據(jù)功能分析和列舉涉及的數(shù)據(jù)項(xiàng)。
- booking_client個(gè)人預(yù)定表:(cid客戶號(hào),rid房間號(hào),star_time入住時(shí)間,end_time退房時(shí)間,booking_time預(yù)定時(shí)間,remark備注)
- booking_team團(tuán)隊(duì)預(yù)定表:(tid團(tuán)隊(duì)號(hào),rid房間號(hào),star_time入住時(shí)間,end_time退房時(shí)間,booking_time預(yù)定時(shí)間,remark備注)
- checking_clint個(gè)人入住表:(rid房間號(hào),cid客戶號(hào),star_time入住時(shí)間,end_time退房時(shí)間,total_price總價(jià)格,check_in_sid辦理入住的員工編號(hào),remark備注)
- checking_team團(tuán)隊(duì)入住表:(rid房間號(hào),tid團(tuán)隊(duì)好,star_time入住時(shí)間,end_time退房時(shí)間,total_price總價(jià)格,check_in_sid辦理入住的員工編號(hào),remark備注)
- client客戶表:(cname姓名,cid客戶號(hào),cphone電話號(hào)碼,cage年齡,csex性別,register_sid注冊(cè)員工號(hào),accomodation_times入住次數(shù),register_time注冊(cè)時(shí)間)
- hotel order訂單表:(id用戶標(biāo)識(shí),ordertype訂單形式,start_time預(yù)定時(shí)間,rid房間號(hào),pay_type支付方式,money支付價(jià)格,remark備注,order_time訂單時(shí)間,register_sid注冊(cè)員工時(shí)號(hào))
- room房間表:(rid房間號(hào),rtype類型,rstorey樓層,rprice價(jià)格,rdesc房間狀態(tài),rpic房間圖片)
- staff員工表:(sid員工號(hào),sname姓名,ssex性別,stime登記入職時(shí)間,susername賬戶號(hào),spassword密碼,srole權(quán)限,sidcard身份證,sphone手機(jī)號(hào))
9、team團(tuán)隊(duì)表:(tname名稱,tid團(tuán)隊(duì)好,tphone電話號(hào)碼,check_in_sid登陸員工號(hào),accomodation_time入住次數(shù),register_time注冊(cè)時(shí)間)
二,項(xiàng)目具體實(shí)現(xiàn)
????????1、數(shù)據(jù)項(xiàng)的簡(jiǎn)要描述。
1、booking_client客戶個(gè)人預(yù)定表 (
cid varchar(255) NOT NULL
rid varchar(255) NOT NULL
start_time date DEFAULT NULL
end_time date DEFAULT NULL)
2、booking_team團(tuán)隊(duì)預(yù)定表(
tid varchar(255) NOT NULL
rid varchar(255) NOT NULL
start_time date DEFAULT NULL
end_time date DEFAULT NULL
booking_time timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP)
remark varchar(255) DEFAULT NULL
3、checkin_client個(gè)人入住表 (
rid 房間號(hào) varchar(255) NOT NULL
cid客戶號(hào) varchar(255) NOT NULL
start_time入住時(shí)間 date DEFAULT NULL
end_time退房時(shí)間 date DEFAULT NULL
total_price總價(jià)格 varchar(255) DEFAULT NULL
check_in_sid辦理入住的員工編號(hào) varchar(255) DEFAULT NULL
remark備注 varchar(255) DEFAULT NULL)
4、checkin_team團(tuán)隊(duì)入住表(
rid房間號(hào) varchar(255) NOT NULL
tid 客戶號(hào) varchar(255) NOT NULL
start_time入住時(shí)間 date DEFAULT NULL
end_time退房時(shí)間 date DEFAULT NULL
total_price總價(jià)格 varchar(255) DEFAULT NULL,
check_in_sid辦理入住的員工編號(hào) varchar(255) DEFAULT NULL,
remark備注 varchar(255) DEFAULT NULL)
5、 client客戶表 (
cname姓名 varchar(255) NOT NULL
cid客戶號(hào) varchar(255) NOT NULL
cphone電話號(hào) varchar(255) DEFAULT NULL
cage年齡 varchar(255) NOT NULL
csex性別 varchar(255) DEFAULT NULL
register_sid注冊(cè)員工號(hào) varchar(255) DEFAULT NULL
accomodation_times入住次數(shù) int(11) DEFAULT NULL)
register_time注冊(cè)時(shí)間 timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP)
6、hotelorder訂單表 (
id 用戶標(biāo)識(shí) varchar(255) NOT NULL
ordertype訂單形式 varchar(255) NOT NULL
start_time入住時(shí)間 date NOT NULL
end_time退房時(shí)間 date NOT NULL
rid房間號(hào) varchar(255) NOT NULL
pay_type支付方式 varchar(255) DEFAULT NULL
money繳費(fèi) varchar(255) DEFAULT NULL
remarkv備注 varchar(255) DEFAULT NULL
order_time訂單時(shí)間 timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
register_sid注冊(cè)員工編號(hào) varchar(255) DEFAULT NULL)
7、room房間表 (
rid房間號(hào) varchar(255) NOT NULL
rtype房間類型 varchar(255) NOT NULL
rstorey樓層 varchar(255) NOT NULL
rprice價(jià)格 varchar(255) NOT NULL
rdesc房間狀態(tài) varchar(255) DEFAULT NULL
rpic房間圖片 varchar(255) DEFAULT NULL)
8、 staff員工表 (
sid 員工號(hào) varchar(255) NOT NULL
sname 姓名 varchar(255) NOT NULL
ssex性別 varchar(255) DEFAULT NULL
stime入職時(shí)間 date DEFAULT NULL
susername賬號(hào) varchar(255) NOT NULL
spassword 密碼 varchar(255) NOT NULL
srole 權(quán)限 varchar(255) NOT NULL
sidcard 身份證號(hào) varchar(255) NOT NULL
sphone 手機(jī)號(hào)碼 varchar(255) DEFAULT NULL)
9、team 團(tuán)隊(duì)表(
tname名字 varchar(255) NOT NULL
tid團(tuán)隊(duì)號(hào) varchar(255) NOT NULL
tphone電話號(hào)碼 varchar(255) DEFAULT NULL
check_in_sid 登記員工編號(hào) varchar(255) DEFAULT NULL
accomodation_times 入住次數(shù) int(11) DEFAULT NULL
register_time注冊(cè)時(shí)間 timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP)
????????2、安全性分析
數(shù)據(jù)安全是指在數(shù)字信息的整個(gè)生命周期中保護(hù)數(shù)字信息免遭未經(jīng)授權(quán)的訪問(wèn)并抵御損壞、失竊等風(fēng)險(xiǎn),為此,我們?cè)O(shè)置了權(quán)限訪問(wèn),只有輸入正確的賬號(hào)密碼才能查看系統(tǒng)中的相關(guān)信息,非管理員登錄無(wú)法得到系統(tǒng)的信息。此外,我們還可以通過(guò)輸入的賬號(hào)密碼匹配查看相應(yīng)的數(shù)據(jù)報(bào)表和客戶員工個(gè)人信息,或者修改需要變動(dòng)的數(shù)據(jù)。這也使得信息不容易被泄露出去,增加了數(shù)據(jù)的可改性。為防止因管理員想要修改密碼,我們還設(shè)置了在登錄頁(yè)面可修改密碼功能,加強(qiáng)了數(shù)據(jù)的安全性。為了防止人為操作失誤使得原數(shù)據(jù)丟失、軟件BUG造成數(shù)據(jù)丟失以及硬件故障造成數(shù)據(jù)庫(kù)數(shù)據(jù)丟失等問(wèn)題,我們?cè)O(shè)置了數(shù)據(jù)庫(kù)備份,用來(lái)找回丟失的數(shù)據(jù)信息。尤其是客戶的預(yù)訂信息、入住信息以及數(shù)據(jù)報(bào)表的信息,在每添加一名新客戶或新團(tuán)體時(shí),我們的數(shù)據(jù)庫(kù)便會(huì)進(jìn)行更新,這也有利于我們進(jìn)行數(shù)據(jù)核對(duì)。使用數(shù)據(jù)庫(kù)備份也有利于相同數(shù)據(jù)庫(kù)用于新環(huán)境的搭建以及開(kāi)發(fā)測(cè)試環(huán)境數(shù)據(jù)庫(kù)的搭建。圍繞數(shù)據(jù)安全、數(shù)據(jù)備份和其他等角度,描述系統(tǒng)可采取的安全策略和風(fēng)險(xiǎn)控制策
????????3、給出關(guān)系關(guān)系模式,標(biāo)注關(guān)系模式的主碼和外碼。
1、booking_client個(gè)人預(yù)定表:(cid,rid,star_time,end_time,booking_time,remark)
主碼:(cid,rid)
外碼:(cid) REFERENCES client (cid)
??(rid) REFERENCES room (rid)
范式級(jí)別:1NF
2、booking_team團(tuán)隊(duì)預(yù)定表:(tid,rid,star_time,end_time,booking_time,remark)
主碼:(tid,rid)
外碼:(tid) REFERENCES team (tid)
??(rid) REFERENCES room (rid)
????范式級(jí)別:1NF
3、checking_clint個(gè)人入住表:(rid,cid,star_time,end_time,total_price,check_in_sid,remark)
主碼:(rid,cid)
外碼: (rid) REFERENCES ?room (rid)
?(cid) REFERENCES client (cid)
?(check_in_sid) REFERENCES staff (sid)
范式級(jí)別:1NF
4、checking_team團(tuán)隊(duì)入住表:(rid,tid,star_time,end_time,total_price,check_in_sid,remark)
主碼:(rid,tid)
外碼:(rid) REFERENCES room (rid)
?(check_in_sid) REFERENCES staff (sid)
??(tid) REFERENCES team (tid)
范式級(jí)別:1NF
5、clien客戶表:(cname,cid,cphone,cage,csex,register_sid,accomodation_times入,register_time)
主碼:(cid)
外碼:(register_sid) REFERENCES staff(sid)
范式級(jí)別:3NF
6、hotelorder訂單表:(id,ordertype,start_time,rid,pay_type,money,remark,order_time,register_sid)
主碼:(id,start_time,end_time,rid,ordertype)
外碼:(rid) REFERENCES room(rid)
范式級(jí)別:1NF
7、room房間表:(rid,rtype,rstorey,rprice,rdesc,rpic)
主碼:(rid)
外碼:無(wú)
范式級(jí)別:BCNF
8、staff員工表:(sid,sname,ssex,stime,susername,spassword,srole,sidcard,sphone)
主碼:(sid)
外碼:無(wú)
范式級(jí)別:BCNF
9、team團(tuán)隊(duì)表:(tname,tid,tphone,check_in_sid,accomodation_time,register_time)
主碼:(tid)
外碼:(check_in_sid) REFERENCES staff (sid)
范式級(jí)別:3NF
????????4,全局ER圖
????????5,數(shù)據(jù)安全性
?數(shù)據(jù)安全是指在數(shù)字信息的整個(gè)生命周期中保護(hù)數(shù)字信息免遭未經(jīng)授權(quán)的訪問(wèn)并抵御損壞、失竊等風(fēng)險(xiǎn),為此,我們?cè)O(shè)置了權(quán)限訪問(wèn),只有輸入正確的賬號(hào)密碼才能查看系統(tǒng)中的相關(guān)信息,非管理員登錄無(wú)法得到系統(tǒng)的信息。此外,我們還可以通過(guò)輸入的賬號(hào)密碼匹配查看相應(yīng)的數(shù)據(jù)報(bào)表和客戶員工個(gè)人信息,或者修改需要變動(dòng)的數(shù)據(jù)。這也使得信息不容易被泄露出去,增加了數(shù)據(jù)的可改性。若用戶想要修改密碼,我們還設(shè)置了在登錄頁(yè)面可修改密碼功能,加強(qiáng)了數(shù)據(jù)的安全性。為了防止人為操作失誤使得原數(shù)據(jù)丟失、軟件BUG造成數(shù)據(jù)丟失以及硬件故障造成數(shù)據(jù)庫(kù)數(shù)據(jù)丟失等問(wèn)題,我們?cè)O(shè)置了數(shù)據(jù)庫(kù)備份,用來(lái)找回丟失的數(shù)據(jù)信息。尤其是客戶的預(yù)訂信息、入住信息以及數(shù)據(jù)報(bào)表的信息,在每添加一名新客戶或新團(tuán)體時(shí),我們的數(shù)據(jù)庫(kù)便會(huì)進(jìn)行更新,這也有利于我們進(jìn)行數(shù)據(jù)核對(duì)。使用數(shù)據(jù)庫(kù)備份也有利于相同數(shù)據(jù)庫(kù)用于新環(huán)境的搭建以及開(kāi)發(fā)測(cè)試環(huán)境數(shù)據(jù)庫(kù)的搭建。
三,數(shù)據(jù)庫(kù)的創(chuàng)建
圖太多了,都放出來(lái)就有點(diǎn)水篇幅了,如果想看,就點(diǎn)贊收藏關(guān)注,然后后臺(tái)私信我就好啦。
?
?四,GUI界面呈現(xiàn)
也是一樣,沒(méi)有將所有界面都展示出來(lái),也只是展示了一部分,如果想看后續(xù),就點(diǎn)贊收藏關(guān)注,然后后臺(tái)私信我就好啦。
1,修改密碼界面
2,查看個(gè)人信息,員工可登錄進(jìn)行查看
3,增加員工并填入員工基本信息
?
4,查詢客房信息
?
?5,查詢報(bào)表:出租率和訂單量,以及客戶和員工的相關(guān)信息
?6,數(shù)據(jù)庫(kù)風(fēng)險(xiǎn)預(yù)防措施:數(shù)據(jù)備份,并在電腦生成該備份文件
?7,賓館管理系統(tǒng)主界面
五,代碼文件
?文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-755544.html
?如果需要源碼,請(qǐng)點(diǎn)贊收藏關(guān)注,然后后臺(tái)私信我就好啦?。?!文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-755544.html
到了這里,關(guān)于數(shù)據(jù)庫(kù)系統(tǒng)課設(shè)——基于python+pyqt5+mysql的酒店管理系統(tǒng)(可直接運(yùn)行)--GUI編程的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!