【SQL Server】实验五 视图

1 实验目的

  1. 掌握SQL视图语句的基本使用方法,如CREATE VIEW、DROP VIEW。
  2. 掌握视图更新、WITH CHECK OPTION等高级功能的使用。

2 实验内容

2.1 掌握SQL视图语句的基本使用方法

  1. 创建视图(省略视图列名)。
  2. 创建视图(不能省略列名的情况)。
  3. 删除视图(RESTRICT / CASCADE)。

2.2 掌握视图更新和WITH CHECK OPTION的高级使用方法

  1. 创建视图(WITH CHECK OPTION),并利用INSERT、DELETE和UPDATE语句加以验证。
  2. 创建一个行列子集可更新视图,并利用INSERT、DELETE和UPDATE语句加以验证。
  3. 创建一个不可能更新的视图,并利用更新语句验证该视图不可更新。

3 实验要求

  1. 深入复习教材第三章SQL有关视图语句。
  2. 根据书上的例子,针对TPCH数据库模式设计各种视图语句,每种类型视图语句至少要设计一个,描述清楚视图要求,运行你所设计的视图语句,并截图相应的实验结果,每幅截图并要有较为详细的描述。也可以按照附1所列示例做实验。
  3. 实验步骤和实验总结中要详细描述实验过程中出现的问题、原因和解决方法。

4 实验步骤

4.1 掌握SQL视图语句的基本使用方法

  1. 创建视图(省略视图列名)。
  1. 创建视图(不能省略列名的情况)。
  1. 删除视图(RESTRICT / CASCADE)。

表已成功被删除

4.2 掌握视图更新和WITH CHECK OPTION的高级使用方法

  1. 创建一个行列子集可更新视图,并利用INSERT、DELETE和UPDATE语句加以验证。

再执行一次insert语句

  1. 创建视图(WITH CHECK OPTION),并利用INSERT、DELETE和UPDATE语句加以验证。

插入失败,验证成功

更新失败,验证成功

  1. 创建一个不可能更新的视图,并利用更新语句验证该视图不可更新。

第一题创建的视图:

视图中无法显示:

Part表可以显示:

对于没有 with check option 的视图,可以插入 不满足 创建视图时 where 所限制的条件 的数据,但是无法在视图中正常显示出来。

第二题创建的视图:

因为所创建的视图对其属性值进行了计算的其他形式上的改变,而对视图的更改最终表现为对表的更改,而表中不存在视图的某一属性,或属性的性质不相同,则无法更改,这是一种视图机制。

5总结与体会

5.1 实验中出现的问题及其解决方案

表已成功被删除

5.2 总结

1.创建视图时有with check option:插入数据时,不符合条件,则会插入失败。

2.创建视图时无with check option:插入数据时,不符合条件,不会提示失败,且在原表中可以插入,但是无法在创建的视图中显示出来。

相关推荐
马克学长17 分钟前
SSM学生出国境学习交流管理87153(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·学习·ssm 框架·学生出国境管理·在线申请
么么...21 分钟前
MySQL 存储引擎与索引深度解析:从原理到优化实践
数据库·经验分享·sql·mysql
小宇的天下21 分钟前
Synopsys Technology File and Routing Rules Reference Manual (1)
java·服务器·前端
さかた ぎんとき8835 分钟前
从SQL到磁盘的Mysql全链路解析
数据库·sql·mysql
lph00936 分钟前
mqtt broker (mosquitto)创建服务器、订阅与发布
运维·服务器
それども42 分钟前
数据库读写分离和事务的关系
数据库
TGITCIC44 分钟前
2026数据分析Agent最新落地方向解析
数据库·数据分析·ai大模型·ai智能体·ai数据·ai问数·ai sql
wangqiaowq1 小时前
SQL Server 对非聚簇索引的 INCLUDE 列数量和大小有限制
数据库
酒醉的胡铁1 小时前
uniapp运行到鸿蒙证书配置
服务器·uni-app·harmonyos
Coder_Boy_1 小时前
基于SpringAI的在线考试系统-核心业务流程图
java·数据库·spring boot·软件工程