sqlserver——视图

数据库中的视图是一个虚拟表。同真实的表一样,视图包含一系列带有名称的列和行数据,行和列数据用来自由定义视图和查询所引用的表,并且在引用视图时动态产生。本篇将通过一些实例来介绍视图的概念,视图的作用,创建视图,查看视图,修改视图,更新和删除视图等SQL Server的数据库知识。

一、概述

视图是从一个或者多个表导出的,它的行为与表非常相似,但视图是一个虚拟表,在视图中可以使用SELECT语句查询数据,以及使用insert、update和delete语句修改记录,对于视图的操作最终转化为对基本数据表的操作。视图不仅可以方便操作,而且可以保障数据库系统的安全性。

 视图一经定义便存储在数据库中,与其相对应的数据并没有像表数据那样在数据库中在存储一份,通过视图看到的数据只是存放在基本表中的数据。可以对其进行增删该查,通过视图对数据修改,基本表数据也对应变化,反之亦然。

二、分类

  :标准视图:标准视图组合了一个或多个表中的数据,可以获得使用视图中的大多数好处,包括重点将放在特定的数据上及简化数据操作。

  索引视图:索引视图是被具体化了的视图,即它已经经过计算并存储。可以为视图创建索引,对视图创建一个唯一的聚集索引。索引视图可以显著提高某些类型查询的性能,索引视图尤其适于聚合许多行的查询,但它们不太适于经常更新的基本数据集。

  分区视图:

分区视图在一台多多台服务器间水平连接一组成员表的分区数据,这样,数据看上去如同来自一个表。连接本地同一个SQL Server实例中的成员表的视图是一个本地区分视图。

 

三、优点和作用

3.1.简单化

 看到的就是需要的,视图不仅可以简化用户对数据的理解,也可以简化对它们的操作,那些经常使用的查询可以被定义为视图,从而使得用户不必为以后的每次操作指定全部的条件。

3.2.安全性

 视图可以作为一种安全机制。通过视图用户只能查看和修改他们所能看到的数据。其它或表既不可见也不可以访问。如果某一用户想要访问视图的,必须授予其访问权限。视图所引用表的访问权限与视图权限的设置互不影响。

3.3.逻辑数据独立性

 视图可以帮助用户屏蔽真实表结构变化带来的影响。

四、

视图语法结构

--语法
CREATE VIEW view_nameASSELECT column_name(s) FROM table_name
WHERE condition

测试数据准备

use sample_db;
create table studentTable(id int identity(1,1)primary key,name varchar(20),gender char(2),age int,
)
insert into studentTable (name,gender,age)
values('刘备','',28),('张飞','',24),('关羽','',26); 

创建视图

--创建视图
if (exists (select * from sys.objects where name = 'student_view'))drop view student_view
go
--student_view()不实用参数,默认为基础表中的列名称
create view student_view 
as
select name,age from studentTable where age>24;
--执行视图
select * from student_view;

修改视图

alter view view_name
as select ......
where ......-

 

查看视图的信息

  • 使用sp_help存储过程查看视图的定义信息
  • 使用sp_helptext系统存储过程使用来显示规则,默认值,未加密的存储过程,用户定义函数,触发器或视图的文本,语法
exec  sp_help 'student_view';
exec sp_helptext 'student_view';

 

转载于:https://www.cnblogs.com/javier520/p/10851047.html

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

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

相关文章

js常用API

(1) getAttribute 用户写啥是啥&#xff0c;#后面的值&#xff0c;获取用户在上面写的原文&#xff0c;不是浏览器加http协议的东西&#xff1b; <a href"#siteAbout">关于</a> var href a.getAttribute(href) // hrefsiteAbou…

DOM相关(主要是var和let的区别用法)

一、1.节点的类型有七种&#xff0c;分别是&#xff1a;Document&#xff0c;DocumentType&#xff0c;Element&#xff0c;Attribute&#xff0c;Text&#xff0c;Comment&#xff0c;DocumentFragment 2.DOM树的根节点是&#xff1a;html 3.元素Element的NodeType值为&…

JOIN三个表格

表格一 表格二 表格三 SQL语句为 SELECT * FROM movie JOIN casting ON movie.idcasting.movieid     JOIN actor ON casting.actoridactor.id(要注意join 的格式) 最终结果展示在最下面 idtitleyrdirectorbudgetgrossmovieidactoridordidname1001710 Rillington Place19…

深度学习入门|第5章 误差反向传播法(二)

误差反向传播法 前言 此为本人学习《深度学习入门》的学习笔记 四、简单层的实现 本节将用 Python 实现前面的购买苹果的例子。这里&#xff0c;我们把要实现的计算图的乘法节点称为“乘法层”&#xff08;MulLayer&#xff09;&#xff0c;加法节点称为“加法层”&#xff08;…

内容样式行为分离

CSS负责HTML&#xff1a;人类选不中&#xff1b;js取不到 CSS负责JS: 如果逻辑复杂&#xff0c;CSS会变慢&#xff0c;页面会变慢

CSS图片布局 flex(竖着的几张图片改为一排)

