數(shù)據(jù)庫(kù)課程設(shè)計(jì) 餐飲下單管理系統(tǒng)

上傳人:仙*** 文檔編號(hào):29227818 上傳時(shí)間:2021-10-03 格式:DOC 頁(yè)數(shù):35 大?。?12KB
收藏 版權(quán)申訴 舉報(bào) 下載
數(shù)據(jù)庫(kù)課程設(shè)計(jì) 餐飲下單管理系統(tǒng)_第1頁(yè)
第1頁(yè) / 共35頁(yè)
數(shù)據(jù)庫(kù)課程設(shè)計(jì) 餐飲下單管理系統(tǒng)_第2頁(yè)
第2頁(yè) / 共35頁(yè)
數(shù)據(jù)庫(kù)課程設(shè)計(jì) 餐飲下單管理系統(tǒng)_第3頁(yè)
第3頁(yè) / 共35頁(yè)

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

15 積分

下載資源

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

資源描述:

《數(shù)據(jù)庫(kù)課程設(shè)計(jì) 餐飲下單管理系統(tǒng)》由會(huì)員分享,可在線閱讀,更多相關(guān)《數(shù)據(jù)庫(kù)課程設(shè)計(jì) 餐飲下單管理系統(tǒng)(35頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、目 錄1.課題名稱及目標(biāo)12.需求分析12.1 數(shù)據(jù)需求12.2事務(wù)需求22.3數(shù)據(jù)流32.4數(shù)據(jù)字典53.數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)83.1概念設(shè)計(jì)83.1.1分E-R圖的建立83.1.2整體E-R圖93.2邏輯設(shè)計(jì)103.2.1 E-R圖向關(guān)系模型的轉(zhuǎn)換103.2.2優(yōu)化處理113.2.3 用戶子模式建立124.數(shù)據(jù)庫(kù)物理設(shè)計(jì)124.1存儲(chǔ)過程134.2 觸發(fā)器135.數(shù)據(jù)庫(kù)的實(shí)施135.1在SQL中數(shù)據(jù)庫(kù)實(shí)施135.1.1數(shù)據(jù)庫(kù)及數(shù)據(jù)庫(kù)對(duì)象的建立135.1.2數(shù)據(jù)入庫(kù)155.2 數(shù)據(jù)庫(kù)測(cè)試155.2.1對(duì)建立的數(shù)據(jù)庫(kù)及數(shù)據(jù)庫(kù)對(duì)象進(jìn)行測(cè)試156. 總結(jié)297. 附錄3011.課題名稱及目標(biāo)本次實(shí)訓(xùn)要設(shè)

2、計(jì)的數(shù)據(jù)庫(kù)課題名稱是餐廳管理系統(tǒng)。餐廳管理系統(tǒng)的功能主要包括顧客點(diǎn)菜、結(jié)賬、對(duì)員工資料進(jìn)行管理、對(duì)餐桌信息進(jìn)行統(tǒng)一設(shè)置、對(duì)消費(fèi)情況進(jìn)行查詢等功能。基本功能如下:(1)菜譜信息管理:對(duì)菜譜進(jìn)行增、查、改、刪操作。即可查詢當(dāng)前餐廳所推出的菜品,增加菜品,修改菜品的價(jià)格,刪除菜品。(2)餐桌信息管理:能查詢當(dāng)前餐廳中所有餐桌的座位數(shù)以及使用情況,客人可以對(duì)位實(shí)現(xiàn)的餐桌進(jìn)行使用申請(qǐng)。(3)顧客信息管理:可以查詢顧客的相關(guān)信息,如性別,年齡,聯(lián)系方式等。當(dāng)有新顧客時(shí),可添加新顧客的信息。(4)顧客下訂單功能:實(shí)現(xiàn)下訂單,具有唯一的訂單號(hào),可用于結(jié)賬??筛鶕?jù)顧客的人數(shù)選擇相應(yīng)的餐桌號(hào),并且能夠指定服務(wù)員。

