电子科技大学《数据库原理及应用》MySQL实验参考

《数据库原理及应用》MySQL实验


SQL文件包含的主要内容

在这里插入图片描述

各表简要说明:
1. customer表:包含顾客ID与顾客姓名
2. hotel表:包含酒店ID与酒店名称
3. room_type表:包含房型ID,房型名称与对应的酒店价格
4. room_info表:包含房间信息ID、日期、当前日期对应的价格、剩余数量和对应的房型ID
5. order表:订单ID,订单对应的房型ID,入店日期,离店日期,预定数量,订单价格,订单创建日期,发起订单的顾客ID
6. rating表:评价ID,评价分数,评价对应的订单ID,发起评价的顾客ID


实验内容

  1. 查询所有房型的具体信息,包括room_id, Room_name, hotel_id.
select * 
from room_type;
  1. 查询所有酒店名称中包含“希尔顿”的酒店,返回酒店名称和酒店id.
select hotel_name,hotel_id
from hotel
where hotel_name like '希尔顿%';
  1. 查询订单总价在10000元及以上的所有订单详情,包括订单编号、酒店编号、房型编号及居住时长.
select order_id,hotel_id,(leave_date-start_date+1) 居住天数,`order`.room_id
from `order`,room_type
where `order`.room_id = room_type.room_id and payment >= 10000;
  1. 查询所有房型的订单情况,包括房型编号,房型名称,订单编号、价格.
SELECT room_id,room_name,order_id,payment from room_type natural join dbexperiment.order
union
select room_id,room_name,null,null 
from room_type 
where room_id not in(select distinct room_id from dbexperiment.order);
  1. 创建启悦酒店的订单视图.
create view QiYueHotel
as
select order_id, room_type.room_id, start_date, leave_date, amount, payment, create_date, customer_id
from dataexperiment.order, hotel, room_type
where dataexperiment.order.room_id = room_type.room_id
	and hotel.hotel_id = room_type.hotel_id
	and hotel.hotel_name = '启悦酒店'
  1. 在订单表的总价字段上 创建降序的普通索引,索引名为orderpayment.
drop index orderpayment 
on `order`;
create index orderpayment
on `order` (payment desc);
  1. 查询所有酒店2020-11-14所有房型的平均价格并从低到高排序.
select hotel_name, room_info.date, avg(price) avgprice
from room_info
	NATURAL JOIN room_type NATURAL JOIN hotel
where room_info.date = '2020-11-14'
group by hotel_name, date
order by avgprice;
  1. 从订单表中统计希尔顿大酒店2020-11-14当天各个房型预定情况,返回酒店名,房型,预定数量.
select hotel_name, room_name, amount
from `order`
	NATURAL JOIN room_type NATURAL JOIN hotel
where start_date = '2020-11-14' and hotel_name = '希尔顿大酒店';
  1. 查找同时评价了2次及以上的用户信息.
select customer.uID,customer.uName,count(rating.uID) Rating_Times
from customer,rating
where rating.uID=customer.uID
group by rating.uID
having Rating_Times>=2;
  1. 查询评价过所有总统套房的顾客姓名.
select distinct customer.uname 
from customer,rating,`order` ,room_type 
where customer.uID = rating.uID 
	and rating.order_id = `order` .order_id 
    and room_type.room_id=`order` .room_id
    and	room_name="总统套房"
group by rating.uID
having count(distinct room_type.room_id)>=(select count(*) from room_type where room_name="总统套房");
  1. 指定时间区间和每天要预定的房间数量,查询满足条件“预定11.14-16日每天房间数量4间”(时间区间,将预定房间数)的房型及其平均价格,并按平均价格从低到高进行排序。查询结果应包含酒店,房型及平均价格信息.
select hotel_name, room_name, avg(price) avgprice
from hotel
	NATURAL JOIN room_type NATURAL JOIN room_info
where date <= '2020-11-16' and date >= '2020-11-14'
group by room_id
having min(remain) >= 4
order by avgprice;
  1. 更新预订房间,包括更新房型信息和创建订单。更新信息为:订单为预订11月14号-15号4号房型4间。
insert into `order`
values (null, 4, '2020-11-14', '2020-11-15', 4
	, 4 * (
		select price
		from room_info
		where room_id = 4
			and date = '2020-11-14'
	), '2020-11-01', 201901);

update room_info
set remain = remain - 4
where room_id = 4
	and date between '2020-11-14' and '2020-11-15';

SQL源文件获取地址

