數(shù)據(jù)庫課程設(shè)計 餐飲下單管理系統(tǒng)
《數(shù)據(jù)庫課程設(shè)計 餐飲下單管理系統(tǒng)》由會員分享,可在線閱讀,更多相關(guān)《數(shù)據(jù)庫課程設(shè)計 餐飲下單管理系統(tǒng)(35頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、目 錄 1.課題名稱及目標(biāo) 1 2.需求分析 1 2.1 數(shù)據(jù)需求 1 2.2事務(wù)需求 2 2.3數(shù)據(jù)流 3 2.4數(shù)據(jù)字典 5 3.數(shù)據(jù)庫結(jié)構(gòu)設(shè)計 8 3.1概念設(shè)計 8 3.1.1分E-R圖的建立 8 3.1.2整體E-R圖 9 3.2邏輯設(shè)計 10 3.2.1 E-R圖向關(guān)系模型的轉(zhuǎn)換 10 3.2.2優(yōu)化處理 11 3.2.3 用戶子模式建立 12 4.數(shù)據(jù)庫物理設(shè)計 12 4.1存儲過程 13 4.2 觸發(fā)器 13 5.數(shù)據(jù)庫的實施 13 5.1在SQL中數(shù)據(jù)庫實施 13 5.1.1數(shù)據(jù)庫及數(shù)據(jù)庫對象的建立 13 5.1.2數(shù)據(jù)
2、入庫 15 5.2 數(shù)據(jù)庫測試 15 5.2.1對建立的數(shù)據(jù)庫及數(shù)據(jù)庫對象進(jìn)行測試 15 6. 總結(jié) 29 7. 附錄 30 1 1.課題名稱及目標(biāo) 本次實訓(xùn)要設(shè)計的數(shù)據(jù)庫課題名稱是餐廳管理系統(tǒng)。 餐廳管理系統(tǒng)的功能主要包括顧客點菜、結(jié)賬、對員工資料進(jìn)行管理、對餐桌信息進(jìn)行統(tǒng)一設(shè)置、對消費情況進(jìn)行查詢等功能。基本功能如下: (1)菜譜信息管理:對菜譜進(jìn)行增、查、改、刪操作。即可查詢當(dāng)前餐廳所推出的菜品,增加菜品,修改菜品的價格,刪除菜品。 (2)餐桌信息管理:能查詢當(dāng)前餐廳中所有餐桌的座位數(shù)以及使用情況,客人可以對位實現(xiàn)的餐桌進(jìn)行使用申請。 (3)顧客信息管理:可
3、以查詢顧客的相關(guān)信息,如性別,年齡,聯(lián)系方式等。當(dāng)有新顧客時,可添加新顧客的信息。 (4)顧客下訂單功能:實現(xiàn)下訂單,具有唯一的訂單號,可用于結(jié)賬??筛鶕?jù)顧客的人數(shù)選擇相應(yīng)的餐桌號,并且能夠指定服務(wù)員。 (6)顧客點菜:實現(xiàn)顧客點菜功能。顧客可以對所下的訂單進(jìn)行修改,即可刪除所點的菜品或是修改數(shù)量。同時可以查詢某位顧客的訂單。 (7)顧客結(jié)賬:根據(jù)訂單號進(jìn)行結(jié)賬(防止有相同姓名的顧客,以致結(jié)錯帳)。能夠根據(jù)消費金額進(jìn)行對應(yīng)的折扣,并把消費信息存檔到消費記錄中去。 2.需求分析 通過了解餐飲行業(yè)的特點和實際情況,從分析飯店的基本情況入手,結(jié)合要實現(xiàn)的功能,對系統(tǒng)的可行性進(jìn)行分析,為提高
4、其可行性,故做了以下數(shù)據(jù)分析。 2.1 數(shù)據(jù)需求 餐桌數(shù)據(jù)包括餐桌號、座位數(shù)、狀態(tài)(空/有人) 餐廳存儲有顧客信息,員工信息。 菜品信息有菜品編號、名稱、類別、價格等 v 具體數(shù)據(jù)需求如下: 3 ◎下訂單階段需要的數(shù)據(jù) l 顧客信息:包括顧客編號。 l 訂單信息:包括訂單編號、消費時間。 l 餐桌信息:包括編號、可容人數(shù)、使用狀態(tài)等 l 員工信息:包括員工工號。 ◎點菜階段需要的數(shù)據(jù) l 訂單信息:訂單編號 l 菜品信息:包括菜品編號、菜品名稱、菜品數(shù)量等。 ◎結(jié)賬階段需要的數(shù)據(jù): l 訂單信息:包括訂單編號、顧客編號 l 菜品信息:包括菜品編號、
5、菜品名稱、菜品數(shù)量等。 l 員工信息:包括員工工號 l 折扣信息:包括消費金額、折扣數(shù) ◎員工管理需要的數(shù)據(jù): l 員工檔案:包括工號、姓名、性別、工資 ◎顧客管理需要的數(shù)據(jù): l 顧客檔案:包括編號、姓名、性別等。 ◎消費記錄管理需要的數(shù)據(jù)有: l 消費信息:訂單編號、消費金額、折扣后金額、結(jié)賬時間 2.2事務(wù)需求 v 數(shù)據(jù)錄入 l 錄入顧客信息 l 錄入餐桌信息 l 錄入員工信息 l 錄入菜品信息 v 數(shù)據(jù)更新/刪除 l 更新/刪除餐桌信息 l 更新/刪除菜譜菜品信息 l 更新/刪除員工信息 l 更新/刪除顧客信息 l 更新/刪除訂單菜品信息
6、 v 數(shù)據(jù)查詢 l 查詢可用餐桌信息 l 查詢在售菜品信息 l 查詢訂單信息 l 查詢顧客點菜信息 l 查詢員工信息 l 查詢顧客消費信息 2.3數(shù)據(jù)流 (1)頂層數(shù)據(jù)流 P1 訂單處理 E2 服務(wù)員 E1 顧客 負(fù)責(zé) F1 變更信息 (2) 第一層數(shù)據(jù)流 P2.2 點菜處理 F2.1 折扣 菜譜 P2.1 直接
7、下單 E2.1 顧客 E2.3 服務(wù)員 P2.3 結(jié)賬 E2.2 訂單 就位 生成 賬單 (3)第二層數(shù)據(jù)流 點菜業(yè)務(wù) 申請變更 P3.1.2 點菜處理 反饋變更 查看菜譜 P3.1.5 判斷變更方式 P3.1.4 變更處理
8、 加菜、減菜 P3.1.1 直接下單 F3.1.2 存儲賬單 E3.1.2 訂單 E3.1.1 顧客 就位 生成 賬單 P3.1.3 后臺處理 F3.1.1 存儲訂單 點菜業(yè)務(wù) 2.4數(shù)據(jù)字典 1) 數(shù)據(jù)項 Foodtable(餐桌)數(shù)據(jù)項 屬性 存儲代碼 類型 長度 餐桌號 Foodtableno varchar
9、 10 座位數(shù) seatingno int 使用狀態(tài) Foodtablestate varchar 10 Menus(菜譜)數(shù)據(jù)項 屬性 存儲代碼 類型 長度 編號 Dishno varchar 10 名稱 Dishname varchar 10 類別 Dishclass varchar 10 價格 Dishprice float Worker(員工)數(shù)據(jù)項 屬性 存儲代碼 類型 長度 工號 Workerno varchar 10 姓名 Workername varc
10、har 10 性別 Workersex varchar 4 年齡 Workerage int 工資 Workersalary int Customer(顧客)數(shù)據(jù)項 屬性 存儲代碼 類型 長度 編號 Customerno varchar 10 姓名 Customername varchar 10 性別 Customersex varchar 4 聯(lián)系方式 Customerphoneno varchar 20 Oder(訂單)數(shù)據(jù)項 屬性 存儲代碼 類型 長度
11、訂單編號 Oderno varchar 10 顧客編號 Customerno varchar 10 消費時間 consumetime datetime 餐桌編號 Foodtableno varchar 10 服務(wù)員編號 Workerno varchar 10 Menus_Oder(點菜)數(shù)據(jù)項 屬性 存儲代碼 類型 長度 訂單編號 Oderno varchar 10 菜品編號 Dishno varchar 10 菜品名稱 Disnname varchar 10 菜品數(shù)量 Dish_amount int
12、 Discount_rules(折扣規(guī)則)數(shù)據(jù)項 屬性 存儲代碼 類型 長度 消費金額 Consumption float 折扣 Discount float Sales_bill(消費賬單)數(shù)據(jù)項 屬性 存儲代碼 類型 長度 訂單編號 Oderno varchar 10 消費金額 Consumption float 折扣后金額 after_discount float 賬單時間 Billtime int 2) 數(shù)據(jù)結(jié)構(gòu) 編號 數(shù)據(jù)結(jié)
13、構(gòu)名 屬性 1 餐桌信息 餐桌號、座位數(shù)、使用狀態(tài) 2 菜譜 編號、名稱、類別、價格 3 員工信息 工號、姓名、性別、年齡、工資 4 顧客信息 編號、姓名、性別、聯(lián)系方式 5 訂單信息 訂單編號、顧客編號、消費時間、餐桌編號、服務(wù)員編號 6 點菜 訂單編號、菜品編號、菜品名稱、菜品數(shù)量 7 折扣規(guī)則 消費金額、折扣 8 消費賬單 訂單編號、消費金額、折扣后金額、賬單時間 3) 數(shù)據(jù)流 編號 數(shù)據(jù)流名 輸入 輸出 1 菜品信息 修改菜品 菜譜 2
14、 空閑餐桌 選擇餐桌 訂單 3 點菜信息 加菜退菜 點菜 4 記入賬單 訂單 結(jié)賬 5 結(jié)賬 折扣方式 結(jié)賬 4) 數(shù)據(jù)存儲 編號 數(shù)據(jù)存儲名 輸入 輸出 1 顧客信息更新 顧客新信息 顧客信息 2 菜譜更新 新增菜品 菜譜 3 訂單儲存 訂單
15、 訂單信息 4 餐桌更新 新增餐桌 餐桌 5 賬單存儲 消費信息 賬單記錄 5) 處理過程 編號 處理過程名 輸入數(shù)據(jù)流 輸出數(shù)據(jù)流 1 顧客點菜 菜譜 訂單 2 結(jié)賬 訂單 賬單記錄 3.數(shù)據(jù)庫結(jié)構(gòu)設(shè)計 3.1概念設(shè)計 3.1.1分E-R圖的建立 (1) 訂單形成過程1 n 1 1 1 n n n 1 n 負(fù)責(zé) 包含
16、 菜品 選擇 菜譜 顧客 查看 生成 訂單 服務(wù)員 (2)結(jié)賬形成過程 消費金額 包含 支付 顧客 訂單 對應(yīng) 折扣規(guī)則 對應(yīng) 3.1.2整體E-R圖 1 1 1 對應(yīng) 1 1 1 1 1 1 1 對應(yīng) 1 1 1 1 1 1 1 n n n n n 工資 對應(yīng) 員工 折扣 銷售記錄 賬單 支付 保存 位置 餐桌 負(fù)責(zé) 訂單
17、下單 包含 菜品 選擇 查看 顧客 菜譜 3.2邏輯設(shè)計 3.2.1 E-R圖向關(guān)系模型的轉(zhuǎn)換 A. 轉(zhuǎn)換規(guī)則 一個實體型轉(zhuǎn)換成一個關(guān)系模型。實體的屬性就是關(guān)系的屬性,實體的碼就是關(guān)系的碼。 實體型間的聯(lián)系常有如下不同的情況: a. 一個1:1聯(lián)系可以轉(zhuǎn)換為一個獨立的關(guān)系模式,也可以任意一端對應(yīng)的關(guān)系模式合并。 b. 一個1:n聯(lián)系可以轉(zhuǎn)換成一個獨立的關(guān)系模式,也可以與n端對應(yīng)的關(guān)系模式合并。 c. 一個m:n聯(lián)系轉(zhuǎn)換成一個關(guān)系模式。 d. 3或3個以上實體間的一個多聯(lián)系可以轉(zhuǎn)換成一個關(guān)系模式。 e. 具有相同碼的關(guān)系模式可合并。 B.根據(jù)以上規(guī)則得到如下關(guān)系
18、模型(下劃線的屬性為主碼) 菜譜(菜品編號,菜品名稱,菜品類別,菜品價格) 顧客(顧客編號,姓名,性別,年齡,聯(lián)系方式) 餐桌(餐桌號,座位數(shù),使用狀態(tài)) 員工(工號,姓名,性別,年齡,工資) 訂單(訂單編號,顧客編號,消費時間,餐桌編號,服務(wù)員編號) 菜譜_訂單(訂單編號,菜品編號,菜品名稱,菜品數(shù)量) 消費記錄(訂單號,消費金額,折扣后金額,賬單時間) 折扣規(guī)則(消費金額,折扣) 3.2.2優(yōu)化處理 1) 確定數(shù)據(jù)依賴。 2) 對各個關(guān)系模式間的數(shù)據(jù)依賴進(jìn)行極小化分析,減小冗余。 3) 按照數(shù)據(jù)依賴的理論對關(guān)系模式進(jìn)行分析,看是否存在部分函數(shù)依賴或函數(shù)傳遞或多值依賴
19、等,確保各關(guān)系模式滿足第三范式。 4) 按照需求分析階段得到的處理要求,分析對于這樣的應(yīng)用環(huán)境這些模式是否合適,確定是否要對某些模式進(jìn)行合并或分解。 5) 對關(guān)系模式進(jìn)行必要的分解,分析對于這樣的應(yīng)用環(huán)境這些模式是否合適,確定是否要對某些模式進(jìn)行合并或分解。 3.2.3 用戶子模式建立 名稱 描述 插入新顧客信息 若是新顧客,則插入顧客的信息,姓名,性別等 下單就位 顧客來餐,下訂單,分配餐桌 點菜 存儲顧客所點的菜品 刪除菜品 刪除顧客所點的某菜品 修改菜品數(shù)量 修改顧客所點的某菜品的數(shù)量 查詢顧客點菜信息 查詢顧客所點的菜品 消費總額 計算顧客本次
20、消費的總額。顧客支付完賬單時,把消費信息存檔到消費記錄中 結(jié)賬后更改餐桌狀態(tài) 當(dāng)顧客結(jié)賬后,把餐桌狀態(tài)改為“空” 刪除菜譜中菜品 刪除菜譜中存在的某菜品 修改菜品價格 修改菜譜中某菜品的價格 向菜譜添加菜品 向菜譜添加新菜品 trig_discount 觸發(fā)器,顧客進(jìn)行結(jié)賬時,消費金額在不同的區(qū)間會有不同的折扣。 trig_Sales_bill 觸發(fā)器,當(dāng)消費金額達(dá)到一定額數(shù)時,會送相應(yīng)優(yōu)惠券 trig_Menus 觸發(fā)器,當(dāng)向菜譜添加新菜品,若該菜品名稱含有“紅”字,會發(fā)出“此后生意必定紅紅火火”的祝福語。 4.數(shù)據(jù)庫物理設(shè)計 數(shù)據(jù)庫在物理設(shè)備上的存儲結(jié)
21、構(gòu)與存取方法就是數(shù)據(jù)庫的物理結(jié)構(gòu),它依賴于選定的數(shù)據(jù)庫管理系統(tǒng),為一個給定的邏輯數(shù)據(jù)模型選取一個最合適的應(yīng)用環(huán)境的物理結(jié)構(gòu)過程,就是數(shù)據(jù)庫的物理設(shè)計。這一階段主要任務(wù)時確定數(shù)據(jù)庫的物理結(jié)構(gòu),并不斷的進(jìn)行優(yōu)化處理,主要建立索引,觸發(fā)器,存儲過程。 4.1存儲過程 存儲過程可以實現(xiàn)數(shù)據(jù)庫操作的增刪改功能,在執(zhí)行時需要調(diào)用。御用像函數(shù)一樣,也可以有參數(shù)的參與。定義存儲過程提供了過程封裝的效果,執(zhí)行只需要調(diào)用,在更大程度上簡化了數(shù)據(jù)處理過程。 餐飲管理具體存儲過程名稱和作用詳見3.2.3,具體代碼詳見第5.2.1部分 4.2 觸發(fā)器 餐飲管理具體觸發(fā)器的名稱和作用詳見3.2.3,具體代碼詳見
22、第5.2.1部分 5.數(shù)據(jù)庫的實施 5.1在SQL中數(shù)據(jù)庫實施 5.1.1數(shù)據(jù)庫及數(shù)據(jù)庫對象的建立 create database Restaurant_Management ---------建表-------------------------------------------------- create table Menus --菜譜 (Dishno varchar(10) primary key, Dishname varchar(10), Dishclass varchar(10), Dishprice float, ) create
23、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 null, ) create table Foodtable --餐桌 (Foodtableno varchar(10) primary key, seatingno in
24、t not null, Foodtablestate varchar(6)check(Foodtablestate=空 or Foodtablestate=有人), ) drop table Oder create table Oder --訂單 (Oderno varchar(10) primary key, Customerno varchar(10) not null, consumetime datetime not null, Foodtableno varchar(10) not null, Workerno varchar(10) not null, for
25、eign 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), Workersex varchar(4) check(Workersex=男
26、or Workersex=女), Workerage int, Workersalary int, ) drop table Menus_Oder create table Menus_Oder --點菜 (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 key(Oderno
27、) references Oder(Oderno), ) drop table Sales_bill create table Sales_bill --銷售賬單 ( Oderno varchar(10) primary key , Consumption float, after_discount float, Billtime datetime, foreign key(Oderno) references Oder(Oderno) ) drop table Discount_rules create table Discount_rules --折扣規(guī)
28、則 (Consumption float primary key, Discount float, ) 5.1.2數(shù)據(jù)入庫 本系統(tǒng)采用將數(shù)據(jù)逐條錄入的方法。 5.2 數(shù)據(jù)庫測試 5.2.1對建立的數(shù)據(jù)庫及數(shù)據(jù)庫對象進(jìn)行測試 (1)存儲過程 ------------------------插入新顧客信息--------------- drop procedure 插入新顧客信息 create procedure 插入新顧客信息 (@Customerno varchar(10), @Customername varchar(10), @Customer
29、sex varchar(4), @Customerphoneno varchar(20) ) as insert into Customer values(@Customerno,@Customername,@Customersex,@Customerphoneno) select * from Customer ----------------驗證----------------------------------- execute 插入新顧客信息112699,李陽,男,13413843065 ----------------下單就位--------
30、--- drop procedure 下單就位 create procedure 下單就位 (@Oderno varchar(10) , @Customerno varchar(10), @consumetime datetime, @Foodtableno varchar(10), @Wokerno varchar(10) ) as begin transaction --開始事務(wù) insert into Oder values(@Oderno,@Customerno,@consumetime,@Foodtableno,@Wokerno ) if ((
31、select Foodtablestate from Foodtable where Foodtableno=@Foodtableno)<>空) begin print 該餐桌有人,請重選餐桌。 Rollback tran return end else begin update Foodtable set Foodtablestate =有人 where Foodtableno=@Foodtableno print 下單成功,請就位開始點菜 end com
32、mit tran ---------------驗證---------------
33、- execute 下單就位O_001,112699,2013-12-26,TB_005,W_002 execute 下單就位O_002,112698,2013-12-26,TB_004,W_003 當(dāng)餐桌有人時,則顯示 成功下單時,則顯示 ----------查看下單情況---------- select * from Oder select * from Foodtable ---------------菜譜的查詢--------- select * from Menus ----------------------刪除菜譜中菜品--
34、--------- create procedure 刪除菜譜中菜品 @Dishno varchar(10) as delete from Menus Where Dishno=@Dishno select * from Menus ------------------驗證---------------- execute 刪除菜譜中菜品 D_112 -------修改菜品價格---------- create procedure 修改菜品價格 ( @Dishno varchar(10), @Dishprice float ) as update
35、 Menus set Dishprice=@Dishprice Where Dishno=@Dishno select * from Menus ----------------驗證-------------------- execute 修改菜品價格 D_113,30 ---------------向菜譜增加菜品-------------- create procedure 向菜譜增加菜品 (@Dishno varchar(10), @Dishname varchar(10), @Dishclass varchar(10), @Dishprice f
36、loat ) as insert into Menus values(@Dishno,@Dishname,@Dishclass,@Dishprice) select * from Menus -----------------驗證-------------------- execute 向菜譜增加菜品D_112,時蔬,小炒類,20 ---------------------------------------------點菜的增加、查詢、刪除、修改-------------------------- ---------------點菜---------
37、---- create procedure 點菜 (@Oderno varchar(10), @Dishno varchar(10), @Disnname varchar(10), @Dish_amount int ) as insert into Menus_Oder values(@Oderno,@Dishno,@Disnname,@Dish_amount) select * from Menus_Oder where Oderno=@Oderno -------------驗證----------- execute 點菜O_001,D_111,小炒河蝦,2
38、 execute 點菜O_001,D_114,雞蛋炒芹菜,1 execute 點菜O_001,D_115,三鮮湯,3 ----------------查詢客戶點菜信息--------------- create procedure 查詢顧客點菜信息 @Customerno varchar(10) as select Customerno=@Customerno,Menus.Dishno,Dishname,Dish_amount from Menus,Menus_Oder,Oder where Oder.Customerno=@Customerno and Menus.
39、Dishno=Menus_Oder.Dishno and Oder.Oderno=Menus_Oder.Oderno ---------------驗證--------------------- execute 查詢顧客點菜信息 112699 --------------刪除菜品-------------------- create procedure 刪除菜品 (@Oderno varchar(10), @Dishno varchar(10) ) as delete from Menus_Oder Where Oderno=@Oderno and Dishn
40、o=@Dishno select * from Menus_Oder where Oderno=@Oderno ------------------驗證---------------- execute 刪除菜品 O_001,D_111 ------------------修改菜品數(shù)量--------------- create procedure 修改菜品數(shù)量 (@Oderno varchar(10), @Dishno varchar(10), @Dish_amount int ) as update Menus_Oder set Dish_amount=@D
41、ish_amount Where Oderno=@Oderno and Dishno=@Dishno select * from Menus_Oder where Oderno=@Oderno ----------------驗證-------------------- execute 修改菜品數(shù)量 O_001,D_111,3 , ---------------計算總消費額----------- DROP procedure 消費總額 create procedure 消費總額 (@Oderno varchar(10), @Consumption float outp
42、ut, @discount float output ) as select @Consumption=SUM(Dishprice*Dish_amount) from Menus_Oder,Menus,Oder where Menus.Dishno=Menus_Oder.Dishno and Oder.Oderno=Menus_Oder.Oderno and Oder.Oderno=@Oderno begin tran ----啟用事務(wù) if exists (select Consumption from Discount_rules where Consumption
43、=@Consumption) --判斷Discount_rules中是否有對應(yīng)折扣 begin select @discount=Discount from Discount_rules where Consumption=@Consumption end ELSE begin INSERT into Discount_rules(Consumption) VALUES(@Consumption) --將@Consumption插入到Discount_rules select @discount=Discount fro
44、m Discount_rules where Consumption=@Consumption --獲取對應(yīng)折扣 end if exists(select Oderno from Sales_bill where Oderno=@Oderno)--判斷消費賬單是否已有該消費記錄 begin print 消費記錄已插入消費賬單,別重復(fù)插入 end else begin insert into Sales_bill(Oderno,Consumption,after_discount,Billtim
45、e) values(@Oderno,@Consumption,@Consumption*@discount,GETDATE()) print 成功將消費記錄插入到消費賬單 end commit tran --提交事務(wù) -------------驗證---------------- declare @Consumption float,@discount float,@Oderno varchar(10)=O_001 execute 消費總額 O_001,@Consumption output,@discount output select Oder
46、no,Customername,@Consumption 總消費,@discount 折扣 from Oder,Customer where Customer.Customerno=Oder.Customerno and Oderno=@Oderno 并把消費信息插入到消費記錄中 若已經(jīng)結(jié)賬,則提示 ----------------結(jié)賬后餐桌狀態(tài)------------ create procedure 結(jié)賬后更改信息 @Oderno varchar(10) as update Foodtable ----修改餐桌狀態(tài) set Foodtables
47、tate=空 where Foodtableno=(select Foodtableno from Oder where Oderno=@Oderno) ------------驗證------------- execute 結(jié)賬后更改信息 O_001 -----------------------------------------對菜譜的操作------------------------ ---------------查詢菜譜--------- select * from Menus -------------刪除菜譜中菜品----------- crea
48、te procedure 刪除菜譜中菜品 @Dishno varchar(10) as delete from Menus Where Dishno=@Dishno select * from Menus ------------------驗證---------------- execute 刪除菜譜中菜品 D_112 執(zhí)行前: 執(zhí)行后: -------修改菜品價格---------- create procedure 修改菜品價格 ( @Dishno varchar(10), @Dishprice float ) as update
49、Menus set Dishprice=@Dishprice Where Dishno=@Dishno select * from Menus ----------------驗證-------------------- execute 修改菜品價格 D_113,40 執(zhí)行后: ---------------向菜譜增加菜品-------------- create procedure 向菜譜增加菜品 (@Dishno varchar(10), @Dishname varchar(10), @Dishclass varchar(10), @Dishpric
50、e float ) as insert into Menus values(@Dishno,@Dishname,@Dishclass,@Dishprice) select * from Menus -----------------驗證-------------------- execute 向菜譜增加菜品D_112,時蔬,小炒類,20 執(zhí)行后: (2)觸發(fā)器 -----------------------折扣----------------------- DROP trigger trig_discount create trigger trig_dis
51、count on Discount_rules for insert as begin declare @expand float select @expand=Consumption From inserted if(@expand<50) begin update Discount_rules set Discount=1 where Consumption=@expand end else if(@expand>=50and @expand<100) begin update Discount_rules
52、 set discount=0.95 where Consumption=@expand end else if(@expand>=100and @expand<150) begin update Discount_rules set discount=0.90 where Consumption=@expand end else if(@expand>=150and @expand<200) begin update Discount_rules set discount=0.85 where Cons
53、umption=@expand end else begin update Discount_rules set discount=0.80 where Consumption=@expand end end ---驗證----- insert into Discount_rules(Consumption) values(250) select Discount from Discount_rules WHERE Consumption=250 -----------送優(yōu)惠券-------- drop trigger t
54、rig_Sales_bill create trigger trig_Sales_bill on Sales_bill for insert as begin declare @expand float select @expand=Consumption From inserted if(@expand>=150and @expand<200) begin print 送您5元優(yōu)惠券 end else if(@expand>=200) begin print 送您10元優(yōu)惠券 end end ---------
55、--祝福語-------------------- drop trigger trig_Menus create trigger trig_Menus on Menus for insert as begin declare @dishname varchar(10) select @dishname=dishname From inserted if (@dishname like %紅%) begin print 此后生意必定紅紅火火 end end 6. 總結(jié) 這次課程設(shè)計中遇到一個最嚴(yán)重的問題就是時間太短,太少了。本
56、來是有一個星期的,但除去考試、上課的時間,以及構(gòu)思、整理思路,畫E-R圖的時間,真正動手開始做課程設(shè)計的時間就所剩不多了。不過經(jīng)過幾個晚上的熬夜、拼命,最后還是完成了。不過有點遺憾的是,在構(gòu)思時,我本想使這個系統(tǒng)更完善,具備更多的功能,但卻由于時間問題,最終只能放棄了,甚至我自己本身很清楚,現(xiàn)在完成的這個系統(tǒng)還是存有缺陷的,無法完全滿足實際生活所需。在這次實訓(xùn)中,遇到的問題也有關(guān)于知識方面的,不過在老師的悉心指導(dǎo)以及同學(xué)們的幫助下,最終都一一解決了。 在這個課程設(shè)計中,我學(xué)到的東西還是很多的,感受頗多。第一,這次課程設(shè)計鞏固了之前學(xué)習(xí)到的知識,并將學(xué)到的知識進(jìn)行了串聯(lián)。第二,我初略學(xué)到了設(shè)計
57、一個數(shù)據(jù)庫的幾個步驟:需求分析,概念結(jié)構(gòu)設(shè)計,邏輯結(jié)構(gòu)設(shè)計,物理結(jié)構(gòu)設(shè)計,運行,實現(xiàn),運行和維護(hù)。第三,學(xué)會熟練使用存儲過程以及觸發(fā)器。之前并沒有做過有關(guān)存儲過程的實驗,觸發(fā)器方面的實驗也很少。不過借此機會,我已把它們掌握了。 這一學(xué)期的數(shù)據(jù)庫就以這次實訓(xùn)落幕了。感覺挺不舍的。雖然之后也沒有相關(guān)的課程了,但我覺得我對數(shù)據(jù)庫的學(xué)習(xí)并不會就此止步。接下來的想法就是把所學(xué)到的知識強化,達(dá)到能運用自如,并且想要學(xué)會C++或是JAVA跟數(shù)據(jù)庫的連接。 7. 附錄 附錄1 數(shù)據(jù)庫各表截圖 (1)Customer表 (2)Discount_rules表 (3)Foodtable表 (4)Menus表 (5)Menus_Oder表 (6)Oder表 (7)Sales_bill表 (8)Worker表 附錄2 視圖截圖 (1)點菜視圖 (2) 結(jié)賬視圖 (3)整體視圖 附錄3 存儲過程 35
- 溫馨提示:
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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 雅馬哈ts-x_ts-s使用說明課件
- 多元函數(shù)的微積分
- 商業(yè)保險與社會保險的區(qū)別
- HL-X6280終端培訓(xùn)手冊
- 汽車電路原理
- 通信網(wǎng)絡(luò)演進(jìn)及LTE關(guān)鍵技術(shù)教材
- 借助展業(yè)夾提升平安福簽單率廣東葉華東終稿[1]課件
- (精品)珠江國際城代管人員2
- 零售-7-11經(jīng)營模式分析
- 電子病歷簡介及門診醫(yī)生工作站[1]課件
- 食管癌術(shù)后早期營養(yǎng)支持相關(guān)研究
- LHQ電纜層保護(hù)器相關(guān)型號列表參數(shù)
- 大腦前動脈動脈瘤用
- 甲真菌病各藥物特點教學(xué)課件
- 滑輪組機械效率