3、(6)顧客點(diǎn)菜:實(shí)現(xiàn)顧客點(diǎn)菜功能。顧客可以對(duì)所下的訂單進(jìn)行修改,即可刪除所點(diǎn)的菜品或是修改數(shù)量。同時(shí)可以查詢某位顧客的訂單。(7)顧客結(jié)賬:根據(jù)訂單號(hào)進(jìn)行結(jié)賬(防止有相同姓名的顧客,以致結(jié)錯(cuò)帳)。能夠根據(jù)消費(fèi)金額進(jìn)行對(duì)應(yīng)的折扣,并把消費(fèi)信息存檔到消費(fèi)記錄中去。2.需求分析通過了解餐飲行業(yè)的特點(diǎn)和實(shí)際情況,從分析飯店的基本情況入手,結(jié)合要實(shí)現(xiàn)的功能,對(duì)系統(tǒng)的可行性進(jìn)行分析,為提高其可行性,故做了以下數(shù)據(jù)分析。2.1 數(shù)據(jù)需求餐桌數(shù)據(jù)包括餐桌號(hào)、座位數(shù)、狀態(tài)(空/有人)餐廳存儲(chǔ)有顧客信息,員工信息。菜品信息有菜品編號(hào)、名稱、類別、價(jià)格等v 具體數(shù)據(jù)需求如下:3下訂單階段需要的數(shù)據(jù)l 顧客信息:包括

4、顧客編號(hào)。l 訂單信息:包括訂單編號(hào)、消費(fèi)時(shí)間。l 餐桌信息:包括編號(hào)、可容人數(shù)、使用狀態(tài)等l 員工信息:包括員工工號(hào)。 點(diǎn)菜階段需要的數(shù)據(jù)l 訂單信息:訂單編號(hào)l 菜品信息:包括菜品編號(hào)、菜品名稱、菜品數(shù)量等。 結(jié)賬階段需要的數(shù)據(jù):l 訂單信息:包括訂單編號(hào)、顧客編號(hào)l 菜品信息:包括菜品編號(hào)、菜品名稱、菜品數(shù)量等。l 員工信息:包括員工工號(hào)l 折扣信息:包括消費(fèi)金額、折扣數(shù) 員工管理需要的數(shù)據(jù):l 員工檔案:包括工號(hào)、姓名、性別、工資 顧客管理需要的數(shù)據(jù):l 顧客檔案:包括編號(hào)、姓名、性別等。 消費(fèi)記錄管理需要的數(shù)據(jù)有:l 消費(fèi)信息:訂單編號(hào)、消費(fèi)金額、折扣后金額、結(jié)賬時(shí)間2.2事務(wù)需求v

5、 數(shù)據(jù)錄入l 錄入顧客信息l 錄入餐桌信息l 錄入員工信息l 錄入菜品信息v 數(shù)據(jù)更新/刪除l 更新/刪除餐桌信息l 更新/刪除菜譜菜品信息l 更新/刪除員工信息l 更新/刪除顧客信息l 更新/刪除訂單菜品信息v 數(shù)據(jù)查詢l 查詢可用餐桌信息l 查詢?cè)谑鄄似沸畔 查詢訂單信息l 查詢顧客點(diǎn)菜信息l 查詢員工信息l 查詢顧客消費(fèi)信息2.3數(shù)據(jù)流(1)頂層數(shù)據(jù)流P1訂單處理E2服務(wù)員E1顧客 負(fù)責(zé) F1變更信息(2) 第一層數(shù)據(jù)流 P2.2點(diǎn)菜處理F2.1折扣 菜譜 P2.1直接下單E2.1顧客E2.3服務(wù)員P2.3結(jié)賬E2.2訂單 就位 生成 賬單(3)第二層數(shù)據(jù)流點(diǎn)菜業(yè)務(wù) 申請(qǐng)變更 P3.1