<style>.images{display: flex;align-items: flex-start;//border: 1px solid red; 有可能边框包不住这几张图片&#xff0c;但如果窗口够大&#xff0c;也可以包住//overflow: hidden; 如果写了&#xff0c;超出边框的部分会被隐藏 } </style> 布局有两种方式&a…

牡丹-曹州牡丹:曹州牡丹

ylbtech-牡丹-曹州牡丹&#xff1a;曹州牡丹菏泽牡丹&#xff0c;山东省菏泽市特产&#xff0c;中国国家地理标志产品。牡丹&#xff0c;原产中国西北部&#xff0c;秦岭和陕北山地多野生&#xff0c;栽培历史悠久&#xff0c;南北朝时已声成为观赏植物。菏泽&#xff0c;古称曹…

idea报错:Error: java: 错误: 不支持发行版本 5

我在测试类运行时&#xff0c;出现下述错误&#xff1a; 可能原因&#xff1a;java版本不一致项目编译配置使用的java版本不对 解决方案&#xff1a; 第一步&#xff1a;file---Project Structure-- Project&#xff08;两版本改为一致&#xff1a;第二、三个横框中数字都为11…

python网络爬虫基础day01

2019.5.13&#xff0c;今天在“小猿圈”跟着波波老师学习了爬虫开发的第一章和第二章&#xff0c;总结下今天学的知识&#xff1a; 爬虫基础介绍&#xff1a;   什么是爬虫&#xff1f;    - 通过编写程序&#xff0c;模拟浏览器上网&#xff0c;然后让其去互联网上抓取数…

忘记mysql数据库连接密码

本次操作所有需要用到的密令行&#xff1a; bin>net stop mysql bin>mysqld --skip-grant-tables bin>mysql mysql>use mysql mysql>update user set passwordpassword("123456") where user"root"; mysql>flush privileges; mys…

Python 基础 函数

1&#xff1a;调用函数 eg&#xff1a;调用内置函数 abs() 求绝对值 2&#xff1a;定义函数 1&#xff1a;定义一个函数要使用 def 语句&#xff0c;依次写出函数名、括号、括号中的参数和冒号:&#xff0c;然后&#xff0c;在缩进块中编写函数体&#xff0c;函数的返回值用ret…

Springmvc跨服务器文件上传报403,409错误

报403错误 Tomcat默认只读模式&#xff0c;传图片会被拒绝 解决&#xff1a;找到 Tomcat 目录---conf下---web.xml&#xff0c;打开 加入 <init-param><param-name>readonly</param-name><param-value>false</param-value> </init-param&g…

Vue中message.split().reverse().join()函数用法

1、split() 把一个字符串分割成字符串数组 把数据拆分为一个数组,括号里的 是把数据拆分为每个字符串 2、reverse() 颠倒数组中元素的顺序 只作用于数组&#xff0c;跟在split()后才能起作用&#xff0c;在一个字符串后面不起作用&#xff0c;如message.reverse() 3、join()…

单元测试——Winfrom

一、新建单元测试项目 二、单元测试可在Service或者Repository层分别创建 三、编写好代码后可运行单元测试 转载于:https://www.cnblogs.com/772933011qq/p/10863817.html

vue报错:dependencies were not found: * element-ui in ./src/main.js * element-ui/lib/theme-chalk/inde

报错信息 These dependencies were not found: * element-ui in ./src/main.js * element-ui/lib/theme-chalk/index.css in ./src/main.js 解决方案 1、 cmd进入命令行窗口&#xff0c;切入运行的项目文件夹下 2、输入 cnpm i element-ui -S(没有装淘宝镜像的使用 npm i…

Spring的配置与使用

一、Spring的组成 其中最核心的是Core Container核心容器 二、spring框架的作用&#xff1a; 对于我目前了解的spring框架&#xff0c;其中一个作用是用来降低程序间的耦合度的&#xff0c;也就是降低程序间的依耐性。 IOC&#xff1a;inversion of control 控制反转-->即将…

选择日期保存报错Invalid JSON input: Cannot deserialize value of type `java.util.Date` from String......

(spring boot vue&#xff09; 1、新增-选择日期-点击保存-报错&#xff1a;报错信息 "Invalid JSON input: Cannot deserialize value of type java.util.Date from String "2020-07-05T16:00:00.000Z": not a valid representation (error: Failed to pars…

个人冲刺10

1.昨天做了界面整体优化。 2.今天打算了解一下组成员的情况。 3.整体界面优化没有什么问题。转载于:https://www.cnblogs.com/Evak/p/10936847.html

新增或编辑保存时出错后,页面无法再次编辑

新增或编辑保存时出错后&#xff0c;页面无法再次编辑&#xff0c;除非关闭新增或编辑弹窗&#xff0c;重新打开新增或编辑页面&#xff0c;否则无法编辑 &#xff0c;如下图&#xff1a; 解决方案 在新增方法之前定义loading参数&#xff0c;在调用后台服务之前先使用loading…

avue下拉框中属性可以显示,但不能选中

1、avue下拉框中属性可以显示&#xff0c;但不能选中 追其原因&#xff0c;我对表单分组了&#xff0c;下拉框放在了group组内的column组里面&#xff0c;导致层数过多&#xff0c;产生死循环的bug 2、解决方法&#xff1a; 取消分组&#xff0c;把所有的属性放到column属性里…