小型餐飲管理系統(tǒng) 數(shù)據(jù)庫設(shè)計報告

上傳人:痛*** 文檔編號:155954489 上傳時間:2022-09-25 格式:DOC 頁數(shù):17 大?。?50KB
收藏 版權(quán)申訴 舉報 下載
小型餐飲管理系統(tǒng) 數(shù)據(jù)庫設(shè)計報告_第1頁
第1頁 / 共17頁
小型餐飲管理系統(tǒng) 數(shù)據(jù)庫設(shè)計報告_第2頁
第2頁 / 共17頁
小型餐飲管理系統(tǒng) 數(shù)據(jù)庫設(shè)計報告_第3頁
第3頁 / 共17頁

下載文檔到電腦,查找使用更方便

10 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《小型餐飲管理系統(tǒng) 數(shù)據(jù)庫設(shè)計報告》由會員分享,可在線閱讀,更多相關(guān)《小型餐飲管理系統(tǒng) 數(shù)據(jù)庫設(shè)計報告(17頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、2022年-2023年建筑工程管理行業(yè)文檔 齊魯斌創(chuàng)作 第一章 設(shè)計任務(wù)與要求 目的及意義: 此小型餐飲業(yè)管理系統(tǒng)的設(shè)計主要是為了方便管理,對于各個進(jìn)出賬目,支出和收入的管理便于系統(tǒng)化,在每月匯總計算中分析運(yùn)營趨勢和餐館的發(fā)展方向進(jìn)行一定的規(guī)劃。通過各個月的盈利進(jìn)行對比,分析那種方式更適合餐館的有利運(yùn)營和更好地服務(wù)顧客。實現(xiàn)對餐館內(nèi)部各種管理的電子化、自動化,提高各個模塊之間的辦公效率,為高質(zhì)量餐館服務(wù)提供保證。 任務(wù): 1.能夠?qū)崿F(xiàn)對該系統(tǒng)進(jìn)行管理的人員的權(quán)限限制; 2.使餐館能夠及時并靈活的對菜品品種其價位等進(jìn)行管理; 3.為餐館提供從客戶點(diǎn)餐到

2、結(jié)算等一系列操作的服務(wù),使之能簡單易行、方便、 清楚地進(jìn)行管理 第二章 系統(tǒng)功能分析 一.功能需求:餐飲管理系統(tǒng)中主要包括對以下幾種管理:賬單管理,財務(wù)管理,訂餐管理,菜品管理,系統(tǒng)管理。 (1)系統(tǒng)管理:系統(tǒng)管理包括用戶名和密碼,主要用于用戶登陸界面登陸和查詢。 (2)賬單管理:賬單管理包括賬單號和餐臺,每一個餐臺對應(yīng)一個一個賬單號,通過餐臺號的記錄來對對應(yīng)的餐臺進(jìn)行記賬管理,即就是記錄每一個餐臺的消費(fèi)金額。賬單管理是財務(wù)管理的一個小分支,是服務(wù)于財務(wù)管理的。 (3)財務(wù)管理:包括賬單號,時間和賬目。賬目用于記錄賬

3、單號的消費(fèi)金額及時間,以便用于結(jié)算和匯總。每日的結(jié)算要通過對每個餐臺號的消費(fèi)金額匯總來記錄,然后由每日的結(jié)算匯總得出每月的結(jié)算。帳務(wù)系統(tǒng)功能的完整性。一旦該系統(tǒng)正式運(yùn)行,餐廳每日營業(yè)帳和全部往來客戶帳務(wù)的操作結(jié)算都將依靠計算機(jī),該系統(tǒng)面對當(dāng)前餐飲業(yè)各種復(fù)雜的結(jié)算要求應(yīng)具有很強(qiáng)的應(yīng)變能力。 (4)訂餐管理:訂餐管理僅包括單價。訂餐管理是便于顧客訂餐和賬單管理時對各個菜品消費(fèi)金額的記錄,這樣便于賬單管理和財務(wù)匯總。

4、