6、.2點(diǎn)菜處理 反饋?zhàn)兏榭床俗VP3.1.5判斷變更方式 P3.1.4變更處理 加菜、減菜 P3.1.1直接下單F3.1.2存儲(chǔ)賬單E3.1.2訂單E3.1.1顧客 就位 生成 賬單P3.1.3后臺(tái)處理F3.1.1存儲(chǔ)訂單 點(diǎn)菜業(yè)務(wù)2.4數(shù)據(jù)字典1) 數(shù)據(jù)項(xiàng)Foodtable(餐桌)數(shù)據(jù)項(xiàng)屬性存儲(chǔ)代碼類型長(zhǎng)度餐桌號(hào)Foodtablenovarchar10座位數(shù)seatingnoint使用狀態(tài)Foodtablestatevarchar10Menus(菜譜)數(shù)據(jù)項(xiàng)屬性存儲(chǔ)代碼類型長(zhǎng)度編號(hào)Dishnovarchar10名稱Dishnamevarchar10類別Dishclassvarchar10價(jià)格D

7、ishpricefloatWorker(員工)數(shù)據(jù)項(xiàng)屬性存儲(chǔ)代碼類型長(zhǎng)度工號(hào)Workernovarchar10姓名Workernamevarchar10性別Workersexvarchar4年齡Workerageint工資WorkersalaryintCustomer(顧客)數(shù)據(jù)項(xiàng)屬性存儲(chǔ)代碼類型長(zhǎng)度編號(hào)Customernovarchar10姓名Customernamevarchar10性別Customersexvarchar4聯(lián)系方式Customerphonenovarchar20Oder(訂單)數(shù)據(jù)項(xiàng)屬性存儲(chǔ)代碼類型長(zhǎng)度訂單編號(hào)Odernovarchar10顧客編號(hào)Customernova

8、rchar10消費(fèi)時(shí)間consumetimedatetime餐桌編號(hào)Foodtablenovarchar10服務(wù)員編號(hào)Workernovarchar10Menus_Oder(點(diǎn)菜)數(shù)據(jù)項(xiàng)屬性存儲(chǔ)代碼類型長(zhǎng)度訂單編號(hào)Odernovarchar10菜品編號(hào)Dishnovarchar10菜品名稱Disnnamevarchar10菜品數(shù)量Dish_amountintDiscount_rules(折扣規(guī)則)數(shù)據(jù)項(xiàng)屬性存儲(chǔ)代碼類型長(zhǎng)度消費(fèi)金額Consumptionfloat折扣DiscountfloatSales_bill(消費(fèi)賬單)數(shù)據(jù)項(xiàng)屬性存儲(chǔ)代碼類型長(zhǎng)度訂單編號(hào)Odernovarchar10消費(fèi)金額

9、Consumptionfloat折扣后金額after_discountfloat賬單時(shí)間Billtimeint2) 數(shù)據(jù)結(jié)構(gòu)編號(hào)數(shù)據(jù)結(jié)構(gòu)名屬性1餐桌信息餐桌號(hào)、座位數(shù)、使用狀態(tài)2菜譜編號(hào)、名稱、類別、價(jià)格3員工信息工號(hào)、姓名、性別、年齡、工資4顧客信息編號(hào)、姓名、性別、聯(lián)系方式5訂單信息訂單編號(hào)、顧客編號(hào)、消費(fèi)時(shí)間、餐桌編號(hào)、服務(wù)員編號(hào)6點(diǎn)菜訂單編號(hào)、菜品編號(hào)、菜品名稱、菜品數(shù)量7折扣規(guī)則消費(fèi)金額、折扣8消費(fèi)賬單訂單編號(hào)、消費(fèi)金額、折扣后金額、賬單時(shí)間3) 數(shù)據(jù)流編號(hào) 數(shù)據(jù)流名 輸入 輸出 1 菜品信息 修改菜品 菜譜 2 空閑餐桌 選擇餐桌 訂單 3 點(diǎn)菜信息 加菜退菜 點(diǎn)菜 4 記入賬單

