• SqlServer视图的创建与使用


    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_StudentInfo
    AS
    SELECT语句

    使用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_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
    创作不易,任何人或团体、机构全部转载或者部分转载、摘录,请在文章明显位置注明作者和原文链接。  

     

  • 相关阅读:
    关于 Web 性能优化
    重命名某一路径下文件
    使用相对坐标定位元素
    使用appium做自动化时如何切换activity
    newman安装时遇到问题的解决
    pytesser的使用
    用户名密码的参数化(读取文件)
    百度登录
    Python 3中套接字编程中遇到TypeError: 'str' does not support the buffer interface的解决办法
    百度搜索设置下拉框的操作
  • 原文地址:https://www.cnblogs.com/xiongze520/p/14566646.html
Copyright © 2020-2023  润新知