5、 (5)菜品管理:菜品管理包括菜名,菜品類別和菜品品種。菜品管理便于顧客點(diǎn)菜和記錄各個餐臺的消費(fèi)記賬,菜品品種也便于餐館的食材采購。 二. 數(shù)據(jù)需求:賬單管理中賬單號是主鍵,每一個餐臺對應(yīng)一個賬單號。財務(wù)管理中賬單號是主鍵,每一個賬單

6、號都有對應(yīng)的時間和賬目記錄。訂餐管理中單價就是主鍵。菜品管理中菜名是主鍵。系統(tǒng)管理中用戶名是主鍵。 三. 性能需求:該餐飲系統(tǒng)操作簡單方便可適應(yīng)各類中小型餐館。 第三章 系統(tǒng)功能模塊設(shè)計 一. 在該系統(tǒng)功能分析的基礎(chǔ)上,考慮PowerBuilder程序編制的特點(diǎn),得到如下功能模塊圖。 小型餐飲業(yè)管理系統(tǒng) 系統(tǒng)管理 賬單管理 訂餐管理 財務(wù)管理 菜品管理 用戶管理 密碼管理 賬單號管理 餐臺管理 訂單查詢 餐臺點(diǎn)餐管理 每日賬目管理 賬目時間管理 菜名管理 菜品管理 菜價管理 類別管理 圖1 系統(tǒng)功能模塊圖

7、二. 數(shù)據(jù)庫設(shè)計 1. 概念結(jié)構(gòu)設(shè)計 2. 邏輯結(jié)構(gòu)設(shè)計 3. 數(shù)據(jù)庫實施 1) 數(shù)據(jù)庫及表結(jié)構(gòu)的創(chuàng)建 設(shè)本系統(tǒng)使用的數(shù)據(jù)庫名為小型餐飲業(yè)管理系統(tǒng),根據(jù)已設(shè)計的關(guān)系模式及各模式的完整性要求,現(xiàn)在就可以在SQL Server 6.x數(shù)據(jù)庫系統(tǒng)中實現(xiàn)這些邏輯結(jié)構(gòu)。 下面是創(chuàng)建基本表的SQL語句: /* ============================================================ */ /* Table: CAIPINGL

8、 */ /* ============================================================ */ create table CAIPINGL ( CPGL_NAME char(20) not null, CPGL_DANJIA integer not null, CPGL_LEIBIE char(8) null , CPGL_PINGZHONG

9、char(8) null , CPGL_DIANCAI integer null , constraint PK_CAIPINGL primary key (CPGL_NAME, CPGL_DANJIA) ) go /* ============================================================ */ /* Table: XTGL */

10、 /* ============================================================ */ create table XTGL ( USERNAME char(20) not null, PASSWORD char(8) not null, constraint PK_XTGL primary key (USERNAME, PASSWORD) ) go /* ========================

11、==================================== */ /* Table: ZHANGDAGL */ /* ============================================================ */ create table ZHANGDAGL ( ZHANGDAN_NUMBER numeric not null, ZHANGDAN_CANTAI numeric

12、 null , CAI_ZHANGDAN_NUMBER numeric null , constraint PK_ZHANGDAGL primary key (ZHANGDAN_NUMBER) ) go /* ============================================================ */ /* Index: RELATION_383_FK */ /* ===============

13、============================================= */ create index RELATION_383_FK on ZHANGDAGL (CAI_ZHANGDAN_NUMBER) go /* ============================================================ */ /* Table: CAIWUGL */ /* ========================================

14、==================== */ create table CAIWUGL ( ZHANGDAN_NUMBER numeric not null, CAIWU_TIME timestamp null , CAIWU_AMOUNT char(10) null , constraint PK_CAIWUGL primary key (ZHANGDAN_NUMBER) ) go /* =======

15、===================================================== */ /* Table: DINGCANGL */ /* ============================================================ */ create table DINGCANGL ( ZHANGDAN_NUMBER numeric not null, DCGL_NAME

16、 char(20) not null, DCGL_DANJIA int not null, constraint PK_DINGCANGL primary key (ZHANGDAN_NUMBER, DCGL_NAME, DCGL_DANJIA) ) go /* ============================================================ */ /* Index: RELATION_451_FK

17、 */ /* ============================================================ */ create index RELATION_451_FK on DINGCANGL (ZHANGDAN_NUMBER) go 建立相關(guān)觸發(fā)器,執(zhí)行級聯(lián)刪除 * ============================================================ */ /* Database name: MODEL_1

18、 */ /* DBMS name: Microsoft SQL Server 6.x */ /* Created on: 2010-1-21 18:15 */ /* ============================================================ */ /* Insert trigger "ti_caiwugl" for table "CAIWUGL" */ create trigger ti_caiwugl on C