10、訂單 結(jié)賬 5 結(jié)賬 折扣方式 結(jié)賬4) 數(shù)據(jù)存儲(chǔ)編號(hào) 數(shù)據(jù)存儲(chǔ)名 輸入 輸出 1 顧客信息更新 顧客新信息 顧客信息 2 菜譜更新 新增菜品 菜譜 3 訂單儲(chǔ)存 訂單 訂單信息 4 餐桌更新 新增餐桌 餐桌 5 賬單存儲(chǔ) 消費(fèi)信息 賬單記錄5) 處理過程編號(hào) 處理過程名 輸入數(shù)據(jù)流 輸出數(shù)據(jù)流 1 顧客點(diǎn)菜 菜譜 訂單 2 結(jié)賬 訂單 賬單記錄3.數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)3.1概念設(shè)計(jì)3.1.1分E-R圖的建立(1) 訂單形成過程1n111nnn1n負(fù)責(zé)包含菜品選擇菜譜顧客查看生成訂單服務(wù)員(2)結(jié)賬形成過程消費(fèi)金額包含支付顧客訂單對(duì)應(yīng)折扣規(guī)則對(duì)應(yīng)3.1.2整體E-R圖111對(duì)應(yīng)1111111對(duì)應(yīng)11

11、11111nnnnn工資對(duì)應(yīng)員工折扣銷售記錄賬單支付保存位置餐桌負(fù)責(zé)訂單下單包含菜品選擇查看顧客菜譜3.2邏輯設(shè)計(jì)3.2.1 E-R圖向關(guān)系模型的轉(zhuǎn)換A. 轉(zhuǎn)換規(guī)則一個(gè)實(shí)體型轉(zhuǎn)換成一個(gè)關(guān)系模型。實(shí)體的屬性就是關(guān)系的屬性,實(shí)體的碼就是關(guān)系的碼。實(shí)體型間的聯(lián)系常有如下不同的情況:a. 一個(gè)1:1聯(lián)系可以轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,也可以任意一端對(duì)應(yīng)的關(guān)系模式合并。b. 一個(gè)1:n聯(lián)系可以轉(zhuǎn)換成一個(gè)獨(dú)立的關(guān)系模式,也可以與n端對(duì)應(yīng)的關(guān)系模式合并。c. 一個(gè)m:n聯(lián)系轉(zhuǎn)換成一個(gè)關(guān)系模式。d. 3或3個(gè)以上實(shí)體間的一個(gè)多聯(lián)系可以轉(zhuǎn)換成一個(gè)關(guān)系模式。e. 具有相同碼的關(guān)系模式可合并。B.根據(jù)以上規(guī)則得到如下

12、關(guān)系模型(下劃線的屬性為主碼)菜譜(菜品編號(hào),菜品名稱,菜品類別,菜品價(jià)格)顧客(顧客編號(hào),姓名,性別,年齡,聯(lián)系方式)餐桌(餐桌號(hào),座位數(shù),使用狀態(tài))員工(工號(hào),姓名,性別,年齡,工資)訂單(訂單編號(hào),顧客編號(hào),消費(fèi)時(shí)間,餐桌編號(hào),服務(wù)員編號(hào))菜譜_訂單(訂單編號(hào),菜品編號(hào),菜品名稱,菜品數(shù)量)消費(fèi)記錄(訂單號(hào),消費(fèi)金額,折扣后金額,賬單時(shí)間)折扣規(guī)則(消費(fèi)金額,折扣)3.2.2優(yōu)化處理1) 確定數(shù)據(jù)依賴。2) 對(duì)各個(gè)關(guān)系模式間的數(shù)據(jù)依賴進(jìn)行極小化分析,減小冗余。3) 按照數(shù)據(jù)依賴的理論對(duì)關(guān)系模式進(jìn)行分析,看是否存在部分函數(shù)依賴或函數(shù)傳遞或多值依賴等,確保各關(guān)系模式滿足第三范式。4) 按照需

13、求分析階段得到的處理要求,分析對(duì)于這樣的應(yīng)用環(huán)境這些模式是否合適,確定是否要對(duì)某些模式進(jìn)行合并或分解。5) 對(duì)關(guān)系模式進(jìn)行必要的分解,分析對(duì)于這樣的應(yīng)用環(huán)境這些模式是否合適,確定是否要對(duì)某些模式進(jìn)行合并或分解。3.2.3 用戶子模式建立名稱描述插入新顧客信息若是新顧客,則插入顧客的信息,姓名,性別等下單就位顧客來餐,下訂單,分配餐桌點(diǎn)菜存儲(chǔ)顧客所點(diǎn)的菜品刪除菜品刪除顧客所點(diǎn)的某菜品修改菜品數(shù)量修改顧客所點(diǎn)的某菜品的數(shù)量查詢顧客點(diǎn)菜信息查詢顧客所點(diǎn)的菜品消費(fèi)總額計(jì)算顧客本次消費(fèi)的總額。顧客支付完賬單時(shí),把消費(fèi)信息存檔到消費(fèi)記錄中結(jié)賬后更改餐桌狀態(tài)當(dāng)顧客結(jié)賬后,把餐桌狀態(tài)改為“空”刪除菜譜中菜品刪

