综合应用题

上传人:博****1 文档编号:558058115 上传时间:2023-03-15 格式:DOCX 页数:8 大小:21.70KB
返回 下载 相关 举报
综合应用题_第1页
第1页 / 共8页
综合应用题_第2页
第2页 / 共8页
综合应用题_第3页
第3页 / 共8页
综合应用题_第4页
第4页 / 共8页
综合应用题_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《综合应用题》由会员分享,可在线阅读,更多相关《综合应用题(8页珍藏版)》请在金锄头文库上搜索。

1、细心整理综合应用题1运用T-SQL语句建立一个宾馆数据库。数据库名:bg 2 运用T-SQL语句在上述数据库中创立客房标准信息表、订房信息表、客房信息表等,具体表构造如下:注:要求表字段取英文名roomtype 客房标准信息表列名中文说明数据类型精度允许空值说明typeid客房类型编号char2关键字typename 客房类型char20area面积numeric6,2bednum床位数量tinyint8Badnum0price 单价money默认“100”htelephone是否有电话char2默认“有”bookin订房信息表列名英文名列名中文名数据类型精度允许空值说明bookno订房编号c

2、har20关键字guest_id身份证号char18roomno客房编号char4外键参照rooms表roomnostaydate入住日期datetime默认为系统日期returndate结算日期datetimediscount折扣moneyammount金额moneyrooms客房信息表列名英文名列名中文名数据类型精度允许空值说明roomno客房编号char4关键字typeid客房类型char2roomposition客房位置char40roomprice单价moneyputup是否被预定char2默认“否”roommemo备注varchar2553 用T-SQL语句插入以下客房信息客房编号

3、客房类型客房位置单价是否被预定备注1003310层朝南100否用TSQL语言在上述数据库根底上,完成如下操作:4 查询全部客户身份证号、客房号、入住日期、结算日期等信息。5 查询被预定“标准间”客房类型客房客房编号, 按客房号升序排序。6 查询身份证号为“3140064”客户最近入住酒店日期以及客房号,住了几天等信息。说明:函数datediff(day,参数1,参数2),此函数功能:计算两个日期类型数据间相差天数,即参数2-参数1天数。7 创立存储过程proc_kroom,实现功能:依据客房类型号,查询是否有该类型未被预定房间,假如有,那么显示提示信息“此类型房间有未被预定客房”;假如没有,那

4、么显示提示信息 “此类型房间已预定满!”,假设是不存在类型,要提示“输入错误!无此类型房间”。8 创立触发器,客户退房结算,自动修改客房信息表相应客房预定状态。解:1、参考答案:create database bggo2、 参考答案:(1)use bggocreate table roomtype(typeid char(2) not null primary key,typename varchar(20) not null,area numeric(6,2),bednum tinyint not null check (bednum0 and bednum8),price money no

5、t null default 100,htelphone char(2) default 有)go (2) use bggocreate table rooms(roomno char(4) not null primary key,typeid char(2),roompostion char(40) ,roomprice money,putup char(2) default 否,roommeno varchar(255)go (3) use bggocreate table bookin(bookno char(20) not null primary key,guest_id char

6、(18) not null,roomno char(4) not null references rooms(roomno),-也可以运用下面两个中随意一个-roomno char(4) not null foreign key references rooms(roomno),-roomno char(4) not null constraint fk_roomno foreign key references rooms(roomno),staydate datetime default getdate(),returndate datetime,discount money,ammoun

7、t money)go数据准备例如roomtype 客房标准信息表Insert into roomtype values(1, 总统间,500,3,500, 有)Insert into roomtype values(2, 高标间,30 ,2,200, 有)Insert into roomtype values(3, 标准间,20,4,100, 有)看一看roomtypeSelect * from roomtyperooms客房信息表insert into rooms values(1001,3,10层朝南,100,否,null)insert into rooms values(1002,3,1

8、0层朝南,100,否,null)insert into rooms values(1003,3,10层朝南,100,否,null)insert into rooms values(1004,3,10层朝南,100,否,null)insert into rooms values(1005,3,10层朝南,100,否,null)insert into rooms values(1101,2,10层朝南,200,否,null)insert into rooms values(1102,2,10层朝南,200,否,null)insert into rooms values(1103,2,10层朝南,2

9、00,否,null)insert into rooms values(1201,1,10层朝南,500,否,null)看一看roomsSelect * from roomsbookin订房信息表有位客人在2006年11月12日定房入住,客房编号为1003在bookin订房信息表中登记insert into bookin(bookno,guest_id,roomno, staydate, 2006-11-12)看一看bookinSelect * from bookin修改rooms客房信息表该房间状态,改putup是否被预定为是再看一看roomsSelect * from roomsupdate

10、 rooms set putup=是 where roomno=1003再看一看roomsSelect * from rooms在2006年11月15日该客人结账离开,有关结算略,本例仅添上结算日期。Update bookin set returndate=2006-11-15 where bookno=1000001再看一看bookinSelect * from booking修改rooms客房信息表该房间状态,改为putup是否被预定为否update rooms set putup=否 where roomno=1003再看一看roomsSelect * from rooms在2006年1

11、1月21日该客人又来定房入住客房编号为1005,至今未离开,应在本宾馆。insert into bookin(bookno,guest_id,roomno, staydate) values(10000025, 2006-11-21)再看一看bookinSelect * from bookin修改rooms客房信息表该房间状态,改为putup是否被预定为是update rooms set putup=是 where roomno=1005再看一看roomsSelect * from rooms还又位客人在2006年11月22日来定房入住,客房编号为1102insert into bookin(

12、bookno,guest_id,roomno, staydate) values(1000003,3140064,1102, 2006-11-22)再看一看bookinSelect * from bookin修改rooms客房信息表该房间状态,改为putup是否被预定为是update rooms set putup=是 where roomno=1102再看一看roomsSelect * from rooms在2006年11月28日该客人结账离开,有关结算略,本例仅添上结算日期。Update bookin set returndate=2006-11-28 where bookno=10000

13、03再看一看bookinSelect * from bookin修改rooms客房信息表该房间状态,改为putup是否被预定为否update rooms set putup=否 where roomno=1102再看一看roomsSelect * from rooms同学们,你不觉得这些代码很重复吗?我们用存储过程和触发器解决。3、 参考答案:insert into roomsvalues(1006,3,10层朝南,100,否,null)4、参考答案:select guest_id,roomno,staydate,returndate from bookin5、参考答案:select roomno from roomtype,roomswhere rooms.typeid=roomtype.typeid and roomtype.typename=标准间 and putup =是6、参考答案:if exists(select * from bookin where guest_id=3140064 and returndate is null) sel

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号