19、AIWUGL for insert as begin declare @numrows int, @numnull int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount if @numrows = 0 return /* Parent "ZHANGDAGL" must exist when inserting a child in "CAIWUGL" */

20、 if update(ZHANGDAN_NUMBER) begin if (select count(*) from ZHANGDAGL t1, inserted t2 where t1.ZHANGDAN_NUMBER = t2.ZHANGDAN_NUMBER) != @numrows begin select @errno = 30002, @errmsg = 'Parent does not exist in

21、 "ZHANGDAGL". Cannot create child in "CAIWUGL".' goto error end end return /* Errors handling */ error: raiserror @errno @errmsg rollback transaction end go /* Update trigger "tu_caiwugl" for table "CAIWUGL" */ create trigger tu_caiwugl o

22、n CAIWUGL for update as begin declare @numrows int, @numnull int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount if @numrows = 0 return /* Parent "ZHANGDAGL" must exist when updating a child in "CAIWU

23、GL" */ if update(ZHANGDAN_NUMBER) begin if (select count(*) from ZHANGDAGL t1, inserted t2 where t1.ZHANGDAN_NUMBER = t2.ZHANGDAN_NUMBER) != @numrows begin select @errno = 30003, @errmsg = '"

24、ZHANGDAGL" does not exist. Cannot modify child in "CAIWUGL".' goto error end end /* Modify parent code of "CAIWUGL" for all children in "ZHANGDAGL" */ if update(ZHANGDAN_NUMBER) begin update ZHANGDAGL set CAI_Z

25、HANGDAN_NUMBER = i1.ZHANGDAN_NUMBER from ZHANGDAGL t2, inserted i1, deleted d1 where t2.CAI_ZHANGDAN_NUMBER = d1.ZHANGDAN_NUMBER and (i1.ZHANGDAN_NUMBER != d1.ZHANGDAN_NUMBER) end return /* Errors handling */ error: raiserror @errno @errm

26、sg rollback transaction end go /* Delete trigger "td_caiwugl" for table "CAIWUGL" */ create trigger td_caiwugl on CAIWUGL for delete as begin declare @numrows int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount if @numrows

27、 = 0 return /* Delete all children in "ZHANGDAGL" */ delete ZHANGDAGL from ZHANGDAGL t2, deleted t1 where t2.CAI_ZHANGDAN_NUMBER = t1.ZHANGDAN_NUMBER return /* Errors handling */ error: raiserror @errno @errmsg rollback transaction en

28、d go /* Insert trigger "ti_dingcangl" for table "DINGCANGL" */ create trigger ti_dingcangl on DINGCANGL for insert as begin declare @numrows int, @numnull int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount if @numrows =

29、 0 return /* Parent "ZHANGDAGL" must exist when inserting a child in "DINGCANGL" */ if update(ZHANGDAN_NUMBER) begin if (select count(*) from ZHANGDAGL t1, inserted t2 where t1.ZHANGDAN_NUMBER = t2.ZHANGDAN_NUMBER) != @numrows

30、 begin select @errno = 30002, @errmsg = 'Parent does not exist in "ZHANGDAGL". Cannot create child in "DINGCANGL".' goto error end end return /* Errors handling */ error: raiserror @errno @errmsg rollback

