建立信息系学生的视图
create view is_student
as
select sno,sname,sage
from student
where sdept='is';
建立信息系学生的视图,并要求进行修改和插入操作时仍需保证该视图只有信息系的学生
create view is_student
as
select sno,sname,sage
from student
where sdept='is'
WITH CHECK OPTION;
在定义视图时加上WITH CHECK OPTION子句,以后对该视图进行插入,修改和删除操作时,RDBMS会自动加上sdept='is'的条件

建立信息系选修了1号课程的学生的视图
create view is_s1(sno,sname,grade)
as
select student.sno,sname,grade
from student,sc
where sdept='is' and
student.sno=sc.sno and
sc.cno=1;

建立信息系选修了1号课程且成绩在90分以上的学生的视图
create view is_s2
as
select sno,sname,grade
from is_s1
where grade>=90;

定义一个反映学生出生年份的视图
create view bt_s(sno,sname,sbirth)
as
select sno,sname,2004-sage
from student;

将学生的学号及他的平均成绩定义为一个视图
create view s_g(sno,grade)
as
select sno,avg(grade)
from sc
group by sno;

将student表中所有女生记录定义为一个视图
create view f_student(f_sno,name,sex,age,dept)
as
select *
from student
where ssex='女';

在信息系学生的视图中找出年龄小于20岁的学生
select sno,sage
from is_student
where sage<20;

查询选修了1号课程的信息系学生
select is_student.sno,sname
from is_student,sc
where is_student.sno=sc.sno and sc.sno='1';

查询平均成绩在90分以上的学生学号和平均成绩
select sno,avg(grade)
from sc
where avg(grade)>=90
group by sno;

由于视图是不实际存储数据的虚表,因此对视图的更新,最终要转换为对基本表的更新。
为防止用户通过视图对数据进行增加,删除,修改时,有意无意地对不属于视图范围内的基本表数据进行操作,可在定义视图时加上WITH CHECK OPTION子句。这样在视图上增删改数据时,RDBMS会检查视图定义中的条件,若不满足条件,则拒绝执行该操作。

将信息系学生视图is_student中学号为200215122的学生姓名改为"刘辰"
update is_student
set sname='刘辰'
where sno='200215122';
转换后的更新语句为
update student
set sname='刘辰'
where sno='200215122' and sdept='is';

视图的作用:
简化用户操作
使用户能以多种角度看待同一数据
视图对重构数据库提供了一定程度的逻辑独立性
能够对机密数据提供安全保护
适当地利用属兔可以更清晰的表达查询

转载于:https://www.cnblogs.com/daochong/p/5011886.html

