数据库——实验6 视图的创建与使用

1. 视图的定义

视图是根据需要以一个表或多个表为基础,选择满足一定条件的行或列数据的静态定义。它是一种逻辑对象,是一种虚拟表。视图并不生成行或列的永久副本,并不占用存储空 间,也就是说,视图就是保存在数据库中的 SELECT  查询,视图定义后,可以像表一样访问它。

视图为应用程序提供了一种重新组织数据的方法,可以用视图方式来获得一些复杂报表的数据。

2. 视图的优点

使用视图有很多优点,主要表现在:

(1)为用户集中数据,简化用户的数据查询和处理,使得分散在多个表中的数据,通过视图定义在一起。

(2)简化操作,屏蔽了数据库的复杂性。

(3)重新定制数据,使得数据便于共享。

(4)合并分割数据,有利于数据输出到应用程序中。

(5)简化了用户权限的管理,增加了安全性。

3. 视图的使用范围

视图通常用来集中、简化和自定义每个用户对数据库的不同认识。通常在以下情况下将使用视图;

(1)着重于特定数据。

(2)简化数据操作。

(3)自定义数据。

(4)数据的导入与导出。

(5)跨服务器组合分区数据库。

4. 创建视图应考虑的因素

(1)在 CREATE   VIEW 语句中,不能包括 ORDER BY 、COMPUTE 或 COMPUTE BY 子句,也不能出现INTO关键字。

(2)创建视图的列最多为1024列。

(3)创建视图不能参考临时表。

(4)在一个批处理语句中,CREATE  VIEW 语句不能和其他SQL 语句混合使用。

(5)尽量避免使用外连接创建视图。

5. 创建视图的步骤

(1)编写用于创建视图的 SELECT 语句。

(2)对 SELECT  语句进行测试。

(3)检查测试结果是否正确,是否和预期的一样。

(4)创建视图。

6. 使用 SQL 语句创建和管理视图

创建视图是数据库应用中的常见需求,可以使用SQL Server 管理平台创建和管理视图,也可以使用SQL 语言创建和管理视图。

(1)使用 SQL 语句创建视图是根据对基本表的查询定义的,其命令格式如下:

CREATE VIEW < 视 图 名 > AS <SELECT-查询块>

① 从单个表派生出的视图

例:创建视图 view_ 1, 从“学生管理”数据库的“学生”表中,查询出所在院系为计算机系的,学生的学号和姓名资料,其中“学生”表结构如图所示。

8dc372642d74442f8ae4c2cdb9ce50a4.png

CREATE VIEW view_1 AS

SELECT 学号,姓名

FROM  学生

WHERE 所在院系='计算机系'

基于视图 view_ 1 进行查询: 

SELECT * FROM  view_1

② 从多个表派生出的视图

例:创建视图 view_2, 从“学生管理”数据库的“学生”表和“成绩”表中查询出学生的学号、姓名、分数资料,其中“学生”表和“成绩”表结构如图所示。

8dc372642d74442f8ae4c2cdb9ce50a4.png

CREATE VIEW view_2 AS

SELECT 学号,姓名,分数

FROM 学生,成绩

WHERE 学生.学号=成绩.学号

对用户就好像有一个如图1-27 所示的 view_2表。

d58f51ef7c554958a27920f53d0a1c72.png

 ( 2 ) 对视图修改操作,使 用 ALTER  VIEW语句。

例 :修改view_ 1视图,从“学生管理”数据库的“学生”表中,查询出所在院系为计算机系的,女学生的学号和姓名资料,其中“学生”表结构如图1-20 所示。

ALTER VIEW view_ 1 AS

SELECT 学号,姓名

FROM 学生

WHERE 所在院系='计算机系’

AND 性别='女’

(3)对视图更新时,DBMS 将转换为对基本表的更新,同样使用基本表的更新语句 UPDATE 语句。

例:将学生视图 view_2中学号为“102001”的学生姓名改为“赵南”。

UPDATE view_2

SET 姓名='赵南'

WHERE 学号='102001’

(4)对视图的删除操作,使用DROP VIEW语句,命令格式为:

DROP VIEW < 视 图 名 >

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/801565.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

