【數(shù)據(jù)庫大作業(yè)--酒店服務(wù)管理系統(tǒng)】
前言
在學(xué)習(xí)《數(shù)據(jù)庫系統(tǒng)原理教程》等相關(guān)課程時,期末的結(jié)課作業(yè)往往是設(shè)計一個數(shù)據(jù)庫系統(tǒng)。設(shè)計開發(fā)過程中,大多數(shù)只是注重需求分析、概念結(jié)構(gòu)設(shè)計、邏輯結(jié)構(gòu)設(shè)計、數(shù)據(jù)庫實施、運行測試等主要環(huán)節(jié)。本篇博客即為本人的結(jié)課作業(yè),本人才疏學(xué)淺,文章中如有錯誤之處,還請大家多多指正。
一、需求分析
隨著市場經(jīng)濟的發(fā)展,消費者消費意識的提高,酒店行業(yè)的競爭越來越激烈。為了提高辦事效率,增加、保證酒店的銷售額,樹立酒店的良好形象,運用科學(xué)的管理方法非常必要。為此開發(fā)了酒店服務(wù)管理系統(tǒng),更好的滿足各方面的需求,通過對各個房間的酒水、訂房退房等需求的記錄信息,可以進行數(shù)據(jù)挖掘和數(shù)據(jù)分析,掌握客戶的喜好與需求,為酒店收入和營銷提供更好的服務(wù)。
目標(biāo)與需求分析:
(1)對于客戶來說:
①網(wǎng)上預(yù)約(填寫姓名、房間類型、電話號碼以及預(yù)計到店的時間);
②到店登記入?。ㄐ彰?、房間類型、電話號碼、性別、身份證號碼、房間號);
③基于網(wǎng)上預(yù)約的客戶可以實現(xiàn)到店查詢并且補全信息之后分配相應(yīng)房間號;
④退房。
(2)對于前臺人員
①實現(xiàn)客戶到店登記信息入住,將信息存入入住信息表中;
②實現(xiàn)客戶sab的預(yù)約功能,提前記錄到預(yù)約表中,客戶到店之后將客戶信息存入入住表,同時刪除預(yù)約表中的信息;
③客戶退房時,將客戶從入住信息表中移除;
④根據(jù)生成的用戶結(jié)賬報表收取額外支付金錢,并且記錄收入;
⑤查看客戶簡略信息。
(5)對于管理人員
①實現(xiàn)房間增添以及房間信息、房價的更改;
②賬單查詢;
③查詢客戶詳細信息(根據(jù)姓名、電話、身份證號、房間號);
④查詢員工信息;
⑤修改員工信息。
二、數(shù)據(jù)庫設(shè)計
1.需求分析
①辦理入?。呵芭_人員錄入客戶的姓名、性別、身份證號、聯(lián)系電話、預(yù)約狀態(tài)、入住時間、房間號等信息。
②登記、預(yù)約操作:錄入客戶的姓名、聯(lián)系電話、需要的房間類型、預(yù)計到店時間;對于預(yù)約之后到店登記,還需記錄身份證號和實際入住時間。
③退房操作:輸入客戶的房間號、退房時間,返回計算出的額外消費和總計消費,通過支付寶或微信掃碼支付,也可直接現(xiàn)金支付。
④客戶信息查詢:普通員工和管理員均可查詢客戶的姓名、性別、身份證號、聯(lián)系電話、預(yù)約狀態(tài)、入住時間、房間號等信息。
⑤員工信息管理:管理員可以查詢所有員工的編號、姓名、性別、職位、工資等信息,并可以對這些信息進行修改操作。
⑥房間信息管理:管理員登陸管理員賬號可查詢房間住房信息、房間狀態(tài),可以進行修改價錢、類型、增減客房等操作。
⑦商品服務(wù)管理:普通員工查詢商品并根據(jù)客戶需求,選擇商品的類型、數(shù)量,對客戶進行服務(wù);管理員不僅可以查詢商品,還可以增減商品,修改商品價格等。
2.概念結(jié)構(gòu)設(shè)計
使用E-R圖來描述概念模型,分E-R圖如下所示:
員工-入住客戶分ER圖:

員工-房間分E-R圖:

額外消費-客戶入住房間號分E-R圖:

