1、数据库酒店管理系统课程设计 实验题目题目8:酒店管理系统数据库的设计与实现描述:设计一个酒店管理系统,实现下列功能:1酒店客房信息维护(包括录入,修改和删除);2客人信息维护(包括录入,修改和删除;) 3入住信息登记; 酒店管理系统关系模式:房号(房间号,类型,状态,价格,位置,床位数)入住信息(房间号,证件号,姓名,性别,入住日期)退房信息(房间号,证件号,结算日期,应付金额)旅客(证件类型,证件号,姓名,性别,年龄,籍贯,现住址,职业)使用(物品号,证件号,姓名,使用日期,押金)物品(物品号,数量,价格,用途) E-R 图一:创建酒店管理系统数据库create database 酒店管理系
2、统 /* 创建酒店管理系统数据库 */ 二:创建客房信息表并添加数据create table 客房 /* 创建客房信息表 */( 房间号 char(8)primary key, 类型 varchar(16)not null, 状态 char(8)not null, 价格 smallmoney not null, 位置 varchar(14)not null, 床位数 int check(床位数0)not null)insert into 客房 values(101,普通间,在使用,50,三楼,2)insert into 客房 values(102,普通间,在使用,40,三楼,1)insert
3、into 客房 values(103,空调间,未使用,80,三楼,2)insert into 客房 values(104,空调间,在使用,60,二楼,1)insert into 客房 values(105,豪华间,在使用,200,二楼,2)insert into 客房 values(106,豪华间,在使用,180,一楼,1)insert into 客房 values(107,贵宾间,未使用,300,一楼,1)insert into 客房 values(108,贵宾间,在使用,400,一楼,2)所建的表为:101 普通间 在使用 50.0000 三楼 2102 普通间 在使用 40.0000 三
4、楼 1103 空调间 未使用 80.0000 三楼 2104 空调间 在使用 60.0000 二楼 1105 豪华间 在使用 200.0000 二楼 2106 豪华间 在使用 180.0000 一楼 1107 贵宾间 未使用 300.0000 一楼 1108 贵宾间 在使用 400.0000 一楼 2 三:创建旅客信息表并添加数据create table 旅客 /* 创建旅客信息表 */( 证件类型 varchar(16), 证件号 varchar(18)not null, 姓名 varchar(10) not null, 性别 char(4)not null, 年龄 int check(年龄
5、0)not null, 籍贯 text not null, 现住址 text not null, 职业 varchar(20)not null)insert into 旅客 values(学生证,10211303,赵亦,男,20,河北唐山,江西南昌,学生)insert into 旅客 values(身份证,1021134357,钱尔,男,24,北京大兴区,上海浦东,工程师)insert into 旅客 values(军官证,4236789,李思,男,30,江西抚州,广州,团长)insert into 旅客 values(身份证,10432187,孙珊,女,32,湖北武汉,湖南长沙,教师)ins
6、ert into 旅客 values(身份证,1234876,周武,男,35,南昌,香港,公务员)insert into 旅客 values(身份证,1357674,吴丽,女,40,南京,合肥,经理)所建的表为:学生证 10211303 赵亦 男 20 河北唐山 江西南昌 学生身份证 1021134357 钱尔 男 24 北京大兴区 上海浦东 工程师军官证 4236789 李思 男 30 江西抚州 广州 团长身份证 10432187 孙珊 女 32 湖北武汉 湖南长沙 教师身份证 1234876 周武 男 35 南昌 香港 公务员身份证 1357674 吴丽 女 40 南京 合肥 经理 四:创
7、建入住信息表并添加数据create table 入住信息 /* 创建入住信息表 */( 房间号 char(8)not null, 证件号 varchar(18)not null, 姓名 varchar(10) not null, 性别 char(4)not null, 入住日期 datetime not null)insert into 入住信息 values(101,10211303,赵亦,男,2011-5-3)insert into 入住信息 values(102,1021134357,钱尔,男,2011-2-6)insert into 入住信息 values(104,4236789,李思
8、,男,2011-8-7)insert into 入住信息 values(105,10432187,孙珊,女,2011-7-4)insert into 入住信息 values(106,1234876,周武,男,2011-3-6)insert into 入住信息 values(108,11357674,吴丽,女,2011-9-2)所建的表为:101 10211303 赵亦 男 2011-05-03 00:00:00.000102 1021134357 钱尔 男 2011-02-06 00:00:00.000104 4236789 李思 男 2011-08-07 00:00:00.000105 10
9、432187 孙珊 女 2011-07-04 00:00:00.000106 1234876 周武 男 2011-03-06 00:00:00.000108 11357674 吴丽 女 2011-09-02 00:00:00.000 五:创建退房信息表并添加数据create table 退房信息 /* 创建退房信息表 */( 房间号 char(8)not null, 证件号 varchar(18) not null, 结算日期 datetime, 应付金额 smallmoney)insert into 退房信息(房间号,证件号)values(101,101211303)insert into
10、退房信息(房间号,证件号)values(102,10121134357)所建的表为:101 101211303 NULL NULL102 10121134357 NULL NULL 六:创建使用表并添加数据create table 使用 /* 创建使用表 */( 物品号 char(6)not null, 证件号 varchar(18), 使用日期 datetime, 押金 smallmoney)insert into 使用 values(001,11357674,2011-10-2,50)所建的表为:001 11357674 2011-10-02 00:00:00.000 50.0000 七:
11、创建物品表并添加数据create table 物品 /* 创建物品表 */( 物品号 char(6)not null, 物品名 varchar(16)not null, 数量 int not null, 价格 money not null, 用途 text)insert into 物品 values(001,毛巾,100,20,洗浴)insert into 物品 values(002,牙膏,50,10,洗漱)insert into 物品 values(003,拖鞋,80,30,穿着)insert into 物品 values(004,香皂,100,8,洗浴)所建的表为:001 毛巾 100 2
12、0.0000 洗浴002 牙膏 50 10.0000 洗漱003 拖鞋 80 30.0000 穿着004 香皂 100 8.0000 洗浴 八:创建旅客录入的存储过程create procedure 旅客录入 /* 录入旅客信息的存储过程 */证件类型 varchar(16), -输入参数,对应表各字段证件号 varchar(18),姓名 varchar(10),性别 char(4),年龄 int,籍贯 text,现住址 text,职业 varchar(20),返回信息 varchar(50)=null output -输出参数,执行结果返回信息asbegin tran -启用事务-检查是否有
13、同一客人记录if exists(select 证件号,姓名 from 旅客 where 证件号=证件号 and 姓名=姓名)begin select 返回信息=已存在该客人信息 goto onerror end-新增客人信息insert into 旅客(证件类型,证件号,姓名,性别,年龄,籍贯,现住址,职业)values(证件类型,证件号,姓名,性别,年龄,籍贯,现住址,职业)if error0begin select 返回信息=新增失败 goto onerrorendselect 返回信息=新增成功commit tranreturn-出错处理onerror: rollback tran re
14、turndeclare 姓名 varchar(10)declare 返回信息 varchar(50)exec 旅客录入 证件类型=学生证,证件号=2345346554,姓名=张锦杰,性别=男,年龄=19,籍贯=广东汕尾,现住址=江西南昌,职业=学生print 姓名+姓名select * from 旅客drop procedure 旅客录入drop table 旅客 九:创建旅客修改的存储过程create procedure 旅客修改 /* 修改旅客信息的存储过程 */证件类型 varchar(16), -输入参数,对应表各字段证件号 varchar(18),姓名 varchar(10),性别 char(4),年龄 int,籍贯
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1