加州大学欧文分校英语基础语法专项课程03:Simple Past Tense 学习笔记(完结)

Learn English: Beginning Grammar Specialization Specialization Certificate course 3&#xff1a; Simple Past Tense Course Certificate 本文是学习 https://www.coursera.org/learn/simple-past-tense 这门课的学习笔记&#xff0c;如有侵权&#xff0c;请联系删除。…

函数重载和引用【C++】

文章目录 函数重载什么是函数重载&#xff1f;函数重载的作用使用函数重载的注意点为什么C可以函数重载&#xff0c;C语言不行&#xff1f; 引用什么是引用&#xff1f;引用的语法引用的特点引用的使用场景引用的底层实现传参时传引用和传值的效率引用和指针的区别 函数重载 什…

OpenHarmony实战:物联网解决方案之芯海cst85芯片移植案例

本文介绍基于芯海cst85芯片的cst85_wblink开发板移植OpenHarmony LiteOS-M轻量系统的移植案例。 开发了Wi-Fi连接样例和XTS测试样例&#xff0c;同时实现了wifi_lite, lwip, startup, utils, xts, hdf等部件基于OpenHarmony LiteOS-M内核的适配。 移植架构上采用Board和Soc分…

ArcGIS和ArcGIS Pro快速加载ArcGIS历史影像World Imagery Wayback