31、transaction end go /* Update trigger "tu_dingcangl" for table "DINGCANGL" */ create trigger tu_dingcangl on DINGCANGL for update as begin declare @numrows int, @numnull int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount

32、 if @numrows = 0 return /* Parent "ZHANGDAGL" must exist when updating a child in "DINGCANGL" */ if update(ZHANGDAN_NUMBER) begin if (select count(*) from ZHANGDAGL t1, inserted t2 where t1.ZHANGDAN_NUMBER = t2.ZHANG

33、DAN_NUMBER) != @numrows begin select @errno = 30003, @errmsg = '"ZHANGDAGL" does not exist. Cannot modify child in "DINGCANGL".' goto error end end return /* Errors handling */ error: raiserr

34、or @errno @errmsg rollback transaction end go /* Insert trigger "ti_zhangdagl" for table "ZHANGDAGL" */ create trigger ti_zhangdagl on ZHANGDAGL for insert as begin declare @numrows int, @numnull int, @errno int, @errmsg varchar(255)

35、select @numrows = @@rowcount if @numrows = 0 return /* Parent "CAIWUGL" must exist when inserting a child in "ZHANGDAGL" */ if update(CAI_ZHANGDAN_NUMBER) begin select @numnull = (select count(*) from inserted

36、 where CAI_ZHANGDAN_NUMBER is null) if @numnull != @numrows if (select count(*) from CAIWUGL t1, inserted t2 where t1.ZHANGDAN_NUMBER = t2.CAI_ZHANGDAN_NUMBER) != @numrows - @numnull begin select @errno = 3000

37、2, @errmsg = 'Parent does not exist in "CAIWUGL". Cannot create child in "ZHANGDAGL".' goto error end end return /* Errors handling */ error: raiserror @errno @errmsg rollback transaction end go /* Update trigger "tu_zh

38、angdagl" for table "ZHANGDAGL" */ create trigger tu_zhangdagl on ZHANGDAGL for update as begin declare @numrows int, @numnull int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount if @numrows = 0 return

39、 /* Parent "CAIWUGL" must exist when updating a child in "ZHANGDAGL" */ if update(CAI_ZHANGDAN_NUMBER) begin select @numnull = (select count(*) from inserted where CAI_ZHANGDAN_NUMBER is null) if @numnu

40、ll != @numrows if (select count(*) from CAIWUGL t1, inserted t2 where t1.ZHANGDAN_NUMBER = t2.CAI_ZHANGDAN_NUMBER) != @numrows - @numnull begin select @errno = 30003, @errmsg = '"CAIWUGL" does not

41、exist. Cannot modify child in "ZHANGDAGL".' goto error end end /* Modify parent code of "ZHANGDAGL" for all children in "CAIWUGL" */ if update(ZHANGDAN_NUMBER) begin update CAIWUGL set ZHANGDAN_NUMBER = i1.ZHAN

42、GDAN_NUMBER from CAIWUGL t2, inserted i1, deleted d1 where t2.ZHANGDAN_NUMBER = d1.ZHANGDAN_NUMBER and (i1.ZHANGDAN_NUMBER != d1.ZHANGDAN_NUMBER) end /* Modify parent code of "ZHANGDAGL" for all children in "DINGCANGL" */ if update(ZH

43、ANGDAN_NUMBER) begin update DINGCANGL set ZHANGDAN_NUMBER = i1.ZHANGDAN_NUMBER from DINGCANGL t2, inserted i1, deleted d1 where t2.ZHANGDAN_NUMBER = d1.ZHANGDAN_NUMBER and (i1.ZHANGDAN_NUMBER != d1.ZHANGDAN_NUMBER) end

44、return /* Errors handling */ error: raiserror @errno @errmsg rollback transaction end go /* Delete trigger "td_zhangdagl" for table "ZHANGDAGL" */ create trigger td_zhangdagl on ZHANGDAGL for delete as begin declare @numrows int, @errno int,