链接:https://pan.baidu.com/s/1sD2fKcWJdwQsmzzgoFm08Q 提取码:a751

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
SQL Server 2000系统的安装及配置 1)安装SQL Server 2000系统。   选择 "下一步",然后选择 "本地计算机" 进行安装。   在 "安装选择" 窗口,选择 "创建新的SQL Server实例..."。 在 "用户信息" 窗口,输入用户信息,并接受软件许可证协议。   在 "安装定义"窗口,选择 "服务器和客户端工具" 选项进行安装。。   在 "实例名" 窗口,选择 "默认" 的实例名称。这时本SQL Server的名称将和Windows 2000服务器的名称相同。   在 "安装类型" 窗口,选择 "典型" 安装选项,并指定 "目的文件夹"。   在 "服务账号" 窗口,请选择 "对每个服务使用统一账户..." 的选项。在 "服务设置" 处,选择 "使用本地系统账户"。   在 "身份验证模式" 窗口,请选择 "混合模式..." 选项,并设置管理员"sa"账号的密码。如果您的目的只是为了学习的话,可以将该密码设置为空,以方便登录。 2)分别使用SQL Server服务管理器和控制面板启动MS SQL Server服务。 开始→程序→SQL Server2000→企业管理器 3)练习企业管理器使用。 创建数据库:在处单击右键,选中“新建数据库” 删除数据库:在“数据库”处单击右键,选中“删除” 新建表:双击数据库,然后双击“表”进入,在单击右键“新建表” 4)在企业管理器下创建一个服务器组group1,在这个组下注册一个服务器。查看有哪些数据库数据库中有哪些数据对象。 在企业管理器下单击右键,选择“新建SQL Sever组”,命名为“group1”,在处单击右键,选“新建SQL Sever注册”然后“下一步” 5)练习查询分析器的使用,在查询分析器中输入如下SQL语句,查看结果。 USE PUBS GO SELECT * FROM Authors GO 三、SQL调试及结果 数据库的创建和管理 1.在SQL Server企业管理器中创建一个数据库,具体要求如下: (1)数据库名称为Mydata。 (2)主要数据文件:逻辑文件名为Mydatabase,物理文件名为Mydatabase.mdf,初始容量为1MB,最大容量为10MB,递增量为1MB。 (3)次要数据文件:逻辑文件名为Mydatabak,物理文件名为Mydatabak.ndf,初始容量为1MB,最大容量为10MB,递增量为1MB。 (4)事务日志文件:逻辑文件名为Mydatalog,物理文件名为Mydatalog.ldf,初始容量为1MB,大容量为5MB,递增量为512KB。 2.在查询分析器中输入并执行一个CREATE DATABASE语句,具体要求如下: (1)数据库名称为SA; (2)主要数据文件:逻辑文件名为SAdatabase,物理文件名为SAdatabase.mdf,初始容量为1MB,最大容量为10MB,递增量为1MB; (3)次要数据文件:逻辑文件名为SAdatabakup,物理文件名为SAdatabakup. ndf,初始容量为1 MB,最大容量为10MB,递增量为1MB; (4)事务日志文件:逻辑文件名为SAdatalog,物理文件名为SAdatalog.Ldf,初始容量为512KB,最大容量为5MB,递增量为512KB。 命令: create database SA on primary (name=SAdatabase, filename='F:\Homework\MS\SQL\SAdatabase.mdf', size=1, maxsize=10, filegrowth=1 ) ,filegroup ff (name=SAdatabakup, filename='F:\Homework\MS\SQL\SAdatabakup.mdf', size=1, maxsize=10, filegrowth=1) log on (name=SAdatalog, filename='F:\Homework\MS\SQL\SAdatalog.mdf', size=1, maxsize=5, filegrowth=512kb) 3.按照下列要求在企业管理器中修改第2题中创建的SA数据库: alter database SA modify file ( name= SAdatabase, size=5, maxsize=20, filegrowth=2 ) alter database SA modify file ( name= SAdatabakup, size=5, maxsize=20, filegrowth=2 ) modify file ( name= SAdatalog, size=2, maxsize=10, filegrowth=1 ) (1)主要数据文件的容量为5MB,最大容量为20MB,递增量为2MB。 (2)次要数据文件的容量为5MB,最大容量为20MB,递增量为2MB。 (3)事务日志文件:初始容量为2MB,最大容量为 10MB,递增量为1MB。 截图文件:4.数据库更名,要求:把SA数据库改名为mySA。 alter database SA modify name=mySA 为了使数据库名称简单,修改回原来的SA alter database mySA modify name= SA 5.收缩数据库,要求:分别使用DBCC SHRINKDATABASE和DBCC SHRINKFILE进行收缩。 DBCC SHRINKDATABASE (SA ,target_percent        [,{ NOTRUNCATE | TRUNCATEONLY } ] ) 6.删除数据库(以下是在windows xp环境下的截图) (1)在企业管理器中删除Mydata数据库。 在Enterprise manager可以在“Mydata”上单击右键,然后单击删除 截图: (2)在查询分析器中用DROP DATABASE语句删除经过第3题修改以后的SA数据库。 drop database SA (3),如果当前没有选中理想中的数据库文件可以运行下面命令: USE SA GO
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值