2015-12-01 视图相关推荐

  1. 【转】 学习ios(必看经典)牛人40天精通iOS开发的学习方法【2015.12.2

    原文网址:http://bbs.51cto.com/thread-1099956-1.html 亲爱的学员们: 如今,各路开发者为淘一桶金也纷纷转入iOS开发的行列.你心动了吗?想要行动吗?知道如何做 ...

  2. 矩阵分析与多元统计12 0-1矩阵 交换矩阵与Kronecker乘积

    矩阵分析与多元统计12 0-1矩阵 交换矩阵与Kronecker乘积 基本性质 用交换矩阵的构造证明基本性质 这一讲介绍交换矩阵与Kronecker乘积相关的性质.对于矩阵A∈Fm×nA \in F^ ...

  3. 矩阵分析与多元统计12 0-1矩阵 交换矩阵简介

    矩阵分析与多元统计12 0-1矩阵 交换矩阵简介 选择矩阵 交换矩阵 顾名思义,0-1矩阵就是所有元素取值均为0和1的矩阵,这类矩阵在矩阵分析.多元统计乃至组合学和图论中都有很重要的应用.在这个主题中 ...

  4. 信息学奥赛一本通 1397:简单算术表达式求值 | OpenJudge NOI 1.12 01:简单算术表达式求值

    [题目链接] ybt 1397:简单算术表达式求值 OpenJudge NOI 1.12 01:简单算术表达式求值 [题目考点] 1. 函数 2. 选择结构 [解题思路] 这一章节都是练习函数,那么这 ...

  5. 【我的书】Unity Shader的书 — 文件夹(2015.12.21更新)

    写在前面 感谢全部点进来看的朋友.没错.我眼下打算写一本关于Unity Shader的书. 出书的目的有以下几个: 总结我接触Unity Shader以来的历程,给其它人一个借鉴.我非常明确学Shad ...

  6. (一)分享:电子设计之电路板手工制作(王文飞2019.12.01)

    此篇博文写在我离开校园,工作一年半之际,很久没有更新博客了,今天刚好得闲,写篇博客吧.今天在此和大家分享下我在HOHAI UNIVERSITY读本科时候在实验室get到的一个技术技能->电路板设 ...

  7. 2015.12.31

    回顾 这一年吧,我改变了很多,也收获了很多. 改变 为什么改变? 2014是我最失败的一年,我亲手葬送自己的理想. 那时候很痛苦,但还是要给父母一个放心的微笑,虽然他们对我的要求只是平平安安长大. 以 ...

  8. NLog详细教程-2022/12/01

    这里写目录标题 NLog详细教程 NLog的具体介绍,功能,优点等网上一大推,就不具体介绍了,主要说怎么安装使用 安装 需要安装NuGet包. 初级使用 配置文件编写 NLog配置原理 NLog配置文 ...

  9. 2015年01月12日

    今天和外导讨论BP的V-cost,感想:搞学术需要小伙伴一起讨论,就算是别人不懂,你拿起你的paper一句句读给他听,你自己也会随着自己的讲解逐渐理解文章中的每一句.回国之后就真的只能单打独斗了.在这 ...

  10. Test on 12/01/2018

    出了一道原题,我明确地知道这道题在哪,但我没写,也不会写,真是自闭. 以后在考场上出现这种题,我就,我就不买衣服,不喝奶茶一个月.说到做到! 题目出得真的很跳戏,不过我喜欢. 把所有的谎言献给你β D ...

最新文章

  1. 用sed 给文本文件加行号
  2. c语言delay_C语言编程制作“古怪手电筒”,有光的时候就会亮,没光绝不会亮...
  3. android 静音
  4. pfsense下的流量管理(转)
  5. 阿星Plus:基于abp vNext开源一个博客网站
  6. Python 全栈开发十 socket网络编程
  7. Shiro源码分析之Subject和SecurityManager
  8. python和对象复习_python 面向对象基础和高级复习
  9. android 绘图流程,Android View绘制流程
  10. visionpro图片读取、写入
  11. MyBatis学习笔记01
  12. 省市区三级联动插件(v-distpicker)
  13. Telink 825x 蓝牙开发笔记2
  14. springmvc防xss脚本注入攻击,springmvc过滤html和js标签,html和js标签转义
  15. 【深度学习】研究者意外发现DALL-E 2在用自创语言生成图像:全文黑话,人类都看不懂...
  16. 光E电小家庭要如何理财
  17. win10笔记本亮度无法调整,亮度设置消失了
  18. 看片神器人人视频APP突遭下架:上亿用户慌了!
  19. 致命打击:携号转网马上要实施,移动吐血!
  20. 100以内的质数(素数)

热门文章

  1. visio中虚线粘贴到word中变实线的解决办法(转)
  2. SQL Server 审计功能-记录所有的操作记录
  3. MonoBehaviour Lifecycle(生命周期/脚本执行顺序)
  4. Character Studio
  5. git教程(二)--安装和配置git
  6. SQL Server 高可用性(一)AlwaysOn 技术
  7. NachOS简述和源文件
  8. 修改树状控件TreeCtrl的节点名称
  9. ssh服务及安全配置
  10. ThreadLocal 解决多线程程序的并发问题+事务处理