【正文】
declare @Consumption float,@discount float,@Oderno varchar(10)=39。O_00139。 execute 消費(fèi)總額 39。O_00139。,@Consumption output,@discount output select Oderno,Customername,@Consumption 總消費(fèi) ,@discount 折扣 from Oder,Customer where = and Oderno=@Oderno 并把消費(fèi)信息插入到消費(fèi)記錄中 若已經(jīng)結(jié)賬,則提示 結(jié)賬后 餐桌狀態(tài) create procedure 結(jié)賬后更改信息 @Oderno varchar(10) as update Foodtable 修改餐桌 狀態(tài) set Foodtablestate=39???39。 where Foodtableno=(select Foodtableno from Oder where Oderno=@Oderno) 驗(yàn)證 . execute 結(jié)賬后更改信息 39。O_00139。 對(duì)菜譜的操作 查詢(xún)菜譜 select * from Menus 刪除菜譜中菜品 create procedure 刪除菜譜中菜品 @Dishno varchar(10) as delete from Menus Where Dishno=@Dishno select * from Menus 驗(yàn)證 execute 刪除菜譜中菜品 39。D_11239。 執(zhí)行前: . 執(zhí)行后: . 修改菜品價(jià)格 create procedure 修改菜品價(jià)格 ( @Dishno varchar(10), @Dishprice float ) as update Menus set Dishprice=@Dishprice Where Dishno=@Dishno select * from Menus 驗(yàn)證 execute 修改菜品價(jià)格 39。D_11339。,39。4039。 執(zhí)行后: 向菜譜增加菜品 create procedure 向菜譜增加菜品 (@Dishno varchar(10), @Dishname varchar(10), @Dishclass varchar(10), @Dishprice float ) . as insert into Menus values(@Dishno,@Dishname,@Dishclass,@Dishprice) select * from Menus 驗(yàn)證 execute 向菜譜增加菜品 39。D_11239。,39。時(shí)蔬 39。,39。小炒類(lèi) 39。,39。2039。 執(zhí)行后: ( 2) 觸發(fā)器 折扣 DROP trigger trig_discount create trigger trig_discount on Discount_rules for insert as begin declare @expand float select @expand=Consumption From inserted if(@expand50) begin update Discount_rules set Discount=1 where Consumption=@expand end . else if(@expand=50and @expand100) begin update Discount_rules set discount= where Consumption=@expand end else if(@expand=100and @expand150) begin update Discount_rules set discount= where Consumption=@expand end else if(@expand=150and @expand200) begin update Discount_rules set discount= where Consumption=@expand end else begin update Discount_rules set discount= where Consumption=@expand end end 驗(yàn)證 insert into Discount_rules(Consumption) values(39。25039。) select Discount from Discount_rules WHERE Consumption=39。25039。 送優(yōu)惠券 drop trigger trig_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 @expand200) begin print 39。送您 5元優(yōu)惠券 39。 end else if(@expand=200) begin print 39。送您 10元優(yōu)惠券 39。 end end 祝福語(yǔ) . 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 39。%紅 %39。) begin print 39。此后生意必定紅紅火火 39。 end end 這次課程設(shè)計(jì)中遇到一個(gè)最嚴(yán)重的問(wèn)題就是時(shí)間太短,太少了。本來(lái)是有一個(gè)星期的,但除去考試、上課的時(shí)間,以及構(gòu)思、整理思路,畫(huà) ER 圖的時(shí)間,真正動(dòng)手開(kāi)始做課程設(shè)計(jì)的時(shí)間就所剩不多了。不過(guò)經(jīng)過(guò)幾個(gè)晚上的熬夜、拼命,最后還是完成了。不過(guò)有點(diǎn)遺憾的是,在構(gòu)思時(shí),我本想使這個(gè)系統(tǒng)更完善,具備更多的功能,但卻由于時(shí)間問(wèn)題,最終只能放棄了,甚至我自己本身很清楚,現(xiàn)在完成的這個(gè)系統(tǒng)還是存有缺陷的,無(wú)法完全滿(mǎn)足實(shí)際生活所 需。在這次實(shí)訓(xùn)中,遇到的問(wèn)題也有關(guān)于知識(shí)方面的,不過(guò)在老師的悉心指導(dǎo)以及同學(xué)們的幫助下,最終都一一解決了。 在這個(gè)課程設(shè)計(jì)中,我學(xué)到的東西還是很多的,感受頗多。第一,這次課程設(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ǔ)過(guò)程以及觸發(fā)器。之前并沒(méi)有做過(guò)有關(guān)存儲(chǔ)過(guò)程的實(shí)驗(yàn),觸發(fā)器方面的實(shí)驗(yàn)也很少。不過(guò)借此機(jī)會(huì),我已把它們掌握了。 這一學(xué)期的數(shù)據(jù)庫(kù)就以這次實(shí)訓(xùn)落幕了 。感覺(jué)挺不舍的。雖然之后也沒(méi)有相關(guān)的課程了,但我覺(jué)得我對(duì)數(shù)據(jù)庫(kù)的學(xué)習(xí)并不會(huì)就此止步。接下來(lái)的想法就是把所學(xué)到的知識(shí)強(qiáng)化,達(dá)到能運(yùn)用自如,并且想要學(xué)會(huì) C++或是 JAVA 跟數(shù)據(jù)庫(kù)的連接。 . 附錄 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ǔ)過(guò)程