一、业务场景描述
现在要给商场店铺进行打分,商场一共四层,每层100个商铺。加入存在以下表
- 楼层表
序号 | 字段 | 描述 |
---|---|---|
1 | FFloorID | 楼层ID |
2 | FFloorName | 楼层名称 |
3 | FAvageScore | 平均分数 |
- 商铺表
序号 | 字段 | 描述 |
---|---|---|
1 | FShopID | 商铺ID |
2 | FShopName | 商铺名称 |
3 | FFloorID | 楼层ID |
- 打分表
序号 | 字段 | 描述 |
---|---|---|
1 | FScoreResultID | 打分ID |
2 | FShopID | 商铺ID |
3 | FScore | 分数 |
- 楼层排名
序号 | 字段 | 描述 |
---|---|---|
1 | FFloorID | 楼层ID |
2 | FOrder | 排名 |
3 | FAvageScore | 平均分数 |
二、根据业务场景出题
2.1创建PDM
按照PDM操作规范,创建业务场景描述和以下用到的试图的表 结构、试图、和存储过程。
2.2创建语句(注意代码规范)
2.2.1查询语句
- 查询出来店铺名称为“天下第一店”的店铺。
- 查询出来每层有多少个店铺。
- 查询出来每一层平均分数。
- 查询出来那一层分数最高。
2.2.2复杂语句(使用试图查询)
- 在PDM中完成这三个表的试图。
- 根据试图查询出来“天下第一店”的分数。
- 根据试图查询出来“天下第一店”在自己楼层排名。
2.2.3使用触发器完成
当分数有插入、修改和删除的时候,完成楼层分数的重新计算。
2.2.3存储过程
写一个存储过程,当楼层排名中存在数据的时候,删除数据,并根据最新的业务数据把最新的排名插入到当前表中。
2.2.4设置定时任务
针对2.2.3完成的存储过程设定自动任务并规定每天00:00执行,并导出脚本。