2015-12-01 视图
建立信息系学生的视图
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 视图相关推荐
- 【转】 学习ios(必看经典)牛人40天精通iOS开发的学习方法【2015.12.2
原文网址:http://bbs.51cto.com/thread-1099956-1.html 亲爱的学员们: 如今,各路开发者为淘一桶金也纷纷转入iOS开发的行列.你心动了吗?想要行动吗?知道如何做 ...
- 矩阵分析与多元统计12 0-1矩阵 交换矩阵与Kronecker乘积
矩阵分析与多元统计12 0-1矩阵 交换矩阵与Kronecker乘积 基本性质 用交换矩阵的构造证明基本性质 这一讲介绍交换矩阵与Kronecker乘积相关的性质.对于矩阵A∈Fm×nA \in F^ ...
- 矩阵分析与多元统计12 0-1矩阵 交换矩阵简介
矩阵分析与多元统计12 0-1矩阵 交换矩阵简介 选择矩阵 交换矩阵 顾名思义,0-1矩阵就是所有元素取值均为0和1的矩阵,这类矩阵在矩阵分析.多元统计乃至组合学和图论中都有很重要的应用.在这个主题中 ...
- 信息学奥赛一本通 1397:简单算术表达式求值 | OpenJudge NOI 1.12 01:简单算术表达式求值
[题目链接] ybt 1397:简单算术表达式求值 OpenJudge NOI 1.12 01:简单算术表达式求值 [题目考点] 1. 函数 2. 选择结构 [解题思路] 这一章节都是练习函数,那么这 ...
- 【我的书】Unity Shader的书 — 文件夹(2015.12.21更新)
写在前面 感谢全部点进来看的朋友.没错.我眼下打算写一本关于Unity Shader的书. 出书的目的有以下几个: 总结我接触Unity Shader以来的历程,给其它人一个借鉴.我非常明确学Shad ...
- (一)分享:电子设计之电路板手工制作(王文飞2019.12.01)
此篇博文写在我离开校园,工作一年半之际,很久没有更新博客了,今天刚好得闲,写篇博客吧.今天在此和大家分享下我在HOHAI UNIVERSITY读本科时候在实验室get到的一个技术技能->电路板设 ...
- 2015.12.31
回顾 这一年吧,我改变了很多,也收获了很多. 改变 为什么改变? 2014是我最失败的一年,我亲手葬送自己的理想. 那时候很痛苦,但还是要给父母一个放心的微笑,虽然他们对我的要求只是平平安安长大. 以 ...
- NLog详细教程-2022/12/01
这里写目录标题 NLog详细教程 NLog的具体介绍,功能,优点等网上一大推,就不具体介绍了,主要说怎么安装使用 安装 需要安装NuGet包. 初级使用 配置文件编写 NLog配置原理 NLog配置文 ...
- 2015年01月12日
今天和外导讨论BP的V-cost,感想:搞学术需要小伙伴一起讨论,就算是别人不懂,你拿起你的paper一句句读给他听,你自己也会随着自己的讲解逐渐理解文章中的每一句.回国之后就真的只能单打独斗了.在这 ...
- Test on 12/01/2018
出了一道原题,我明确地知道这道题在哪,但我没写,也不会写,真是自闭. 以后在考场上出现这种题,我就,我就不买衣服,不喝奶茶一个月.说到做到! 题目出得真的很跳戏,不过我喜欢. 把所有的谎言献给你β D ...
最新文章
- 用sed 给文本文件加行号
- c语言delay_C语言编程制作“古怪手电筒”,有光的时候就会亮,没光绝不会亮...
- android 静音
- pfsense下的流量管理(转)
- 阿星Plus:基于abp vNext开源一个博客网站
- Python 全栈开发十 socket网络编程
- Shiro源码分析之Subject和SecurityManager
- python和对象复习_python 面向对象基础和高级复习
- android 绘图流程,Android View绘制流程
- visionpro图片读取、写入
- MyBatis学习笔记01
- 省市区三级联动插件(v-distpicker)
- Telink 825x 蓝牙开发笔记2
- springmvc防xss脚本注入攻击,springmvc过滤html和js标签,html和js标签转义
- 【深度学习】研究者意外发现DALL-E 2在用自创语言生成图像:全文黑话,人类都看不懂...
- 光E电小家庭要如何理财
- win10笔记本亮度无法调整,亮度设置消失了
- 看片神器人人视频APP突遭下架:上亿用户慌了!
- 致命打击:携号转网马上要实施,移动吐血!
- 100以内的质数(素数)