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