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‘;

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

时间: 2024-10-02 19:26:52

2015-12-01 视图的相关文章

2015.12.01 软件安装 命令行操作 vi

软件安装 1.App Store 2..dmg/.pkg(相当于光盘镜像) 双击安装 3.绿色软件,*.app 直接拖拽到Application (非官方的安装,要注意在偏好设置中允许任何来源) 常用网址:www.macx.cn        bbs.feng.com 在对MacOS系统的操作当中,有两种操作方式.一种就是图形化操作,另一种就是命令行操作.对比而言,前者更直观,而后者则是更便捷并且节约资源. 基本命令 ls                           查看当前文件夹下的文

Cheatsheet: 2015 12.01 ~ 12.31

Mobile Setting Up the Development Environment iOS From Scratch With Swift: How to Test an iOS Application on a Device Web Rendering Image Previews Using Object URLs vs. Base64 Data URIs In AngularJS Understanding JavaScript Modules Choosing an HTTP S

2015.12.01 vim编写程序运行的步骤 Xcode基本介绍(快捷键) C语言中的变量

文本编辑器 Windows:TurboC.Dev-C++ Linux:Vim.Emacs (Vim是Mac系统自带,也是今天用到的文本编辑器) Vim · 创建文件(Terminal中完成) vim printName.c(.c为结尾是C语言的标志) vim有两种模式:命令模式 & 编辑模式 在命令模式下输入i(a)就可以进入编辑模式(编辑模式的标志是在编辑器下方显示"INSERT") (操作方式在上一篇) (P.S."#include"导入自己定义或者系统

2015.12.01学习笔记

本日学习课程简介:RAID,LVM,ip配置, 磁盘列阵 RAID 即为「Redundant Array of Independent Drives」或「Redundant Array of Inexpensive Drives (or Disks)」的简写,一般俗称「磁盘阵列」,就是以两台或更多的硬盘,组成一个或增加传输速度,或增大总容量,或增加文件备份的大磁盘. NO RAID 正常的数据存储,一但磁盘损坏,数据丢失,无任何安全性 RAID0 将数据平均分散在所有硬盘内,传输速度快,但一台硬

第一金早评 - 2015年01月07日-晨早快訊

每日金市速遞 (2015年01月07日) 谢权东 先生 上日9999 金粒賣出價每両 HKD 12590 金粒賣出價資料參考周生生,周大福 即日投資策略: 黃金日線圖上分析,日線收3連陽,K線沿布林帶中軌和上軌之間運行,金價日內大漲,布林帶有向上開口跡象,布林中軌向上翹頭,短週期均線指標金叉向上,MACD快慢線死叉於0軸下方金叉,有上穿0軸趨勢,紅柱放量. 從4小時來看,布林帶向上開口,金價處於布林上軌1220與MA5-1215之間震盪往上,短週期均線指標金叉向上,MACD快慢線於0軸附近形成金

2015.12.29~2015.12.30真题回顾!-- HTML5学堂

2015.12.29~2015.12.30真题回顾!-- HTML5学堂 吃饭,能够解决饥饿,提供身体运作机能.练习就像吃饭,强壮自己,提升编程技能,寻求编程技巧的最佳捷径!吃饭不能停,练习同样不能停哦! HTML5真题[2015.12.29]题目 学习JavaScript或应用JavaScript进行脚本开发,“变量”这是必须要学会使用的.什么是变量呢?又什么作用呢?ok,大家稍安勿躁哦,试体验体验这题目<HTML5真题[2015.12.29]题目>与 <HTML5真题[2015.12

#VSTS日志# 2015/12/10 – 终于可以删除工作项了

最近的更新不少,废话少说,直接上干货 定制工作项字段 本周的更新后,所有的用户都可以在vsts上直接给工作项添加字段了,具体内容包括– 添加新字段(日期,字符串,整形,数字)– 字段显示位置配置– 过程模版继承– 过程模版安全性配置 很多人都知道,在vsts在线版上一直缺少工作项定制能力,这次的更新一定让很多人兴奋,但是我们的工作还没有完,后续我们会逐步完成字段下拉菜单,工作流配置,html字段,添加全新的工作项类型等功能.关于本功能的具体内容,请参考以下博客 http://devopshub.

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

写在前面 感谢全部点进来看的朋友.没错.我眼下打算写一本关于Unity Shader的书. 出书的目的有以下几个: 总结我接触Unity Shader以来的历程,给其它人一个借鉴.我非常明确学Shader的艰难,在群里也见了非常多人提出的问题. 我认为学习Shader还是一件有规律可循的事情,但问题是中文资料难觅,而大家又不愿意去看英文...这对我有什么优点呢?强迫我对知识进行梳理,对细节问题把握更清楚. 第二个原因你懂的. 关于本书的定位问题: 面向Unity Shader刚開始学习的人,但要

2015年01月09日_安装archlinux中一些注意事项

一直以来是用win或ubuntu办公.新手不懂高手怎么那么喜欢linux,做完一个大项目后才发觉一个快速运行的系统多么重要.ubuntu办公虽然快一些,但是在办公方面感觉还是略差一节,现决定使用archlinux及轻量级桌面,把所有能用得起的物理资源全部用在工作软件方面.2015年01月09日在安装时出现了一些小问题,现记录如下,供以后自己及有心人查阅. 1. arch wiki文档中可切换到中文查看.确保顺序没错 2. vi中搜索关键字:  /vi vi中的剪切一行:dd vi中的复制一行:y

2015.12.25-2016.01.01 大论文迭代B

大论文B轮迭代,稍重前端 12.25 周五,完善摘要 12.26 周六,完善第一章 12.27 周天,完善第二章 12.28 周一,完善第三章 12.29 周二,完善第四章 12.30 周三,完善第五章 12.31 周四,加入参考文献 01.01 周五,加入参考文献 加强前端方面的学习