14、除菜譜中存在的某菜品修改菜品價(jià)格修改菜譜中某菜品的價(jià)格向菜譜添加菜品向菜譜添加新菜品trig_discount 觸發(fā)器,顧客進(jìn)行結(jié)賬時(shí),消費(fèi)金額在不同的區(qū)間會(huì)有不同的折扣。trig_Sales_bill觸發(fā)器,當(dāng)消費(fèi)金額達(dá)到一定額數(shù)時(shí),會(huì)送相應(yīng)優(yōu)惠券trig_Menus觸發(fā)器,當(dāng)向菜譜添加新菜品,若該菜品名稱含有“紅”字,會(huì)發(fā)出“此后生意必定紅紅火火”的祝福語(yǔ)。4.數(shù)據(jù)庫(kù)物理設(shè)計(jì)數(shù)據(jù)庫(kù)在物理設(shè)備上的存儲(chǔ)結(jié)構(gòu)與存取方法就是數(shù)據(jù)庫(kù)的物理結(jié)構(gòu),它依賴于選定的數(shù)據(jù)庫(kù)管理系統(tǒng),為一個(gè)給定的邏輯數(shù)據(jù)模型選取一個(gè)最合適的應(yīng)用環(huán)境的物理結(jié)構(gòu)過程,就是數(shù)據(jù)庫(kù)的物理設(shè)計(jì)。這一階段主要任務(wù)時(shí)確定數(shù)據(jù)庫(kù)的物理結(jié)構(gòu),并

15、不斷的進(jìn)行優(yōu)化處理,主要建立索引,觸發(fā)器,存儲(chǔ)過程。4.1存儲(chǔ)過程存儲(chǔ)過程可以實(shí)現(xiàn)數(shù)據(jù)庫(kù)操作的增刪改功能,在執(zhí)行時(shí)需要調(diào)用。御用像函數(shù)一樣,也可以有參數(shù)的參與。定義存儲(chǔ)過程提供了過程封裝的效果,執(zhí)行只需要調(diào)用,在更大程度上簡(jiǎn)化了數(shù)據(jù)處理過程。餐飲管理具體存儲(chǔ)過程名稱和作用詳見3.2.3,具體代碼詳見第5.2.1部分4.2 觸發(fā)器餐飲管理具體觸發(fā)器的名稱和作用詳見3.2.3,具體代碼詳見第5.2.1部分5.數(shù)據(jù)庫(kù)的實(shí)施5.1在SQL中數(shù)據(jù)庫(kù)實(shí)施5.1.1數(shù)據(jù)庫(kù)及數(shù)據(jù)庫(kù)對(duì)象的建立create database Restaurant_Management-建表-create table Menus-