ArcGIS在线历史影像网站 World Imagery Wayback(网址:https://livingatlas.arcgis.com/wayback/)提供了数期历史影像在线浏览服务,之前不少自媒体作者在文中宣称其能代表Google Earth历史影像。 1、一点对比 (1)同一级别下的版本覆盖面 以下述区域为例,自2014年2月20…

【随笔】Git 基础篇 -- 分支与合并 git rebase(十)

&#x1f48c; 所属专栏&#xff1a;【Git】 &#x1f600; 作  者&#xff1a;我是夜阑的狗&#x1f436; &#x1f680; 个人简介&#xff1a;一个正在努力学技术的CV工程师&#xff0c;专注基础和实战分享 &#xff0c;欢迎咨询&#xff01; &#x1f496; 欢迎大…

GFS分布式 文件系统

一、GFS的概念 文件存储分为nfs、lvm、raid 对象存储分为GFS、CEPH、fastDFS&#xff08;分布式文件存储&#xff09;NAS OSS S3 switch OSS 属于阿里云 通过URL 链接 S3属于亚马逊通过URL链接 1.1 GFS简介 开源的分布式文件系统&#xff0c;由存储服务器、客户端…

【小贪】数据库常用操作:MySQL, HQL, Spark SQL

近期致力于总结科研或者工作中用到的主要技术栈&#xff0c;从技术原理到常用语法&#xff0c;这次查缺补漏当作我的小百科。主要技术包括&#xff1a; 数据库常用&#xff1a;MySQL, Hive SQL, Spark SQL 大数据处理常用&#xff1a;Pyspark, Pandas 图像处理常用&#xff1a;…

行内元素、块级元素和行内块元素

行内元素、块级元素和行内块元素 元素类别的定义和区别: 解释行内元素、块级元素和行内块元素的基本特性。区分这三种元素在页面布局中的不同表现和用途。 行内元素&#xff08;inline elements&#xff09;通常用于文本内容&#xff0c;不会开始新的布局块&#xff0c;它们不会…

MATLAB算法实战应用案例精讲-【数模应用】中介效应分析(补充篇)(附R语言和python代码实现)

目录 前言 几个高频面试题目 中介效应分析与路径分析的区别 1.中介效应分析 2.路径分析 注意事项

2012年认证杯SPSSPRO杯数学建模D题(第二阶段)人机游戏中的数学模型全过程文档及程序

2012年认证杯SPSSPRO杯数学建模 D题 人机游戏中的数学模型 原题再现&#xff1a; 计算机游戏在社会和生活中享有特殊地位。游戏设计者主要考虑易学性、趣味性和界面友好性。趣味性是本质吸引力&#xff0c;使玩游戏者百玩不厌。网络游戏一般考虑如何搭建安全可靠、丰富多彩的…

第七篇:3.6 其他评估考虑/4.审计指南/5. 通用报告规范/6.披露指南、参考标准及其他 - IAB/MRC及《增强现实广告效果测量指南1.0》

翻译计划 第一篇概述—IAB与MRC及《增强现实广告效果测量指南》之目录、适用范围及术语第二篇广告效果测量定义和其他矩阵之- 3.1 广告印象&#xff08;AD Impression&#xff09;第三篇广告效果测量定义和其他矩阵之- 3.2 可见性 &#xff08;Viewability&#xff09;第四篇 …

c语言 — 文件操作【求个关注!】

文章目录 一1 为什么要使用文件&#xff1f;2 什么是文件&#xff1f;2.1 程序文件2.2 数据文件2.3 关于文件名问题&#xff01;2.4 扩展 3 关于流的思想3.1 标准流 4 文件信息区5 fopen函数与fclose函数5.1 fopen函数5.2 fclose函数 6 顺序读写函数的介绍6.1 fgetc函数6.2 fpu…

【b站咸虾米】jQuery的ajax异步操作 web前端后端分离技术的原理

课程地址&#xff1a;【jQuery的ajax异步操作 web前端后端分离技术的原理】 https://www.bilibili.com/video/BV1u5411M7ny/?share_sourcecopy_web&vd_sourceb1cb921b73fe3808550eaf2224d1c155 通过案例学习ajax异步操作。 介绍 php&#xff0c;前后端不分离的技术。 a…

oj赛(双周赛第二十四次)

目录 1. 八大藤校2025fall标化要求已全部出炉 2. 上海“2024人才储备”计划启动&#xff01; 伐木工小码哥 杰瑞吃奶酪 小码哥处理订单 黑手党 第k小的距离 养竹鼠 甜品配置 礼物 合数分解 均分糖果 持盾 咖啡品鉴师小码哥 1. 八大藤校2025fall标化要求已全部…

Spring Boot(七十二):集成JSch连接到sshd服务器并使用端口转发

1 JSch介绍 JSch是SSH2的纯Java实现。JSch允许您连接到sshd服务器并使用端口转发,X11转发,文件传输等,并且可以将其功能集成到您自己的Java程序中。 官方网址如下:JSch - Examples 2 实现原理 根据远程主机的IP地址,用户名和端口,建立会话(Session)设置用户信息(包括…

景芯2.5GHz A72训练营dummy添加(一)

景芯A72做完布局布线之后导出GDS&#xff0c;然后进行GDS merge&#xff0c;然后用Calibre对Layout添加Dummy。在28nm以及之前的工艺中&#xff0c;Dummy metal对Timing的影响不是很大&#xff0c;当然Star RC也提供了相应的解决方案&#xff0c;可以考虑Dummy metal来抽取RC。…

前端二维码工具小程序产品使用说明书

一、产品概述 前端二维码工具小程序是一款便捷实用的二维码生成与识别工具&#xff0c;通过本小程序&#xff0c;用户可以轻松根据文本或链接生成二维码&#xff0c;并支持扫一扫功能识别二维码内容&#xff0c;同时提供复制识别内容的功能。此外&#xff0c;本小程序还具备美…

快速删除node_modules

1.rd /s /q node_modules 2.rimraf node_modules/ 亲测可用

【C++】手搓 list 容器

送给大家一句话&#xff1a; 若结局非你所愿&#xff0c;就在尘埃落定前奋力一搏。—— 《夏目友人帐》 手搓 list 容器 1 前言1.1 底层结构1.2 使用场景1.3 功能简介 2 框架搭建2.1 节点类2.2 list 类2.3 迭代器类 3 功能实现3.1 begin() 与 end()3.2 插入操作3.3 删除操作3…

ATM04-6P 安费诺汽车连接器6芯压线端子胶壳

ATM04-6P是一款压线端子胶壳&#xff0c;属于Amphenol&#xff08;安费诺&#xff09;品牌 ATM04-6P 规格信息&#xff1a; 制造商:Amphenol 产品种类:汽车连接器 RoHS:是 产品:Connectors 位置数量:6 Position 型式:Receptacle (Female) 线规量程:22 AWG to 16 AWG 系列:ATM 颜…