


下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、實驗題目題目8酒店管理系統(tǒng)數(shù)據(jù)庫的設(shè)計與實現(xiàn) 描述:設(shè)計一個酒店管理系統(tǒng),實現(xiàn)下列功能:1 酒店客房信息維護(包括錄入,修改和刪除);2 客人信息維護(包括錄入,修改和刪除;)3 .入住信息登記;酒店管理系統(tǒng)關(guān)系模式:房號(房間號,類型,狀態(tài),價格,位置,床位數(shù)) 入住信息(房間號,證件號,姓名,性別,入住日期) 退房信息(房間號,證件號,結(jié)算日期,應(yīng)付金額)旅客(證件類型,證件號,姓名,性別,年齡,籍貫,現(xiàn)住址,職業(yè) ) 使用(物品號,證件號,姓名,使用日期,押金)物品(物品號,數(shù)量,價格,用途)E-R 圖一:創(chuàng)建酒店管理系統(tǒng)數(shù)據(jù)庫create database?酉店管理系統(tǒng)/*創(chuàng)建酒店管理
2、系統(tǒng)數(shù)據(jù)庫*/創(chuàng)建客房信息表 */房間號char(8)primary key,類型varchar(16)not null,狀態(tài)char(8)not null,價格smallmoney not null,位置varchar(14)not null,床位數(shù)in t check(床 位數(shù) 0) not null二:創(chuàng)建客房信息表并添加數(shù)據(jù)create table 客房/*)insert into 客房 insert into 客房 insert into 客房 insert into 客房 insert into 客房 insert into 客房 insert into 客房 insert int
3、o 客房values(1O1,普通間,在使用,50,三樓,2) values(1O2,普通間,在使用,40,三樓,1) values(1O3,空調(diào)間,未使用,80,三樓,2) values(1O4,空調(diào)間,在使用,60,二樓,1) values(1O5,豪華間,在使用,200,二樓,2) values(106,豪華間,在使用,180,一樓,1) values(1O7,貴賓間,未使用,300,一樓,1) values(1O8,貴賓間,在使用,400,一樓,2)101普通間在使用50.0000三樓2102普通間在使用40.0000三樓1103空調(diào)間未使用80.0000三樓2104空調(diào)間在使用60.
4、0000二樓1105豪華間在使用200.0000二樓2106豪華間在使用180.0000一樓1107貴賓間未使用300.0000一樓1108貴賓間在使用400.0000一樓2所建的表為:三:創(chuàng)建旅客信息表并添加數(shù)據(jù)create table 旅客/* 創(chuàng)建旅客信息表 */( 證件類型 varchar(16), 證件號 varchar(18)not null, 姓名 varchar(10) not null, 性別 char(4)not null, 年齡in t check(年 齡 0) not null,籍貫 text not null, 現(xiàn)住址 text not null,職業(yè) varchar
5、(20)not null)insert into旅客values(學(xué)生證,10211303,趙亦,男,20,河北唐山,江西南昌,學(xué) 生)insert into旅客values(身份證,1021134357,錢爾,男,24,北京大興區(qū),上海浦東 ,工程師)insert into旅客values(軍官證,4236789,李思,男,30,江西撫州,廣州,團長)insert into旅客values(身份證,10432187,孫珊,女,32,湖北武漢,湖南長沙,教 師)insert into 旅客 values(身份證,1234876,周武,男,35,南昌,香港,公務(wù)員)insert into 旅客
6、values(身份證,1357674,吳麗,女,40,南京,合肥,經(jīng)理)四:創(chuàng)建入住信息表并添加數(shù)據(jù)create table 入住信息(房間號 char(8)not null, 證件號 varchar(18)not null, 姓名 varchar(10) not null, 性別 char(4)not null, 入住日期 datetime not null/*創(chuàng)建入住信息表*/所建的表為:學(xué)生證10211303趙亦男20河北唐山江西南昌學(xué)生身份證1021134357錢爾男24北京大興區(qū)上海浦東工程師軍官證4236789李思男30江西撫州廣州團長身份證10432187孫珊女32湖北武漢湖南長
7、沙教師身份證1234876周武男35南昌 香港 公務(wù)員身份證1357674吳麗女40南京 合肥 經(jīng)理)insert into 入住信息 values(101,10211303趙亦,男,2011-5-3) insert into 入住信息 values(102,1021134357錢爾,男,2011-2-6) insert into 入住信息 values(104,4236789李思,男,2011-8-7) insert into 入住信息 values(105,10432187孫珊,女,2011-7-4)insert into 入住信息 values(106,1234876周武,男,2011-
8、3-6)insert into入住信息values(108,11357674吳麗,女,2011-9-2)所建的表為:10110211303 趙亦男2011-05-03 00:00:00.0001021021134357 錢爾男2011-02-06 00:00:00.0001044236789李思男2011-08-07 00:00:00.00010510432187 孫珊女2011-07-04 00:00:00.0001061234876周武男2011-03-06 00:00:00.00010811357674 吳麗女2011-09-02 00:00:00.000六:創(chuàng)建使用表并添加數(shù)據(jù)crea
9、te table 使用 /* 創(chuàng)建使用表 */ (物品號證件號char(6)not null, varchar(18),使用日期 datetime, 押金 smallmoney五:創(chuàng)建退房信息表并添加數(shù)據(jù)create table 退房信息 /*創(chuàng)建退房信息表 */( 房間號 char(8)not null, 證件號 varchar(18) not null, 結(jié)算日期 datetime, 應(yīng)付金額 smallmoney)insert into 退房信息 (房間號,證件號 )values(101,101211303) insert into 退房信息 (房間號,證件號 所建的表為:1011012
10、11303 NULL NULL102NULL NULL)insert into 使用 values(001,11357674,2011-10-2,50)所建的表為:001 11357674 2011-10-02 00:00:00.000 50.0000七:創(chuàng)建物品表并添加數(shù)據(jù)create table 物品 /* 創(chuàng)建物品表 */ (物品號 char(6)not null, 物品名 varchar(16)not null, 數(shù)量 int not null, 價格 money not null, 用途 text)insert into 物品 values(001,毛巾,100,20,洗浴) ins
11、ert into 物品 values(002,牙膏,50,10,洗漱) insert into 物品 values(003,拖鞋,80,30,穿著)insert into 物品 values(004,香皂,100,8,洗浴)create procedure 旅客錄入 證件類型 varchar(16), 證件號 varchar(18), 姓名 varchar(10), 性別 char(4),年齡 int,籍貫 text,現(xiàn)住址 text,/* 錄入旅客信息的存儲過程 */-輸入?yún)?shù),對應(yīng)表各字段所建的表為:001毛巾100 20.0000洗浴002牙膏50 10.0000洗漱003拖鞋80 30
12、.0000穿著004香皂100 8.0000洗浴八:創(chuàng)建旅客錄入的存儲過程職業(yè) varchar(20),返回信息 varchar(50)=null output -輸出參數(shù) ,執(zhí)行結(jié)果返回信息 asbegin tran -啟用事務(wù)-檢查是否有同一客人記錄if exists(select 證件號 ,姓名 from 旅客 where 證件號 =證件號 and 姓名=姓 名)beginselect 返回信息 =已存在該客人信息 goto onerrorend-新增客人信息insert into旅客(證件類型,證件號,姓名,性別,年齡,籍貫,現(xiàn)住址,職業(yè))values(K 件類型 ,證件號,姓名 ,性
13、別,年齡,籍貫,現(xiàn)住址 ,職業(yè))if error0beginselect 返回信息 =新增失敗 goto onerrorendselect 返回信息 =新增成功 commit tran return-出錯處理 onerror:rollback tranreturndeclare 姓名 varchar(10)declare 返回信息 varchar(50)exec 旅客錄入 證件類型 =學(xué)生證 ,證件號 =2345346554,姓名=張錦杰 , 性別=男,年齡=19,籍貫=廣東汕尾 , 現(xiàn)住址=江西南昌 ,職業(yè)=學(xué)生print 姓名 +姓名select * from 旅客drop procedu
14、re 旅客錄入drop table 旅客 九:創(chuàng)建旅客修改的存儲過程create procedure 旅客修改/* 修改旅客信息的存儲過程 */證件類型 varchar(16),-輸入?yún)?shù) ,對應(yīng)表各字段證件號 varchar(18),姓名 varchar(10),性別 char(4),年齡 int,籍貫 text,現(xiàn)住址 text,職業(yè) varchar(20),返回信息 varchar(50)=null output-輸出參數(shù),執(zhí)行結(jié)果返回信息asif not exists(select 證件號 from 旅客 where 證件號 =證件號 )select 返回信息 = 不存在此旅客的信息
15、update 旅客set 證件類型 =證件類型 ,姓名=姓名,性別=性別,年齡 =年齡 ,籍貫=籍貫, 現(xiàn)住址 =現(xiàn)住址 ,職業(yè)=職業(yè) where 證件號 =證件號 exec 旅客修改 證件號 =1357674,證件類型 =身份證 ,姓名 =吳麗,性別 = 女,年齡=48,籍貫=南京,現(xiàn)住址 =合肥 ,職業(yè)=經(jīng)理 declare 返回信息 varchar(50) print 返回信息 +返回信息 select 返回信息 =返回信息 select * from 旅客 drop procedure 旅客修改 十:創(chuàng)建旅客刪除的存儲過程create procedure 旅客刪除/* 刪除旅客信息的存
16、儲過程 */證件號 varchar(18),返回信息 varchar(50)=null output asbegin tranif not exists(select 證件號 from 旅客 where 證件號 =證件號 ) beginselect 返回信息 =不存在此旅客的信息 goto onerrorenddelete from 旅客 where 證件號 =證件號if error0beginselect 返回信息 =刪除失敗 goto onerrorendselect 返回信息 =成功刪除 commit tran- 提交事務(wù)returnonerror:rollback tranreturn
17、declare 證件號 varchar(18) declare 返回信息 varchar(50) exec 旅客刪除 證件號 =10211303 select * from 旅客 drop procedure 旅客刪除 十一:創(chuàng)建客房錄入的存儲過程create procedure 客房錄入/* 錄入客房信息的存儲過程 */房間號 char(8),類型 varchar(16),狀態(tài) char(8),價格 smallmoney ,位置 varchar(14),床位數(shù) int,返回信息 varchar(50)=null outputasbegin tranif exists(select 房間號 f
18、rom 客房 where 房間號 =房間號 )beginselect 返回信息 =已存在該客房信息 goto onerrorendinsert into客房(房間號,類型,狀態(tài),價格,位置,床位數(shù))values(B間號,類型,狀 態(tài),價格,位置,床位數(shù))if error0beginselect 返回信息 =新增失敗 goto onerrorendselect 返回信息 =新增成功 commit tranreturnonerror:rollback tranreturndeclare 返回信息 varchar(50)exec 客房錄入 房間號=109,類型=標(biāo)準(zhǔn)間,狀態(tài)=未使用,價格=50,位
19、置=四樓,床位數(shù)=2drop procedure 客房錄入delete from 客房 where 房間號=109select * from 客房 十二:創(chuàng)建客房修改的存儲過程create procedure 客房修改/* 客房修改的存儲過程 */房間號 char(8),類型 varchar(16),狀態(tài) char(8),價格 smallmoney,位置 varchar(14),床位數(shù)int,返回信息 varchar(50)=null output -輸出參數(shù) ,執(zhí)行結(jié)果返回信息asif not exists(select 房間號 from 客房 where 客房.房間號=房間號) selec
20、t 返回信息 =不存在該客房信息 print 返回信息 +返回信息 -修改客房信息update 客房set 類型=類型,狀態(tài)=狀態(tài),價格=價格,位置=位置,床位數(shù)=床位數(shù) where 客房.房間號=房間號exec 客房修改 房間號=1018,類型=普通間,狀態(tài)=在使用,價格=500, 位置=三樓, 床位數(shù)=2declare 返回信息 varchar(50) select 返回信息 =返回信息 print 返回信息 +返回信息 select * from 客房 drop procedure 客房修改 十三:創(chuàng)建客房刪除的存儲過程create procedure 客房刪除/* 刪除客房信息的存儲過
21、程 */房間號 varchar(18),返回信息 varchar(50)=null output as begin tranif not exists(select 房間號 from 客房 where 房間號 =房間號 ) beginselect 返回信息 =不存在此客房的信息 goto onerrorend delete from 客房 where 房間號 =房間號 if error0 beginselect 返回信息 =刪除失敗 goto onerrorendselect 返回信息 =成功刪除 commit tran- 提交事務(wù)return onerror:rollback tranret
22、urn declare 房間號 varchar(18) declare 返回信息 varchar(50) exec 客房刪除 房間號 =101 select * from 客房 drop procedure 客房刪除/* 查詢客房信息的存儲過程 */十四:創(chuàng)建客房查詢的存儲過程 create procedure 客房查詢 房間號 char(8), 類型 varchar(16)output, 狀態(tài) char(8)output, 價格 smallmoney output, 位置 varchar(14) output,床位數(shù) int outputasselect 類型,狀態(tài) ,價格,位置,床位數(shù)fr
23、om 客房where 房間號 =房間號declare 房間號 char(8)declare 類型 varchar(16)declare 狀態(tài) char(8)declare 價格 smallmoneydeclare 位置 varchar(14)declare 床位數(shù) intexec客房查詢101,類型 output,狀態(tài) output,價格 output,位置 0山卩山,床位數(shù) outputprint 狀態(tài)+狀態(tài)drop procedure 客房查詢 十五:創(chuàng)建付款的存儲過程create procedure 付款(證件號 varchar(18) /* 獲得應(yīng)付金額的存儲過程 */ asupdat
24、e 退房信息set 結(jié)算日期 =getdate()where 退房信息 .證件號 =證件號 and 結(jié)算日期 is null declare 價格 smallmoneyselect 價格 from 客房 where 退房信息 .證件號 =證件號 select 入住日期 from 入住信息 where 退房信息 .證件號 =證件號 update 退房信息 ,入住信息set應(yīng)付金額=datediff(dd,入住日期,96上4&上6()*價格where 證件號=證件號 and 應(yīng)付金額 is null and 退房信息.證件號=入住信息 . 證件號update 客房 set 狀態(tài)=未使用 where
25、 退房信息 .證件號 =證件號 exec 付款 證件號=1 021 1 303 drop procedure 付款 select * from 客房 select * from 旅客 select * from 入住信息 select * from 退房信息/* 入住登記觸發(fā)器*/十六:創(chuàng)建入住登記觸發(fā)器 create trigger 入住登記觸發(fā) on 入住信息for insertas beginupdate 客房 set 狀態(tài) =在使 用 where 房 間號 in (select 房間 號 from inserted)enddrop trigger 入住登記觸發(fā)select * from 入住信息select * from 客房insert into 入住信息 values(103,10204,張金杰,男,2011-8-8)十七:創(chuàng)建退房觸發(fā)器create trigger 退房觸發(fā)器/* 退房觸發(fā) */on 退房信息for insertasbeginupdate 客房 set 狀態(tài)=未使用 where 房間號 in (select 房間號 from inserted) delete from 旅客 where 證件號 in
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度大學(xué)生就業(yè)三方協(xié)議范本
- 二零二五年度景區(qū)合作合同-景區(qū)旅游住宿設(shè)施合作經(jīng)營協(xié)議
- 2025年度職業(yè)經(jīng)理人企業(yè)可持續(xù)發(fā)展與環(huán)境保護合同
- 二零二五年度XX大學(xué)校園安保與安全宣傳教育合同
- 2025年度航空航天專利技術(shù)保密與許可合同模板
- 2025年度租賃公寓退房押金結(jié)算合同
- 2025年度酒店客房預(yù)訂數(shù)據(jù)分析與服務(wù)協(xié)議
- 酒店宴會廳租賃及特色美食供應(yīng)服務(wù)合同(2025年度)
- 二零二五年度國際貿(mào)易委托付款協(xié)議
- 2025年度離職員工離職時簽訂的保密協(xié)議及競業(yè)禁止合同
- 2024年深圳市優(yōu)才人力資源有限公司招考聘用綜合網(wǎng)格員(派遣至吉華街道)高頻難、易錯點500題模擬試題附帶答案詳解
- 旅游景區(qū)物業(yè)管理服務(wù)方案
- 零星維修工程投標(biāo)方案(技術(shù)方案)
- 華能內(nèi)蒙古東部能源有限公司招聘筆試題庫2024
- 山東省濟南市2024年中考數(shù)學(xué)試卷【附真題答案】
- 橫紋肌溶解癥護理查房
- 風(fēng)機高空逃生裝置使用
- 孤殘兒童護理員技能鑒定考試題庫(含答案)
- DL∕T 5136-2012 火力發(fā)電廠、變電站二次接線設(shè)計技術(shù)規(guī)程
- 娛樂場所安全承諾聲明
- 光伏項目施工總進度計劃表(含三級)
評論
0/150
提交評論