16、菜譜(Dishno varchar(10) primary key, Dishname varchar(10), Dishclass varchar(10), Dishprice float,)create table Customer-顧客(Customerno varchar(10) primary key,Customername varchar(10) not null,Customersex varchar(4) check (Customersex=男or Customersex=女) not null,Customerphoneno varchar(20) unique not

17、null,)create table Foodtable-餐桌(Foodtableno varchar(10) primary key,seatingno int not null,Foodtablestate varchar(6)check(Foodtablestate=空 or Foodtablestate=有人),)drop table Odercreate table Oder-訂單(Oderno varchar(10) primary key,Customerno varchar(10) not null,consumetime datetime not null,Foodtable

18、no varchar(10) not null,Workerno varchar(10) not null,foreign key(Customerno) references Customer(Customerno),foreign key(Foodtableno)references Foodtable(Foodtableno),foreign key(Workerno) references Worker(Workerno),)create table Worker-員工(Workerno varchar(10) primary key,Workername varchar(10), W

19、orkersex varchar(4) check(Workersex=男 or Workersex=女),Workerage int,Workersalary int,)drop table Menus_Odercreate table Menus_Oder-點(diǎn)菜(Oderno varchar(10),Dishno varchar(10),Disnname varchar(10),Dish_amount int not null,Primary key(Dishno,Oderno),foreign key(Dishno) references Menus(Dishno),foreign ke

20、y(Oderno) references Oder(Oderno),)drop table Sales_billcreate table Sales_bill-銷售賬單(Oderno varchar(10) primary key ,Consumption float,after_discount float,Billtime datetime,foreign key(Oderno) references Oder(Oderno)drop table Discount_rulescreate table Discount_rules-折扣規(guī)則(Consumption float primary

21、 key, Discount float,)5.1.2數(shù)據(jù)入庫(kù) 本系統(tǒng)采用將數(shù)據(jù)逐條錄入的方法。5.2 數(shù)據(jù)庫(kù)測(cè)試5.2.1對(duì)建立的數(shù)據(jù)庫(kù)及數(shù)據(jù)庫(kù)對(duì)象進(jìn)行測(cè)試(1)存儲(chǔ)過程-插入新顧客信息-drop procedure 插入新顧客信息create procedure 插入新顧客信息 (Customerno varchar(10), Customername varchar(10), Customersex varchar(4), Customerphoneno varchar(20) )as insert into Customer values(Customerno,Customername

22、,Customersex,Customerphoneno)select * from Customer-驗(yàn)證-execute 插入新顧客信息112699,李陽(yáng),男,13413843065-下單就位-drop procedure 下單就位create procedure 下單就位(Oderno varchar(10) ,Customerno varchar(10),consumetime datetime,Foodtableno varchar(10),Wokerno varchar(10)asbegin transaction -開始事務(wù)insert into Oder values(Oder

23、no,Customerno,consumetime,Foodtableno,Wokerno ) if (select Foodtablestate from Foodtable where Foodtableno=Foodtableno)空) begin print 該餐桌有人,請(qǐng)重選餐桌。 Rollback tran return end else begin update Foodtable set Foodtablestate =有人 where Foodtableno=Foodtableno print 下單成功,請(qǐng)就位開始點(diǎn)菜 endcommit tran -驗(yàn)證-execute 下

24、單就位O_001,112699,2013-12-26,TB_005,W_002execute 下單就位O_002,112698,2013-12-26,TB_004,W_003當(dāng)餐桌有人時(shí),則顯示成功下單時(shí),則顯示-查看下單情況-select * from Oder select * from Foodtable -菜譜的查詢-select * from Menus-刪除菜譜中菜品-create procedure 刪除菜譜中菜品Dishno varchar(10)asdeletefrom MenusWhere Dishno=Dishnoselect * from Menus-驗(yàn)證-execut

25、e 刪除菜譜中菜品 D_112-修改菜品價(jià)格-create procedure 修改菜品價(jià)格(Dishno varchar(10),Dishprice float)asupdate Menusset Dishprice=DishpriceWhere Dishno=Dishnoselect * from Menus -驗(yàn)證-execute 修改菜品價(jià)格 D_113,30-向菜譜增加菜品-create procedure 向菜譜增加菜品(Dishno varchar(10), Dishname varchar(10), Dishclass varchar(10), Dishprice float)

26、asinsert into Menusvalues(Dishno,Dishname,Dishclass,Dishprice)select * from Menus-驗(yàn)證-execute 向菜譜增加菜品D_112,時(shí)蔬,小炒類,20-點(diǎn)菜的增加、查詢、刪除、修改-點(diǎn)菜-create procedure 點(diǎn)菜(Oderno varchar(10),Dishno varchar(10),Disnname varchar(10),Dish_amount int)asinsert into Menus_Odervalues(Oderno,Dishno,Disnname,Dish_amount)selec

27、t * from Menus_Oder where Oderno=Oderno-驗(yàn)證-execute 點(diǎn)菜O_001,D_111,小炒河蝦,2execute 點(diǎn)菜O_001,D_114,雞蛋炒芹菜,1execute 點(diǎn)菜O_001,D_115,三鮮湯,3-查詢客戶點(diǎn)菜信息-create procedure 查詢顧客點(diǎn)菜信息Customerno varchar(10)asselect Customerno=Customerno,Menus.Dishno,Dishname,Dish_amountfrom Menus,Menus_Oder,Oderwhere Oder.Customerno=Cust

28、omerno and Menus.Dishno=Menus_Oder.Dishno and Oder.Oderno=Menus_Oder.Oderno-驗(yàn)證-execute 查詢顧客點(diǎn)菜信息 112699-刪除菜品-create procedure 刪除菜品(Oderno varchar(10),Dishno varchar(10)asdeletefrom Menus_OderWhere Oderno=Oderno and Dishno=Dishnoselect * from Menus_Oder where Oderno=Oderno -驗(yàn)證-execute 刪除菜品 O_001,D_111

29、-修改菜品數(shù)量-create procedure 修改菜品數(shù)量(Oderno varchar(10),Dishno varchar(10),Dish_amount int)asupdate Menus_Oderset Dish_amount=Dish_amountWhere Oderno=Oderno and Dishno=Dishnoselect * from Menus_Oder where Oderno=Oderno -驗(yàn)證-execute 修改菜品數(shù)量 O_001,D_111,3,-計(jì)算總消費(fèi)額-DROP procedure 消費(fèi)總額create procedure 消費(fèi)總額(Oder

30、no varchar(10),Consumption float output,discount float output)asselect Consumption=SUM(Dishprice*Dish_amount)from Menus_Oder,Menus,Oderwhere Menus.Dishno=Menus_Oder.Dishno and Oder.Oderno=Menus_Oder.Oderno and Oder.Oderno=Odernobegin tran -啟用事務(wù)if exists(select Consumption from Discount_rules where C

31、onsumption=Consumption) -判斷Discount_rules中是否有對(duì)應(yīng)折扣 begin select discount=Discount from Discount_rules where Consumption=Consumption endELSE begin INSERT into Discount_rules(Consumption) VALUES(Consumption) -將Consumption插入到Discount_rules select discount=Discount from Discount_rules where Consumption=C

32、onsumption -獲取對(duì)應(yīng)折扣end if exists(select Oderno from Sales_bill where Oderno=Oderno)-判斷消費(fèi)賬單是否已有該消費(fèi)記錄 begin print 消費(fèi)記錄已插入消費(fèi)賬單,別重復(fù)插入 end else begin insert into Sales_bill(Oderno,Consumption,after_discount,Billtime) values(Oderno,Consumption,Consumption*discount,GETDATE() print 成功將消費(fèi)記錄插入到消費(fèi)賬單 endcommit t

33、ran -提交事務(wù)-驗(yàn)證-declare Consumption float,discount float,Oderno varchar(10)=O_001execute 消費(fèi)總額 O_001,Consumption output,discount outputselect Oderno,Customername,Consumption 總消費(fèi),discount 折扣from Oder,Customerwhere Customer.Customerno=Oder.Customerno and Oderno=Oderno并把消費(fèi)信息插入到消費(fèi)記錄中若已經(jīng)結(jié)賬,則提示-結(jié)賬后餐桌狀態(tài)-create

34、 procedure 結(jié)賬后更改信息Oderno varchar(10)asupdate Foodtable -修改餐桌狀態(tài)set Foodtablestate=空where Foodtableno=(select Foodtableno from Oder where Oderno=Oderno)-驗(yàn)證-execute 結(jié)賬后更改信息 O_001-對(duì)菜譜的操作-查詢菜譜-select * from Menus-刪除菜譜中菜品-create procedure 刪除菜譜中菜品Dishno varchar(10)asdeletefrom MenusWhere Dishno=Dishnoselec

35、t * from Menus-驗(yàn)證-execute 刪除菜譜中菜品 D_112執(zhí)行前:執(zhí)行后:-修改菜品價(jià)格-create procedure 修改菜品價(jià)格(Dishno varchar(10),Dishprice float)asupdate Menusset Dishprice=DishpriceWhere Dishno=Dishnoselect * from Menus -驗(yàn)證-execute 修改菜品價(jià)格 D_113,40執(zhí)行后:-向菜譜增加菜品-create procedure 向菜譜增加菜品(Dishno varchar(10), Dishname varchar(10), Dis

36、hclass varchar(10), Dishprice float)asinsert into Menusvalues(Dishno,Dishname,Dishclass,Dishprice)select * from Menus-驗(yàn)證-execute 向菜譜增加菜品D_112,時(shí)蔬,小炒類,20執(zhí)行后:(2)觸發(fā)器-折扣-DROP trigger trig_discount create trigger trig_discount on Discount_rulesfor insert asbegin declare expand float select expand=Consumpt

37、ion From inserted if(expand=50and expand=100and expand=150and expand=150and expand=200) begin print 送您10元優(yōu)惠券 endend-祝福語(yǔ)-drop trigger trig_Menus create trigger trig_Menus on Menusfor insert asbegin declare dishname varchar(10) select dishname=dishname From inserted if (dishname like %紅%) begin print

38、此后生意必定紅紅火火 end end6. 總結(jié)這次課程設(shè)計(jì)中遇到一個(gè)最嚴(yán)重的問題就是時(shí)間太短,太少了。本來是有一個(gè)星期的,但除去考試、上課的時(shí)間,以及構(gòu)思、整理思路,畫E-R圖的時(shí)間,真正動(dòng)手開始做課程設(shè)計(jì)的時(shí)間就所剩不多了。不過經(jīng)過幾個(gè)晚上的熬夜、拼命,最后還是完成了。不過有點(diǎn)遺憾的是,在構(gòu)思時(shí),我本想使這個(gè)系統(tǒng)更完善,具備更多的功能,但卻由于時(shí)間問題,最終只能放棄了,甚至我自己本身很清楚,現(xiàn)在完成的這個(gè)系統(tǒng)還是存有缺陷的,無法完全滿足實(shí)際生活所需。在這次實(shí)訓(xùn)中,遇到的問題也有關(guān)于知識(shí)方面的,不過在老師的悉心指導(dǎo)以及同學(xué)們的幫助下,最終都一一解決了。在這個(gè)課程設(shè)計(jì)中,我學(xué)到的東西還是很多的,

39、感受頗多。第一,這次課程設(shè)計(jì)鞏固了之前學(xué)習(xí)到的知識(shí),并將學(xué)到的知識(shí)進(jìn)行了串聯(lián)。第二,我初略學(xué)到了設(shè)計(jì)一個(gè)數(shù)據(jù)庫(kù)的幾個(gè)步驟:需求分析,概念結(jié)構(gòu)設(shè)計(jì),邏輯結(jié)構(gòu)設(shè)計(jì),物理結(jié)構(gòu)設(shè)計(jì),運(yùn)行,實(shí)現(xiàn),運(yùn)行和維護(hù)。第三,學(xué)會(huì)熟練使用存儲(chǔ)過程以及觸發(fā)器。之前并沒有做過有關(guān)存儲(chǔ)過程的實(shí)驗(yàn),觸發(fā)器方面的實(shí)驗(yàn)也很少。不過借此機(jī)會(huì),我已把它們掌握了。這一學(xué)期的數(shù)據(jù)庫(kù)就以這次實(shí)訓(xùn)落幕了。感覺挺不舍的。雖然之后也沒有相關(guān)的課程了,但我覺得我對(duì)數(shù)據(jù)庫(kù)的學(xué)習(xí)并不會(huì)就此止步。接下來的想法就是把所學(xué)到的知識(shí)強(qiáng)化,達(dá)到能運(yùn)用自如,并且想要學(xué)會(huì)C+或是JAVA跟數(shù)據(jù)庫(kù)的連接。7. 附錄附錄1 數(shù)據(jù)庫(kù)各表截圖(1)Customer表(2)Discount_rules表(3)Foodtable表(4)Menus表(5)Menus_Oder表(6)Oder表(7)Sales_bill表(8)Worker表附錄2 視圖截圖(1)點(diǎn)菜視圖(2) 結(jié)賬視圖(3)整體視圖附錄3 存儲(chǔ)過程35

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

相關(guān)資源

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

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

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


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