福建建设厅网站工程履约保险,办公网站建设方案,建立网站实验总结,wordpress 主题汉化无效民宿预定#xff0c;至少有不同的民宿#xff0c;民宿下面有不同的房间#xff08;面积#xff0c;房间编号#xff09;
房间类型#xff0c;单价#xff0c;
可预订以及不可预订
游客信息
订单信息 公司有很多课程#xff0c;
学生#xff0c;课程
每位学生每期…民宿预定至少有不同的民宿民宿下面有不同的房间面积房间编号
房间类型单价
可预订以及不可预订
游客信息
订单信息 公司有很多课程
学生课程
每位学生每期只能参加一门课程
一个课程可以由多个学生选择一个学生只可以选择一门课程。一个学生在一期内只能参加一门课程必须考虑“每期课程”的概念 Record作为一个实体集弱实体集综合了期课程学生的信息主键是学期主键和学生主键学生参加课程的行为是弱实体。
课程表与Record表之间存在一对多的关系就是同一个课程在Record当中可能有多个记录
一位老师参与多门课多位老师独立上同一门课
排课表一个课程可以安排多次排课一个排课对应一个独立的授课安排
不同老师的马原课是同一课程引用COURSE表中同一记录的主键作为外键但是是不同的排课排课表的主键是组合主键课程编号排课编号
SELECT H.NAME,R.TYPE,COUNT(*)AS ROOMCOUNT FROM HOTEL AS H,ROOM AS R WHERE H.HOTELNOR.HOTELID GROUP BY H.NAME,R.TYPE
从民宿表房间表筛选民宿ID和房间ID相同即连接上就是房间表里很多的房间分属于不同的民宿通过筛选民宿ID来进行选择)
投影到姓名房间号筛选从预定表里筛选在民宿表里固定城市为长沙名称为华天宾馆然后在预定表里要求预定时间为2019-09-29最后就是连接客户编号和预定表里编号一致房间编号和预定表里的一致 投影到名称类型与价格从民宿表房间表价格表里找在民宿表里限定城市为长沙类型限定价格限定最后排序
SELECT COUNT(DISTINCT GUESTNO) FROM
投影的位置选择聚合函数COUNT里面是DISTINC数GUESTNO并对其去重从预定表里去选限定条件是日期在2019-08-01与2019-09-01之间即八月份
从预定表里选要求该数据项为空
从民宿表里选在投影位置选择聚合函数COUNT对每一行进行计数
以城市为分组就是在最后先GROUP BY CITY在投影区域投到城市以及聚合函数AVG上r.price)即对满足条件的每组的城市的价格求一个平均从民宿表和房间表里
投影到城市名称、类型、平均价格从民宿表房间表要求民宿名称而且民宿表的民宿编号和房间表的民宿编号一致这个就相当于把民宿表和房间表连接到了一起按在不同城市以及房间类型进行分组
从预订表民宿表客户表里选客户表里要求户籍地是北京然后预订表要求预订日期联合要求预订的民宿表和预订表中的一致客户表里的和预定表里的一致即把三个表连接到了一起从逻辑上预定订单不一定需要订单单号
从民宿表房间表里选要求民宿表编号和房间表里的民宿表编号一致民宿表里的城市民宿表里的名称
这个预定表里就是只有民宿和用户的编号以及房间编号没有订单单号
从预订表民宿表里选还要从房间表里选要求民宿编号和预订表里的编号一致预订表里和房间表里一致连接三 个表预订表里要求时间 为什么要连接这么多 从房间表民宿表里选要求房间表里的民宿编号和民宿表的一致民宿表要求城市与名称对于房间编号要求不在一个子查询里这个查询是
从预订表民宿表和房间表里选要求预订表的民宿编号和民宿表的一致预订表的民宿编号和房间表的民宿编号一致都是与B连接核心思路是通过预订表唯一确定上一个房间与一个民宿这样才能进行连接而要唯一确定出房间就必须要确定其民宿编号这是连接了三个表练完后对预订日期做限制
从民宿表预订表房间表里选是要返回每个旅馆的房间入住率城市名称、宾馆名称、入住率前两个东西是直接从民宿表里获取的不用去重因为民宿表里本身就没有重的
对于入住率也不只是从民宿表一个表里取得的利用子查询完成是要让入住的除以总共的即可
对于入住的总数从民宿表预订表里选预订表里的所有数据数量加以限制后就是入住的总数即对时间做限制预订表的民宿编号和民宿表的一致COUNT(*)就是统计所有的数量
对于房间总数从房间表里查要求房间表的民宿编号和民宿表的一致相当于通过确定某一民宿编号后那么房间表里就只有这个编号对应下的民宿里的房间然后在房间表里去数总数量最外面的HOTEL AS H就是逐行确认一个房间编号按照出现的顺序依次去进行遍历
要返回房间号价格从民宿表房间表里去选先民宿后房间对于民宿要求名称和城市然后对于房间要求其民宿编号和刚才确认的民宿编号一致接着对房间表继续做限制要求类型是双人间
还要要求房间没被其他人预订过这个就要求进行一次子查询子查询返回的结果是房间编号即已经在相应时间内被预订过的房间编号那么就是要求上述的房间编号不在这个编号组内这个就要求在三个表内去查询这个顺序的话是先确定的房间编号然后民宿编号要求预订表里的编号和之前的房间编号一致和之前的民宿编号一致
投影到类型聚合函数为MAX从预订表里选要求时间 表示触发事件的操作表名
表示任何一条记录上的操作满足触发事件都会触发该触发器
执行语句INSERT只有NEW是合法的表示当前已插入的记录对于DELETE只有OLD才合法
UPDATE可以和NEW以及OLD同时使用
存储过程
存储过程就是SQL的代码封装与重用
参数分为IN,OUT,INOUT,IN表示接收调用者传入的数据OUT表示向调用者返回数据
该参数的值必须由调用程序指定OUT表示经过存储过程计算后返回给调用程序 语句的SELECT相当于一个输出
就是相当于定义了
这个就是一个纯打印输入参数是起始日期结束日期和酒店的编号
从房间表民宿表里选要求房间表和民宿表的编号对应然后房间编号不在子查询的结果里
子查询的结果是满足日期在范围内的编号 当主表没有对应记录不能将记录加到子表里即学生成绩表中不能出现没有的学号
删除成绩表先删子表后删主表
被引用的列具有主键约束或者唯一性用来建立和强加两个表数据之间的连接
外键是用来建立表与表之间关系的字段 外键可以用来确保所选课程在课程表内保持数据一致性