SqlServer系列之视图的建立与使用:html
在数据查询中,能够看到数据表设计过程当中,考虑到数据的冗余度低、数据一致性等问题,一般对数据表的设计要知足范式的要求,所以也会形成一个实体的全部信息保存在多个表中。数据库
当检索数据时,每每在一个表中不可以获得想要的全部信息。 为了解决这种矛盾,在SQL Server中提供了视图。安全
视图是一种数据库对象,是从一个或者多个数据表或视图中导出的虚表,视图的结构和数据是对数据表进行查询的结果,只存放视图的定义,不存放视图对应的数据;微信
其结构和和数据是创建在对表的查询基础上,故表中的数据发生变化,从视图中查询出的数据也随之改变。微信公众平台
视图的使用,跟对普通的表的查询使用彻底同样。函数
1. 视图可以简化用户的操做,从而简化查询语句学习
2. 视图使用户能以多种角度看待同一数据,增长可读性spa
3. 视图对重构数据库提供了必定程度的逻辑独立性;设计
4. 视图可以对机密数据提供安全保护;3d
5. 适当的利用视图能够更清晰的表达查询。
一、只能在当前数据库中建立视图;
二、视图的命名必须遵循标识符命名规则,不可与表同名;
四、若是视图中某一列是函数、数学表达式、常量或者来自多个表的列名相同,则必须为列定义名称。
五、当视图引用基表或视图被删除,该视图也不能再被使用。
六、不能在视图上建立全文索引,不能在规则、默认的定义中引用视图。
七、一个视图最多能够引用1024个列。
八、视图最多能够嵌套32层。
一、筛选表中的行;
二、防止未经许可的用户访问敏感数据。下降数据库的复杂程度;
三、将多个物理数据库抽象为一个逻辑数据库。
按照下面操做保存后建立成功;
CREATE VIEW view_StudentInfo AS SELECT语句
--判断:若是存在指定视图则删除 IF EXISTS (SELECT * FROM sysobjects WHERE name='view_StudentInfo') --单引号里面为视图名称 DROP VIEW view_StudentInfo --视图名称
SELECT * FROM view_StudentInfo
--判断:若是存在指定视图则删除 IF EXISTS (SELECT * FROM sysobjects WHERE name='view_StudentInfo') --单引号里面为视图名称 DROP VIEW view_StudentInfo --视图名称 go --建立成绩查询视图 CREATE VIEW view_StudentInfo AS SELECT a.Number,a.NAME,c.ClassName, b.C#,b.SqlDB,b.Java,b.Python FROM a_Students a INNER JOIN a_StudentsScore b ON a.Number=b.Number INNER JOIN a_StudentClass c ON c.ClassId=a.ClassId go --查询成绩视图 SELECT * FROM view_StudentInfo
![]()
欢迎关注订阅个人微信公众平台【熊泽有话说】,更多好玩易学知识等你来取
做者:熊泽-学习中的苦与乐 公众号:熊泽有话说 出处: https://www.cnblogs.com/xiongze520/p/14566646.html 创做不易,任何人或团体、机构所有转载或者部分转载、摘录,请在文章明显位置注明做者和原文连接。 |