額外消費-已入住房間號分E-R圖:

?????商品-價格分E-R圖:

消費分E-R圖:

管理員-房間號分E-R圖:

管理員-收支分E-R圖:

管理員-客戶分E-R圖:

管理員-員工分E-R圖:

將各個分E-R圖消除冗余,合并成合E-R圖:

2.邏輯結(jié)構(gòu)設(shè)計
根據(jù)轉(zhuǎn)換規(guī)則得到十種關(guān)系模式,其中第一個屬性為主碼:
①房間信息(房間號,房間類型,價格,房間狀態(tài)(是否入?。?/p>
②員工信息(工號,姓名,性別,身份證號,電話,職位,薪資,密碼)
③顧客-房間信息(主鍵自增,姓名,電話,房間號,預(yù)約時間)
④入住顧客信息(主鍵自增,姓名,性別,身份證號,電話,入住時間,辦理工號(外鍵),房間號(外鍵))
⑤入住過的顧客信息(主鍵自增,姓名,性別,身份證號,電話,入住時間,入住辦理工號,退房時間,退房辦理工號,房間號)
⑥管理員信息(工號,賬戶,密碼)
⑦入住顧客額外消費(房間號,果汁,毛巾,煙)
⑧入住過顧客的消費信息(房間號,果汁,毛巾,煙)
⑨商品價格信息(主鍵自增,商品名,價格)
⑩入住顧客信息(主鍵自增,房間號,消費日期,總消費)
3.數(shù)據(jù)表設(shè)計





三、應(yīng)用系統(tǒng)設(shè)計
本系統(tǒng)角色分為管理員、普通員工(前臺人員)。通過MVC思想進行分層設(shè)計,總體結(jié)構(gòu)設(shè)計如下圖:

其中,管理員模塊中信息更改包括房屋更改和商品更改兩個模塊,兩個模塊下分別又下設(shè)四個模塊,為針對房屋和商品的增刪改查。管理員模塊中員工管理包括增加員工信息、刪除員工信息、改變員工信息、查詢員工信息四個模塊。普通員工模塊中登記入住又分為預(yù)約登記和到店登記兩個模塊。
四、安裝使用說明
1.環(huán)境部署
方式一:
第一步:正確安裝MySQl,版本號>=5.7.0。
第二步:正確安裝Python,版本號>=3.6.0。
第三步:正確安裝PyCharm,并連接python。
第四步:使用MySQL打開‘?dāng)?shù)據(jù)庫文件’文件夾下MySQL文件,使用PyCharm打開Hotel_Management_System項目。
第五步:安裝tkinter,pymysql功能包。
第六步:運行酒店服務(wù)管理系統(tǒng).py文件。
第七步:登錄賬號。其中,管理員用戶賬號:111 密碼:1 普通用戶賬號:001或002或003 密碼:123456
方式二:
第一步:第一步:正確安裝MySQl,版本號>=5.7.0。
第二步:使用MySQL打開‘?dāng)?shù)據(jù)庫文件’文件夾下MySQL文件。
第三步:運行‘dist\酒店服務(wù)管理系統(tǒng)’目錄下‘酒店服務(wù)管理系統(tǒng).exe’
第四步:登陸賬號:其中,管理員用戶賬號:111 密碼:1 普通用戶賬號:001或002或003 密碼:123456
2.文件解析
①Hotel_Management_System文件夾:
datebase_control.py:對數(shù)據(jù)庫進行操作的文件
windows_control.py:界面進行布局的文件
酒店服務(wù)管理系統(tǒng).py:主函數(shù)
test.py:代碼測試文件
build:打包過程中的緩存文件
dist:存放的打包結(jié)果
酒店服務(wù)管理系統(tǒng).spec:封裝參數(shù)配置文件
hotel.png:登錄界面背景圖
icon.ico:可執(zhí)行文件的logo
②數(shù)據(jù)庫文件夾:
MySQL.sql:建立數(shù)據(jù)庫的文件
③說明書文件夾:
安裝使用說明書.word:安裝使用說明書
④課程報告文件夾:
課程報告.word:課程報告
3.實現(xiàn)效果
登陸界面:

管理員:







總結(jié)
以上為建立酒店服務(wù)管理系統(tǒng)的內(nèi)容
