三-(七) 视图(2020-4-3 )
一些知识点
- 视图性质:
- 虚表:从一个表或几个表(或视图)导出的表
- 只存放视图的定义,不会出现数据冗余
- 基表中的数据发生变化,从视图中查询出的数据也随之改变
- 最多的操作是 查询
- 透过视图进行增删改查操作的时候,不得破坏视图定义中的谓词条件
- 行列子集视图:行列子集视图:去除了某些行和列,保留了码
- 作用
- 能够简化用户操作
- 可以使用户以多种角度看待同一数据
- 对重构数据库提供了一定程度的逻辑独立性
- 能够对机密数据提供安全性的保护
- 可以更加清晰的表达查询
一些例子
1.建立信息系学生的视图,包括学号,姓名,年龄
create view is_student(sno,sname,sage)
as/*来自哪张表*/
select sno,sname,sage
from student
where sdept='IS';
--查询
select *
from is_student
--插入(不常用)
insert into is_student/*实际插入的是student表*/
values('201215131','杨康',19)
- with check option :对视图正确与否很重要
create view is_student1(sno,sname,sage)
as/*来自哪张表*/
select sno,sname,sage
from student
where sdept='IS'
with check option/*加上约束,这样插入的数据就只能是 sno,sname,sage 插入,不可以插入别的属性*/
--插入数据
insert into is_student1/*实际插入的是student表*/
values('201215132','洪七公',38)
2.建立信息系选修了1号课程的学生视图,包括学号,姓名 成绩
create view is_s1(sno,sname,grade)asselect student.sno,sname,gradefrom student,scwhere student.sno=sc.sno andsdept='IS' andcno='1'select *
from is_s1
3.查询信息系选修了1号课程并且成绩大于90的信息
create view is_s2 /*省略了字段*/
as
select *
from is_s1 /*is_s2的字段会和is_s1一样*/
where grade>90select *
from is_s2
4.建立学生基本情况的视图,包括 学号 姓名 出生年份
create view bt_s(sno,sname,sbirth)/*由于2020-sage没有名字,所以在这里必须注明字段*/
select sno,sname,2020-sage
from student
- 三种情况下必须加字段
- 计算
- 聚集函数
- 连接的表
5.建立每个学生以及他平均成绩的视图
create view s_g(sno,Gavg)
as
select sno,avg(grade)
from sc
group by snoselect *
from s_g
6.建立所有女同学的视图,包括所有属性
create view f_student(no,name,sex,sage,sdept)
as
select sno,sname,ssex,sage,sdept
from student
where ssex='女'select*
from f_student
删除视图
drop view is_student
drop view is_s1/*按理说不能删,因为is_s2是由is_s1推导出来的,但是在这个里面可以删*/
drop view is_s2/*由于已经删除了is_s1,所以is_s2已经没有用了*/
视图应用 与 视图消解
1.在信息系学生的视图中找到年龄小于20的学生
select *
from is_student
where sage<20
--视图消解
--select sno,sname,sage
--from student
--where sage<20 and sdept='IS'
2.查找平均成绩大于90分
select sno,gavg
from s_g
where gavg>90
--视图消解 有聚集函数的消解为 having
select sno,avg(grade)
from sc
group by sno
having avg(Grade)>90 /*where子句中不可以出现聚集函数*/
三-(七) 视图(2020-4-3 )相关推荐
- VC小技巧(三)视图
VC小技巧(三)视图 1. 如何得到视图指针 [ 问题提出] 现在你有一个多线程的Demo, 你想在多线程里处理视图指针里的函数, 我们给这个函数起个名字:Put(); 该如何实现呢? // 有两种方 ...
- Django基础三之视图函数
Django基础三之视图函数 一 Django的视图函数view 一个视图函数(类),简称视图,是一个简单的Python 函数(类),它接受Web请求并且返回Web响应. 响应可以是一张网页的HTML ...
- 华为设备接口视图_华为交换机的三种视图
华为交换机的三种视图 : 用户视图 , 系统视图 , 接口 视图 用户视图 : 刚开始登入交换机时的视图 , 一般看到的是尖括号 <> . save // 配置完交换机后保存当前配置的命令 ...
- 2021-07-18 三种视图的dicom文件的生成
根据截断面的dicom文件生成三种视图的dicom文件 由于给出的dicom文件只有阶段面的展示,而我们需要完成横断面.矢状面.冠状面三种视图的展示.在js方面缺少对dicom文件进行处理的库,因此需 ...
- SRPG游戏开发(二十二)第六章 基本框架 - 七 视图(ViewUI)
返回总目录 第六章 基本框架(Framework) 第六章 基本框架(Framework) 七 视图(View&UI) 1 打开(Open View) 1.1 流程图(Flow Chart) ...
- 2021年建5G基站60万个;中兴遭减持;三大运营商2020年成绩单;电信发布新手机...
今日5G热点 1.2021年建5G基站60万个 2.三大运营商2020年成绩单 3.中国电信发布新一代5G全网通云手机 4.中国铁塔获GIC Private Limited增持6500万股 5.中兴遭 ...
- day 53-1 Django基础三之视图函数
Django基础三之视图函数 本节目录 一 Django的视图函数view 二 CBV和FBV 三 使用Mixin 四 给视图加装饰器 五 Request对象 六 Response对象 一 Djang ...
- 一周5G资讯 | 华为、中兴、红米发布5G手机;三大运营商2020年5G计划;5G标准推迟发布...
5G手机 华为P系列首款5G旗舰正式发布:售价799欧元起 3月26日,华为正式发布P40系列5G旗舰手机,主要有P40.P40 Pro以及P40 Pro+三款手机. 售价方面,华为P40(8+128 ...
- 数据库实验三:视图、安全性
实验三:视图.安全性 一.实验目的 二.实验内容 1.创建四类用户角色 2.为以上四类用户角色操作基本表的权限 3.为每类用户角色至少创建一个用户 4.测试 ①测试客户用户 ②测试供货商用户 ③测试商 ...
- 数据库实验七——视图、索引及数据安全
实验七:视图.索引及数据安全 一.实验目的 1.掌握视图特点: 2.掌握使用SQL Server 2008创建及管理视图: 3.掌握在对象资源管理器和T-SQL语句中创建和管理索引: 二.实验学时 2 ...
最新文章
- 2018 JVM 生态报告:79% 的 Java 开发者使用 Java 8
- Android中所有API和对应权限的数据结构构建
- Linux下编译Boost
- Django学习笔记(10)——Book单表的增删改查页面
- virsh 关机_KVM virsh常用命令篇
- 利用System.Net.Mail 的SmtpClient发送邮件
- 机器学习(七)——规则化和模型选择
- .net测试篇之单元测试/集成测试神器Autofixture
- 牛客网-数据结构笔试题目(二)-万万没想到之抓捕孔连顺思路解析(附源码)
- 对几种传递的理解:值传递,地址传递,引用传递
- (转)服务器控件三个ID
- c语言3到7位水仙花数流程图_C语言入门基础整理
- DVWA系列之10 命令执行漏洞的挖掘与防御
- 《数学建模与数学实验》第5版 统计分析 习题9.7
- 2019微信语音转发方法新版微信转发语音方法
- Linux 各类软件整理汇总
- 十分好用PDF转换成PPT转换器
- C# 嵌入式数据库LiteDB
- Drupal独到的编程思想
- 使用BOMC升级 lenovo Thinksystem 和system x系列服务器微码到最新
热门文章
- 【图像重建】基于matlab卷积神经网络的图像超分辨率重建【含Matlab源码 1816期】
- 【表盘识别】基于matlab投影法电表表盘读数识别【含Matlab源码 1101期】
- 【用电量预测】基于matlab SVM用电量预测【含Matlab源码 103期】
- AMOS问卷数据建模前传【SPSS 052期】
- 吃豆人 博弈_强化吃豆人
- 防火墙 虚拟服务器,防火墙应用指南(二)——虚拟服务器的搭建-20210526012702.pdf-原创力文档...
- 例4.3 数制转换 - 九度教程第44题(进制转换)
- C++PrimerP104
- oracle中表为啥会死锁,Oracle数据表中的死锁情况解决方法
- CNN 卷积神经网络结构转载