SqlServer系列之视图的创建与使用:
什么是视图?
视图的概述
在数据查询中,可以看到数据表设计过程中,考虑到数据的冗余度低、数据一致性等问题,通常对数据表的设计要满足范式的要求,因此也会造成一个实体的所有信息保存在多个表中。
当检索数据时,往往在一个表中不能够得到想要的所有信息。 为了解决这种矛盾,在SQL Server中提供了视图。
视图的概念
视图是一种数据库对象,是从一个或者多个数据表或视图中导出的虚表,视图的结构和数据是对数据表进行查询的结果,只存放视图的定义,不存放视图对应的数据;
其结构和和数据是建立在对表的查询基础上,故表中的数据发生变化,从视图中查询出的数据也随之改变。
视图的使用,跟对普通的表的查询使用完全一样。
视图的特点
1. 视图能够简化用户的操作,从而简化查询语句
2. 视图使用户能以多种角度看待同一数据,增加可读性
3. 视图对重构数据库提供了一定程度的逻辑独立性;
4. 视图能够对机密数据提供安全保护;
5. 适当的利用视图可以更清晰的表达查询。
使用视图的注意事项
1、只能在当前数据库中创建视图;
2、视图的命名必须遵循标识符命名规则,不可与表同名;
4、如果视图中某一列是函数、数学表达式、常量或者来自多个表的列名相同,则必须为列定义名称。
5、当视图引用基表或视图被删除,该视图也不能再被使用。
6、不能在视图上创建全文索引,不能在规则、默认的定义中引用视图。
7、一个视图最多可以引用1024个列。
8、视图最多可以嵌套32层。
视图的用途
1、筛选表中的行;
2、防止未经许可的用户访问敏感数据。降低数据库的复杂程度;
3、将多个物理数据库抽象为一个逻辑数据库。
手动创建视图
按照下面操作保存后创建成功;
代码创建视图
使用T-SQL语句创建视图
CREATE VIEW view_StudentInfoASSELECT语句
使用T-SQL语句删除视图
--判断:如果存在指定视图则删除IF EXISTS (SELECT * FROM sysobjects WHERE name='view_StudentInfo') --单引号里面为视图名称 DROP VIEW view_StudentInfo --视图名称
使用T-SQL语句查看视图
SELECT * FROM view_StudentInfo
案例代码
--判断:如果存在指定视图则删除IF EXISTS (SELECT * FROM sysobjects WHERE name='view_StudentInfo') --单引号里面为视图名称 DROP VIEW view_StudentInfo --视图名称go--创建成绩查询视图CREATE VIEW view_StudentInfoASSELECT a.Number,a.NAME,c.ClassName,b.C#,b.SqlDB,b.Java,b.Python FROM a_Students aINNER JOIN a_StudentsScore b ON a.Number=b.NumberINNER JOIN a_StudentClass c ON c.ClassId=a.ClassIdgo--查询成绩视图SELECT * FROM view_StudentInfo
效果展示
欢迎关注订阅我的微信公众平台【熊泽有话说】,更多好玩易学知识等你来取 作者:熊泽-学习中的苦与乐 公众号:熊泽有话说 出处: https://www.cnblogs.com/xiongze520/p/14566646.html 创作不易,任何人或团体、机构全部转载或者部分转载、摘录,请在文章明显位置注明作者和原文链接。
|
原文转载:http://www.shaoqun.com/a/642738.html
壹米滴答:https://www.ikjzd.com/w/2314
邮乐购物商城:https://www.ikjzd.com/w/1776
SqlServer系列之视图的创建与使用:什么是视图?视图的概述在数据查询中,可以看到数据表设计过程中,考虑到数据的冗余度低、数据一致性等问题,通常对数据表的设计要满足范式的要求,因此也会造成一个实体的所有信息保存在多个表中。当检索数据时,往往在一个表中不能够得到想要的所有信息。为了解决这种矛盾,在SQLServer中提供了视图。视图的概念视图是一种数据库对象,是从一个或者多个数据表或视图中导出的
zappos:https://www.ikjzd.com/w/330
韩国naver:https://www.ikjzd.com/w/1727
败欧洲网站:https://www.ikjzd.com/w/1555
关于亚马逊禁售和限制性销售商品的相关信息:https://www.ikjzd.com/home/91253
超高可信度报告显示:巴西电子商务在线销售持续增长!:https://www.ikjzd.com/home/101271
Ruelala:https://www.ikjzd.com/w/1927
No comments:
Post a Comment