![數(shù)據(jù)庫課程設(shè)計(jì)餐飲下單管理系統(tǒng)方案_第1頁](http://file4.renrendoc.com/view/a237864f15d9caeed87647db5a3ec9eb/a237864f15d9caeed87647db5a3ec9eb1.gif)
![數(shù)據(jù)庫課程設(shè)計(jì)餐飲下單管理系統(tǒng)方案_第2頁](http://file4.renrendoc.com/view/a237864f15d9caeed87647db5a3ec9eb/a237864f15d9caeed87647db5a3ec9eb2.gif)
![數(shù)據(jù)庫課程設(shè)計(jì)餐飲下單管理系統(tǒng)方案_第3頁](http://file4.renrendoc.com/view/a237864f15d9caeed87647db5a3ec9eb/a237864f15d9caeed87647db5a3ec9eb3.gif)
![數(shù)據(jù)庫課程設(shè)計(jì)餐飲下單管理系統(tǒng)方案_第4頁](http://file4.renrendoc.com/view/a237864f15d9caeed87647db5a3ec9eb/a237864f15d9caeed87647db5a3ec9eb4.gif)
![數(shù)據(jù)庫課程設(shè)計(jì)餐飲下單管理系統(tǒng)方案_第5頁](http://file4.renrendoc.com/view/a237864f15d9caeed87647db5a3ec9eb/a237864f15d9caeed87647db5a3ec9eb5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
21/21目錄TOC\o"1-3"\h\u289531.課題名稱及目標(biāo) 1307352.需求分析1221702.1數(shù)據(jù)需求19322.2事務(wù)需求2311532.3數(shù)據(jù)流3231592.4數(shù)據(jù)字典5183.數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)8177763.1概念設(shè)計(jì)8268713.1.1分E-R圖的建立884323.1.2整體E-R圖9227953.2邏輯設(shè)計(jì)10311303.2.1E-R圖向關(guān)系模型的轉(zhuǎn)換10170213.2.2優(yōu)化處理1162873.2.3用戶子模式建立12130134.數(shù)據(jù)庫物理設(shè)計(jì)12170234.1存儲(chǔ)過程1372324.2觸發(fā)器13184815.數(shù)據(jù)庫的實(shí)施13241745.1在SQL中數(shù)據(jù)庫實(shí)施13154835.1.1數(shù)據(jù)庫及數(shù)據(jù)庫對象的建立13131125.1.2數(shù)據(jù)入庫157015.2數(shù)據(jù)庫測試1514535.2.1對建立的數(shù)據(jù)庫及數(shù)據(jù)庫對象進(jìn)行測試15169796.總結(jié)29118227.附錄301.課題名稱及目標(biāo)本次實(shí)訓(xùn)要設(shè)計(jì)的數(shù)據(jù)庫課題名稱是餐廳管理系統(tǒng)。餐廳管理系統(tǒng)的功能主要包括顧客點(diǎn)菜、結(jié)賬、對員工資料進(jìn)行管理、對餐桌信息進(jìn)行統(tǒng)一設(shè)置、對消費(fèi)情況進(jìn)行查詢等功能。基本功能如下:〔1菜譜信息管理:對菜譜進(jìn)行增、查、改、刪操作。即可查詢當(dāng)前餐廳所推出的菜品,增加菜品,修改菜品的價(jià)格,刪除菜品?!?餐桌信息管理:能查詢當(dāng)前餐廳中所有餐桌的座位數(shù)以及使用情況,客人可以對位實(shí)現(xiàn)的餐桌進(jìn)行使用申請?!?顧客信息管理:可以查詢顧客的相關(guān)信息,如性別,年齡,聯(lián)系方式等。當(dāng)有新顧客時(shí),可添加新顧客的信息?!?顧客下訂單功能:實(shí)現(xiàn)下訂單,具有唯一的訂單號,可用于結(jié)賬。可根據(jù)顧客的人數(shù)選擇相應(yīng)的餐桌號,并且能夠指定服務(wù)員。〔6顧客點(diǎn)菜:實(shí)現(xiàn)顧客點(diǎn)菜功能。顧客可以對所下的訂單進(jìn)行修改,即可刪除所點(diǎn)的菜品或是修改數(shù)量。同時(shí)可以查詢某位顧客的訂單?!?顧客結(jié)賬:根據(jù)訂單號進(jìn)行結(jié)賬〔防止有相同姓名的顧客,以致結(jié)錯(cuò)帳。能夠根據(jù)消費(fèi)金額進(jìn)行對應(yīng)的折扣,并把消費(fèi)信息存檔到消費(fèi)記錄中去。2.需求分析通過了解餐飲行業(yè)的特點(diǎn)和實(shí)際情況,從分析飯店的基本情況入手,結(jié)合要實(shí)現(xiàn)的功能,對系統(tǒng)的可行性進(jìn)行分析,為提高其可行性,故做了以下數(shù)據(jù)分析。2.1數(shù)據(jù)需求餐桌數(shù)據(jù)包括餐桌號、座位數(shù)、狀態(tài)〔空/有人餐廳存儲(chǔ)有顧客信息,員工信息。菜品信息有菜品編號、名稱、類別、價(jià)格等具體數(shù)據(jù)需求如下:◎下訂單階段需要的數(shù)據(jù)顧客信息:包括顧客編號。訂單信息:包括訂單編號、消費(fèi)時(shí)間。餐桌信息:包括編號、可容人數(shù)、使用狀態(tài)等員工信息:包括員工工號。◎點(diǎn)菜階段需要的數(shù)據(jù)訂單信息:訂單編號菜品信息:包括菜品編號、菜品名稱、菜品數(shù)量等?!蚪Y(jié)賬階段需要的數(shù)據(jù):訂單信息:包括訂單編號、顧客編號菜品信息:包括菜品編號、菜品名稱、菜品數(shù)量等。員工信息:包括員工工號折扣信息:包括消費(fèi)金額、折扣數(shù)◎員工管理需要的數(shù)據(jù):員工檔案:包括工號、姓名、性別、工資◎顧客管理需要的數(shù)據(jù):顧客檔案:包括編號、姓名、性別等?!蛳M(fèi)記錄管理需要的數(shù)據(jù)有:消費(fèi)信息:訂單編號、消費(fèi)金額、折扣后金額、結(jié)賬時(shí)間2.2事務(wù)需求數(shù)據(jù)錄入錄入顧客信息錄入餐桌信息錄入員工信息錄入菜品信息數(shù)據(jù)更新/刪除更新/刪除餐桌信息更新/刪除菜譜菜品信息更新/刪除員工信息更新/刪除顧客信息更新/刪除訂單菜品信息數(shù)據(jù)查詢查詢可用餐桌信息查詢在售菜品信息查詢訂單信息查詢顧客點(diǎn)菜信息查詢員工信息查詢顧客消費(fèi)信息2.3數(shù)據(jù)流〔1頂層數(shù)據(jù)流P1訂單處理E2P1訂單處理E2服務(wù)員E1顧客負(fù)責(zé)F1F1變更信息第一層數(shù)據(jù)流P2.2點(diǎn)菜處理F2.1P2.2點(diǎn)菜處理F2.1折扣P2.1P2.1直接下單E2.1顧客E2.3服務(wù)員P2.3結(jié)賬E2.2E2.1顧客E2.3服務(wù)員P2.3結(jié)賬E2.2訂單<3>第二層數(shù)據(jù)流點(diǎn)菜業(yè)務(wù)申請變更點(diǎn)菜處理反饋?zhàn)兏c(diǎn)菜處理查看菜譜判斷變更方式查看菜譜判斷變更方式變更處理加菜、減菜變更處理直接下單直接下單存儲(chǔ)賬單訂單顧客就位生成賬單存儲(chǔ)賬單訂單顧客后臺處理存儲(chǔ)訂單后臺處理存儲(chǔ)訂單點(diǎn)菜業(yè)務(wù)2.4數(shù)據(jù)字典數(shù)據(jù)項(xiàng)Foodtable<餐桌>數(shù)據(jù)項(xiàng)屬性存儲(chǔ)代碼類型長度餐桌號Foodtablenovarchar10座位數(shù)seatingnoint使用狀態(tài)Foodtablestatevarchar10Menus〔菜譜數(shù)據(jù)項(xiàng)屬性存儲(chǔ)代碼類型長度編號Dishnovarchar10名稱Dishnamevarchar10類別Dishclassvarchar10價(jià)格DishpricefloatWorker〔員工數(shù)據(jù)項(xiàng)屬性存儲(chǔ)代碼類型長度工號Workernovarchar10姓名Workernamevarchar10性別Workersexvarchar4年齡Workerageint工資WorkersalaryintCustomer〔顧客數(shù)據(jù)項(xiàng)屬性存儲(chǔ)代碼類型長度編號Customernovarchar10姓名Customernamevarchar10性別Customersexvarchar4聯(lián)系方式Customerphonenovarchar20Oder〔訂單數(shù)據(jù)項(xiàng)屬性存儲(chǔ)代碼類型長度訂單編號Odernovarchar10顧客編號Customernovarchar10消費(fèi)時(shí)間consumetimedatetime餐桌編號Foodtablenovarchar10服務(wù)員編號Workernovarchar10Menus_Oder〔點(diǎn)菜數(shù)據(jù)項(xiàng)屬性存儲(chǔ)代碼類型長度訂單編號Odernovarchar10菜品編號Dishnovarchar10菜品名稱Disnnamevarchar10菜品數(shù)量Dish_amountintDiscount_rules〔折扣規(guī)則數(shù)據(jù)項(xiàng)屬性存儲(chǔ)代碼類型長度消費(fèi)金額Consumptionfloat折扣DiscountfloatSales_bill〔消費(fèi)賬單數(shù)據(jù)項(xiàng)屬性存儲(chǔ)代碼類型長度訂單編號Odernovarchar10消費(fèi)金額Consumptionfloat折扣后金額after_discountfloat賬單時(shí)間Billtimeint數(shù)據(jù)結(jié)構(gòu)編號數(shù)據(jù)結(jié)構(gòu)名屬性1餐桌信息餐桌號、座位數(shù)、使用狀態(tài)2菜譜編號、名稱、類別、價(jià)格3員工信息工號、姓名、性別、年齡、工資4顧客信息編號、姓名、性別、聯(lián)系方式5訂單信息訂單編號、顧客編號、消費(fèi)時(shí)間、餐桌編號、服務(wù)員編號6點(diǎn)菜訂單編號、菜品編號、菜品名稱、菜品數(shù)量7折扣規(guī)則消費(fèi)金額、折扣8消費(fèi)賬單訂單編號、消費(fèi)金額、折扣后金額、賬單時(shí)間數(shù)據(jù)流編號數(shù)據(jù)流名輸入輸出1菜品信息修改菜品菜譜2空閑餐桌選擇餐桌訂單3點(diǎn)菜信息加菜退菜點(diǎn)菜4記入賬單訂單結(jié)賬5結(jié)賬折扣方式結(jié)賬數(shù)據(jù)存儲(chǔ)編號數(shù)據(jù)存儲(chǔ)名輸入輸出1顧客信息更新顧客新信息顧客信息2菜譜更新新增菜品菜譜3訂單儲(chǔ)存訂單訂單信息4餐桌更新新增餐桌餐桌5賬單存儲(chǔ)消費(fèi)信息賬單記錄處理過程編號處理過程名輸入數(shù)據(jù)流輸出數(shù)據(jù)流1顧客點(diǎn)菜菜譜訂單2結(jié)賬訂單賬單記錄3.數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)3.1概念設(shè)計(jì)3.1.1分E-R圖的建立訂單形成過程1n111nnn1n負(fù)責(zé)包含菜品選擇菜譜顧客查看生成訂單1n111nnn1n負(fù)責(zé)包含菜品選擇菜譜顧客查看生成訂單服務(wù)員服務(wù)員
〔2結(jié)賬形成過程消費(fèi)金額包含支付顧客訂單對應(yīng)消費(fèi)金額包含支付顧客訂單對應(yīng)折扣規(guī)則對應(yīng)3.1.2整體E-R圖折扣規(guī)則對應(yīng)111對應(yīng)1111111對應(yīng)1111111nnnnn工資對應(yīng)員工折扣銷售記錄賬單支付保存位置餐桌負(fù)責(zé)訂單下單包含菜品選擇查看顧客菜譜3.2邏輯設(shè)計(jì)111對應(yīng)1111111對應(yīng)1111111nnnnn工資對應(yīng)員工折扣銷售記錄賬單支付保存位置餐桌負(fù)責(zé)訂單下單包含菜品選擇查看顧客菜譜3.2.1E-R圖向關(guān)系模型的轉(zhuǎn)換轉(zhuǎn)換規(guī)則一個(gè)實(shí)體型轉(zhuǎn)換成一個(gè)關(guān)系模型。實(shí)體的屬性就是關(guān)系的屬性,實(shí)體的碼就是關(guān)系的碼。實(shí)體型間的聯(lián)系常有如下不同的情況:一個(gè)1:1聯(lián)系可以轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,也可以任意一端對應(yīng)的關(guān)系模式合并。一個(gè)1:n聯(lián)系可以轉(zhuǎn)換成一個(gè)獨(dú)立的關(guān)系模式,也可以與n端對應(yīng)的關(guān)系模式合并。一個(gè)m:n聯(lián)系轉(zhuǎn)換成一個(gè)關(guān)系模式。3或3個(gè)以上實(shí)體間的一個(gè)多聯(lián)系可以轉(zhuǎn)換成一個(gè)關(guān)系模式。具有相同碼的關(guān)系模式可合并。B.根據(jù)以上規(guī)則得到如下關(guān)系模型〔下劃線的屬性為主碼菜譜〔菜品編號,菜品名稱,菜品類別,菜品價(jià)格顧客〔顧客編號,姓名,性別,年齡,聯(lián)系方式餐桌〔餐桌號,座位數(shù),使用狀態(tài)員工〔工號,姓名,性別,年齡,工資訂單〔訂單編號,顧客編號,消費(fèi)時(shí)間,餐桌編號,服務(wù)員編號菜譜_訂單〔訂單編號,菜品編號,菜品名稱,菜品數(shù)量消費(fèi)記錄〔訂單號,消費(fèi)金額,折扣后金額,賬單時(shí)間折扣規(guī)則〔消費(fèi)金額,折扣3.2.2優(yōu)化處理確定數(shù)據(jù)依賴。對各個(gè)關(guān)系模式間的數(shù)據(jù)依賴進(jìn)行極小化分析,減小冗余。按照數(shù)據(jù)依賴的理論對關(guān)系模式進(jìn)行分析,看是否存在部分函數(shù)依賴或函數(shù)傳遞或多值依賴等,確保各關(guān)系模式滿足第三范式。按照需求分析階段得到的處理要求,分析對于這樣的應(yīng)用環(huán)境這些模式是否合適,確定是否要對某些模式進(jìn)行合并或分解。對關(guān)系模式進(jìn)行必要的分解,分析對于這樣的應(yīng)用環(huán)境這些模式是否合適,確定是否要對某些模式進(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)改為"空"刪除菜譜中菜品刪除菜譜中存在的某菜品修改菜品價(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ā)出"此后生意必定紅紅火火"的祝福語。4.數(shù)據(jù)庫物理設(shè)計(jì)數(shù)據(jù)庫在物理設(shè)備上的存儲(chǔ)結(jié)構(gòu)與存取方法就是數(shù)據(jù)庫的物理結(jié)構(gòu),它依賴于選定的數(shù)據(jù)庫管理系統(tǒng),為一個(gè)給定的邏輯數(shù)據(jù)模型選取一個(gè)最合適的應(yīng)用環(huán)境的物理結(jié)構(gòu)過程,就是數(shù)據(jù)庫的物理設(shè)計(jì)。這一階段主要任務(wù)時(shí)確定數(shù)據(jù)庫的物理結(jié)構(gòu),并不斷的進(jìn)行優(yōu)化處理,主要建立索引,觸發(fā)器,存儲(chǔ)過程。4.1存儲(chǔ)過程存儲(chǔ)過程可以實(shí)現(xiàn)數(shù)據(jù)庫操作的增刪改功能,在執(zhí)行時(shí)需要調(diào)用。御用像函數(shù)一樣,也可以有參數(shù)的參與。定義存儲(chǔ)過程提供了過程封裝的效果,執(zhí)行只需要調(diào)用,在更大程度上簡化了數(shù)據(jù)處理過程。餐飲管理具體存儲(chǔ)過程名稱和作用詳見3.2.3,具體代碼詳見第5.2.1部分4.2觸發(fā)器餐飲管理具體觸發(fā)器的名稱和作用詳見3.2.3,具體代碼詳見第5.2.1部分5.數(shù)據(jù)庫的實(shí)施5.1在SQL中數(shù)據(jù)庫實(shí)施5.1.1數(shù)據(jù)庫及數(shù)據(jù)庫對象的建立createdatabaseRestaurant_Management建表createtableMenus--菜譜<Dishnovarchar<10>primarykey,Dishnamevarchar<10>,Dishclassvarchar<10>,Dishpricefloat,>createtableCustomer--顧客<Customernovarchar<10>primarykey,Customernamevarchar<10>notnull,Customersexvarchar<4>check<Customersex='男'orCustomersex='女'>notnull,Customerphonenovarchar<20>uniquenotnull,>createtableFoodtable--餐桌<Foodtablenovarchar<10>primarykey,seatingnointnotnull,Foodtablestatevarchar<6>check<Foodtablestate='空'orFoodtablestate='有人'>,>droptableOdercreatetableOder--訂單<Odernovarchar<10>primarykey,Customernovarchar<10>notnull,consumetimedatetimenotnull,Foodtablenovarchar<10>notnull,Workernovarchar<10>notnull,foreignkey<Customerno>referencesCustomer<Customerno>,foreignkey<Foodtableno>referencesFoodtable<Foodtableno>,foreignkey<Workerno>referencesWorker<Workerno>,>createtableWorker--員工<Workernovarchar<10>primarykey,Workernamevarchar<10>,Workersexvarchar<4>check<Workersex='男'orWorkersex='女'>,Workerageint,Workersalaryint,>droptableMenus_OdercreatetableMenus_Oder--點(diǎn)菜<Odernovarchar<10>,Dishnovarchar<10>,Disnnamevarchar<10>,Dish_amountintnotnull,Primarykey<Dishno,Oderno>,foreignkey<Dishno>referencesMenus<Dishno>,foreignkey<Oderno>referencesOder<Oderno>,>droptableSales_billcreatetableSales_bill--銷售賬單<Odernovarchar<10>primarykey,Consumptionfloat,after_discountfloat,Billtimedatetime,foreignkey<Oderno>referencesOder<Oderno>>droptableDiscount_rulescreatetableDiscount_rules--折扣規(guī)則<Consumptionfloatprimarykey,Discountfloat,>5.1.2數(shù)據(jù)入庫本系統(tǒng)采用將數(shù)據(jù)逐條錄入的方法。5.2數(shù)據(jù)庫測試5.2.1對建立的數(shù)據(jù)庫及數(shù)據(jù)庫對象進(jìn)行測試〔1存儲(chǔ)過程插入新顧客信息dropprocedure插入新顧客信息createprocedure插入新顧客信息<@Customernovarchar<10>,@Customernamevarchar<10>,@Customersexvarchar<4>,@Customerphonenovarchar<20>>asinsertintoCustomervalues<@Customerno,@Customername,@Customersex,@Customerphoneno>select*fromCustomer驗(yàn)證execute插入新顧客信息'112699','李陽','男',下單就位dropprocedure下單就位createprocedure下單就位<@Odernovarchar<10>,@Customernovarchar<10>,@consumetimedatetime,@Foodtablenovarchar<10>,@Wokernovarchar<10>>asbegintransaction--開始事務(wù)insertintoOdervalues<@Oderno,@Customerno,@consumetime,@Foodtableno,@Wokerno>if<<selectFoodtablestatefromFoodtablewhereFoodtableno=@Foodtableno><>'空'>beginprint'該餐桌有人,請重選餐桌。'RollbacktranreturnendelsebeginupdateFoodtablesetFoodtablestate='有人'whereFoodtableno=@Foodtablenoprint'下單成功,請就位開始點(diǎn)菜'endcommittran驗(yàn)證execute下單就位'O_001','112699','2013-12-26','TB_005','W_002'execute下單就位'O_002','112698','2013-12-26','TB_004','W_003'當(dāng)餐桌有人時(shí),則顯示成功下單時(shí),則顯示查看下單情況select*fromOderselect*fromFoodtable菜譜的查詢select*fromMenus刪除菜譜中菜品createprocedure刪除菜譜中菜品@Dishnovarchar<10>asdeletefromMenusWhereDishno=@Dishnoselect*fromMenus驗(yàn)證execute刪除菜譜中菜品'D_112'修改菜品價(jià)格createprocedure修改菜品價(jià)格<@Dishnovarchar<10>,@Dishpricefloat>asupdateMenussetDishprice=@DishpriceWhereDishno=@Dishnoselect*fromMenus驗(yàn)證execute修改菜品價(jià)格'D_113','30'向菜譜增加菜品createprocedure向菜譜增加菜品<@Dishnovarchar<10>,@Dishnamevarchar<10>,@Dishclassvarchar<10>,@Dishpricefloat>asinsertintoMenusvalues<@Dishno,@Dishname,@Dishclass,@Dishprice>select*fromMenus驗(yàn)證execute向菜譜增加菜品'D_112','時(shí)蔬','小炒類','20'點(diǎn)菜的增加、查詢、刪除、修改點(diǎn)菜createprocedure點(diǎn)菜<@Odernovarchar<10>,@Dishnovarchar<10>,@Disnnamevarchar<10>,@Dish_amountint>asinsertintoMenus_Odervalues<@Oderno,@Dishno,@Disnname,@Dish_amount>select*fromMenus_OderwhereOderno=@Oderno驗(yàn)證execute點(diǎn)菜'O_001','D_111','小炒河蝦','2'execute點(diǎn)菜'O_001','D_114','雞蛋炒芹菜','1'execute點(diǎn)菜'O_001','D_115','三鮮湯','3'查詢客戶點(diǎn)菜信息createprocedure查詢顧客點(diǎn)菜信息@Customernovarchar<10>asselectCustomerno=@Customerno,Menus.Dishno,Dishname,Dish_amountfromMenus,Menus_Oder,OderwhereOder.Customerno=@CustomernoandMenus.Dishno=Menus_Oder.DishnoandOder.Oderno=Menus_Oder.Oderno驗(yàn)證execute查詢顧客點(diǎn)菜信息'112699'刪除菜品createprocedure刪除菜品<@Odernovarchar<10>,@Dishnovarchar<10>>asdeletefromMenus_OderWhereOderno=@OdernoandDishno=@Dishnoselect*fromMenus_OderwhereOderno=@Oderno驗(yàn)證execute刪除菜品'O_001','D_111'修改菜品數(shù)量createprocedure修改菜品數(shù)量<@Odernovarchar<10>,@Dishnovarchar<10>,@Dish_amountint>asupdateMenus_OdersetDish_amount=@Dish_amountWhereOderno=@OdernoandDishno=@Dishnoselect*fromMenus_OderwhereOderno=@Oderno驗(yàn)證execute修改菜品數(shù)量'O_001','D_111','3',計(jì)算總消費(fèi)額DROPprocedure消費(fèi)總額createprocedure消費(fèi)總額<@Odernovarchar<10>,@Consumptionfloatoutput,@discountfloatoutput>asselect@Consumption=SUM<Dishprice*Dish_amount>fromMenus_Oder,Menus,OderwhereMenus.Dishno=Menus_Oder.DishnoandOder.Oderno=Menus_Oder.OdernoandOder.Oderno=@Odernobegintran啟用事務(wù)ifexists<selectConsumptionfromDiscount_ruleswhereConsumption=@Consumption>--判斷Discount_rules中是否有對應(yīng)折扣beginselect@discount=DiscountfromDiscount_ruleswhereConsumption=@ConsumptionendELSEbeginINSERTintoDiscount_rules<Consumption>VALUES<@Consumption>--將@Consumption插入到Discount_rulesselect@discount=DiscountfromDiscount_ruleswhereConsumption=@Consumption--獲取對應(yīng)折扣endifexists<selectOdernofromSales_billwhereOderno=@Oderno>--判斷消費(fèi)賬單是否已有該消費(fèi)記錄beginprint'消費(fèi)記錄已插入消費(fèi)賬單,別重復(fù)插入'endelsebegininsertintoSales_bill<Oderno,Consumption,after_discount,Billtime>values<@Oderno,@Consumption,@Consumption*@discount,GETDATE<>>print'成功將消費(fèi)記錄插入到消費(fèi)賬單'endcommittran--提交事務(wù)驗(yàn)證declare@Consumptionfloat,@discountfloat,@Odernovarchar<10>='O_001'execute消費(fèi)總額'O_001',@Consumptionoutput,@discountoutputselectOderno,Customername,@Consumption總消費(fèi),@discount折扣fromOder,CustomerwhereCustomer.Customerno=Oder.CustomernoandOderno=@Oderno并把消費(fèi)信息插入到消費(fèi)記錄中若已經(jīng)結(jié)賬,則提示結(jié)賬后餐桌狀態(tài)createprocedure結(jié)賬后更改信息@Odernovarchar<10>asupdateFoodtable修改餐桌狀態(tài)setFoodtablestate='空'whereFoodtableno=<selectFoodtablenofromOderwhereOderno=@Oderno>驗(yàn)證execute結(jié)賬后更改信息'O_001'對菜譜的操作查詢菜譜select*fromMenus刪除菜譜中菜品createprocedure刪除菜譜中菜品@Dishnovarchar<10>asdeletefromMenusWhereDishno=@Dishnoselect*fromMenus驗(yàn)證execute刪除菜譜中菜品'D_112'執(zhí)行前:執(zhí)行后:修改菜品價(jià)格createprocedure修改菜品價(jià)格<@Dishnovarchar<10>,@Dishpricefloat>asupdateMenussetDishprice=@DishpriceWhereDishno=@Dishnoselect*fromMenus驗(yàn)證execute修改菜品價(jià)格'D_113','40'執(zhí)行后:向菜譜增加菜品createprocedure向菜譜增加菜品<@Dishnovarchar<10>,@Dishnamevarchar<10>,@Dishclassvarchar<10>,@Dishpricefloat>asinsertintoMenusvalues<@Dishno,@Dishname,@Dishclass,@Dishprice>select*fromMenus驗(yàn)證execute向菜譜增加菜品'D_112','時(shí)蔬','小炒類','20'執(zhí)行后:〔2觸發(fā)器折扣DROPtriggertrig_discountcreatetriggertrig_discountonDiscount_rulesforinsertasbegindeclare@expandfloatselect@expand=ConsumptionFrominsertedif<@expand<50>beginupdateDiscount_rulessetDiscount=1whereConsumption=@expandendelseif<@expand>=50and@expand<100>beginupdateDiscount_rulessetdiscount=0.95whereConsumption=@expandendelseif<@expand>=100and@expand<150>beginupdateDiscount_rulessetdiscount=0.90whereConsumption=@expandendelseif<@expand>=150and@e
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 部編版道德與法治九年級下冊第二單元第三課《與世界緊相連第2框與世界深度互動(dòng)》聽課評課記錄
- 2022版新課標(biāo)七年級上冊道德與法治第五課交友的智慧2課時(shí)聽課評課記錄
- 人教版數(shù)學(xué)九年級上冊《直接開平方法解方程》聽評課記錄3
- 人教版地理八年級下冊7.1《自然特征與農(nóng)業(yè)》聽課評課記錄
- 環(huán)境評估服務(wù)合同(2篇)
- 湘教版數(shù)學(xué)八年級上冊2.2《命題的證明》聽評課記錄2
- 北師大版道德與法治九年級上冊6.2《弘揚(yáng)法治精神》聽課評課記錄
- 北京課改版歷史八年級上冊第10課《辛亥革命與中華民國建立》聽課評課記錄
- 湘教版數(shù)學(xué)七年級上冊《2.5整式的加法和減法(1)》聽評課記錄2
- 部編版八年級歷史上冊《第1課 鴉片戰(zhàn)爭》聽課評課記錄
- 2024年臨床醫(yī)師定期考核試題中醫(yī)知識題庫及答案(共330題) (二)
- 2025-2030年中國反滲透膜行業(yè)市場發(fā)展趨勢展望與投資策略分析報(bào)告
- 湖北省十堰市城區(qū)2024-2025學(xué)年九年級上學(xué)期期末質(zhì)量檢測道德與法治試題 (含答案)
- 山東省濰坊市2024-2025學(xué)年高三上學(xué)期1月期末 英語試題
- 春節(jié)節(jié)后收心會(huì)
- 《榜樣9》觀后感心得體會(huì)四
- 七年級下冊英語單詞表(人教版)-418個(gè)
- 2025年山東省濟(jì)寧高新區(qū)管委會(huì)“優(yōu)才”招聘20人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025年中國社會(huì)科學(xué)評價(jià)研究院第一批專業(yè)技術(shù)人員招聘2人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 交警安全進(jìn)校園課件
- (2024年高考真題)2024年普通高等學(xué)校招生全國統(tǒng)一考試數(shù)學(xué)試卷-新課標(biāo)Ⅰ卷(含部分解析)
評論
0/150
提交評論