45、 @errmsg varchar(255) select @numrows = @@rowcount if @numrows = 0 return /* Delete all children in "CAIWUGL" */ delete CAIWUGL from CAIWUGL t2, deleted t1 where t2.ZHANGDAN_NUMBER = t1.ZHANGDAN_NUMBER /* Delete all children in "DIN

46、GCANGL" */ delete DINGCANGL from DINGCANGL t2, deleted t1 where t2.ZHANGDAN_NUMBER = t1.ZHANGDAN_NUMBER return /* Errors handling */ error: raiserror @errno @errmsg rollback transaction end go 2) 數(shù)據(jù)庫前臺的設(shè)計 根據(jù)數(shù)據(jù)庫的設(shè)計,該餐飲業(yè)管理系統(tǒng)可以分成四個子模塊: § 訂餐管理 根據(jù)客戶的點(diǎn)菜單

47、,采用checkbox從已有菜品中選定菜品,并記錄。 § 菜品管理 用戶可以根據(jù)餐館現(xiàn)行情況動態(tài)管理菜品,可以對菜品進(jìn)行品種、類別的分類,并可以即時調(diào)整菜價;對菜品的調(diào)整,如添加刪除,會級聯(lián)添加和刪除訂餐管理中菜單一欄中的內(nèi)容。 § 賬單管理 用戶根據(jù)現(xiàn)餐館內(nèi)的用餐情況對各餐臺進(jìn)行管理,同時可以查詢客戶的點(diǎn)餐情況。 § 財務(wù)管理 記錄餐館的營業(yè)情況,按時間、賬單號進(jìn)行管理,同時可用于客戶結(jié)賬。 第四章 運(yùn)行結(jié)果與測試 一. 系統(tǒng)運(yùn)行 1. 系統(tǒng)登錄界面 用戶輸入已注冊過的用戶名和密碼,非法用戶不得進(jìn)入系統(tǒng)。 2. 總系統(tǒng)界面 用戶

48、根據(jù)需要對系統(tǒng)選擇相應(yīng)功能,進(jìn)行模塊化管理。 3. 賬單管理系統(tǒng)界面 一個賬單號對應(yīng)一個客戶,通過賬單號對各個客戶的消費(fèi)進(jìn)行管理,可進(jìn)行添加刪除操作,并可對各個客戶的消費(fèi)情況進(jìn)行查詢。 4. 訂餐管理系統(tǒng) 用戶依據(jù)客戶的點(diǎn)菜單,以打勾方式,從右邊的菜單框中選擇菜品輸入到左邊訂餐框中,從而對客戶的消費(fèi)進(jìn)行記錄。 5. 菜品管理管理系統(tǒng) 用戶根據(jù)需要可即時調(diào)整菜品的菜名、品種、類別、單價,同時可以進(jìn)行查詢當(dāng)前菜品情況。 6. 財務(wù)管理系統(tǒng) 記錄各個客戶的消費(fèi)時間(結(jié)賬時間)、賬單號、賬目,方便日后進(jìn)行財務(wù)統(tǒng)計,和核對;可進(jìn)行添加、刪除、查詢操作。 二. 調(diào)試中出現(xiàn)的問題說明與解決 1. 在做訂餐管理系統(tǒng)時,出現(xiàn)訂餐結(jié)果無法輸入到數(shù)據(jù)庫的現(xiàn)象。經(jīng)檢查發(fā)現(xiàn)是主鍵設(shè)置出現(xiàn)問題,修改后系統(tǒng)正常運(yùn)行。 2. 做賬目管理系統(tǒng)時,時間屬性無法輸入,經(jīng)檢查,是在概念模型設(shè)置時所選擇的格式不當(dāng)導(dǎo)致SQL語句生成出現(xiàn)問題,修改后系統(tǒng)正常運(yùn)行。 參考資料: 《數(shù)據(jù)庫原理與應(yīng)用》 作者:高榮芳 《PowerBuilder數(shù)據(jù)庫開發(fā)技術(shù)》 作者:陳佳友

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!