查看——让你的房间变得更加简单查询

查看——让你的房间变得更加简单查询

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

使用视图背景

          刚開始做机房收费系统的时候师傅说过要用上视图、存储过程、触发器这些东西。当时没有太多的感觉,不知道什么时候该用,用到哪里。就在几天前由于在做关于两个表的查询语句时,就自己建立一个视图,然后查询出来结果,然后就成功了。我做的有点太简单了,在想是不是自己做错了。

上网查了一下,看了一些博客。

事实证明,它就是来简化数据库的操作,同一时候提高了速度。


视图简单介绍:

        视图是一张虚拟表,是存储在数据库中的查询的SQL语句。与此相关的数据并没有再存一份于数据库中。

通过视图看到的数据仍然存放在基表中。

视图看上去很像数据库中的物理表,对它的操作同不论什么其他的表一样。

当通过视图改动数据时,实际上是在改变基表中的数据;相反地。基表数据的改变也会自己主动反映在由基表产生的视图中。

因为逻辑上的原因,有些视图能够改动相应的基表。而有些则不能(只能查询)。


视图的用途:

      —简单性:简化用户对数据的理解。也能够简化他们的操作。

那些被常常使用的查询能够被定义为视图,从而使得用户不必为以后的操作每次指定所有的条件。

      — 安全性:通过视图用户仅仅能查询和改动他们所能见到的数据。数据库中其它的数据既看不到也取不到。

      — 效率性:简化了数据操作,从非常大程度上提高了查询速度。

      — 独立性:视图能够使应用程序和数据库表在一定程度上独立。


怎样创建视图?

有两种方法:

     1、——Sql Server Management Studio 中直接新建视图:

(1)选择数据库中的视图选择新建视图:

        查看——让你的房间变得更加简单查询

(2)选择须要创建视图的表:

        查看——让你的房间变得更加简单查询

 (3)选择须要显示信息的字段:

       查看——让你的房间变得更加简单查询

 (4)直接生成的查询语句:

          查看——让你的房间变得更加简单查询

 (5)最后保存视图名称以后就可以使用。

            

  2、——使用 Transant—SQl语句创建视图

(1)创建视图的SQL语句的语句形式:

       查看——让你的房间变得更加简单查询

      当中:

       view_name:为新创建的视图指定的名字。视图名称必须符合标识符规则。

       column_name:在视图中包括的列名,也能够在Select语句中指定列名。

       table_name:视图基表的名字。

       select_statement:选择哪些列进入视图的Select语句。

       WHERE search_condition:基表数据进入视图所应满足的条件。

       WITH CHECK OPTION:迫使通过视图运行的全部数据改动语句必须符合视图定义中设置的条件。

       WITH ENCRYPTION:对视图的定义进行加密。


(2)使用SQL语句创建视图的步骤:

     —编写用户创建视图的Select语句。

     —对select语句进行測试。

     —检查測试结果是否正确,是否和预期的一样。

     —创建视图。


(3)在创建视图的时候,应该考虑一下因素:

     —在CREATE VIEW语句中,不能包括order by 、compute或者compute by子句。也不能出现intokeyword。

     —创建视图所參考基表的列数最多为1024列。

     —创建视图不能參考暂时表。

     —在一个批处理语句中,CREATE VIEW语句不能和其它Tracsact-SQL语句混合使用。

     —尽量避免使用外连接创建视图。


视图的使用:

      视图在程序中使用时就像普通表一样使用,比如:

<span style="font-size:18px;"> </span><span style="font-size:14px;">   '组合查询  管理学生信息 查询视图Stu_View  连接卡和学生两个表
    Public Function CombinQueryStudent(ByVal student As Entity.ConbinQueryInfo) As DataTable Implements IDAL.IStudent.CombinQueryStudent

        Dim strSql As String    '定义一个查询语句字符串
        Dim tableName As String  '定义一个数据库表名字符串
        Dim table As DataTable = New DataTable
        Dim helper As Helper.SqlHelper = New Helper.SqlHelper
        Try
            tableName = "Student_View"   '须要操作的视图

            strSql = CombinQueryDAL.CreateSqlString(student, tableName)   '生成须要查询的sql语句
            table = helper.ExecuteNonQuery(strSql, CommandType.Text)
            Return table
        Catch ex As Exception
            Throw ex
        End Try
    End Function</span>



视图的长处:

       在程序设计的时候必须先了解视图的优缺点,这样能够扬长避短视图除了上面所述的一些长处之外,视图也存在一些缺点。主要例如以下。

          
    ● 性能:SQL Server必须把视图的查询转化成对基本表的查询,假设这个视图是由一个复杂的多表查询所定义,那么,即使是视图的一个简单查询,SQL Server也把它变成一个复杂的结合体,须要花费一定的时间。

   ● 改动限制:当用户试图改动视图的某些行时,SQL Server必须把它转化为对基本表的某些行的改动。

对于简单视图来说,这是非常方便的,可是。对于比較复杂的视图,可能是不可改动的。



所以。在定义数据库对象时,不能不加选择地来定义视图,应该权衡视图的长处和缺点。合理地定义视图。

版权声明:本文博主原创文章,博客,未经同意不得转载。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/116917.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 图形验证码安全

    图形验证码安全目录图形验证码图形验证码的作用和原理图形验证码的分类图形验证码的验证过程图形验证码的安全问题静态图形验证码的激活成功教程利用Python脚本激活成功教程静态图形验证码图形验证码我们经常在登录app或者网页的时候,都会需要我们输入图形验证码上的内容,以验证登录。有些是纯数字的图形验证码,有些是字母和数字,有些是图案,有些是数学表达式……不同的网站,采用的图形验证码的形式也…

    2022年7月14日
  • LSM树详解_黑龙江野生鱼品种

    LSM树详解_黑龙江野生鱼品种LSM树(Log-Structured-Merge-Tree)的名字往往会给初识者一个错误的印象,事实上,LSM树并不像B+树、红黑树一样是一颗严格的树状数据结构,它其实是一种存储结构,目前HBase,LevelDB,RocksDB这些NoSQL存储都是采用的LSM树。LSM树的核心特点是利用顺序写来提高写性能,但因为分层(此处分层是指的分为内存和文件两部分)的设计会稍微降低读性能,但是通过牺牲小部分读性能换来高性能写,使得LSM树成为非常流行的存储结构。1、LSM树的核心思想如上图所示,LSM树有

    2022年10月29日
  • Windows net start mysql 启动MySQL服务报错 发生系统错误 5 解决方法

    Windows net start mysql 启动MySQL服务报错 发生系统错误 5 解决方法netstartmysql启动MySQL服务报错发生系统错误5解决方法

    2022年7月14日
  • django 视图_django admin视图

    django 视图_django admin视图视图家族drf的视图总共分为以下4个,对应4个源码文件views:视图类generics:工具视图mixins:视图工具集viewsets:视图集学习曲线我们学习视图,可以按照以下的曲线

    2022年7月29日
  • pycharm2022.3.2激活【2022免费激活】2022.01.21

    (pycharm2022.3.2激活)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html1TCF2R91JZ-eyJsaWNlbnNlSW…

    2022年3月31日
  • vim设置(非常全面),即.vimrc文件的配置

    vim设置(非常全面),即.vimrc文件的配置1.在终端下使用vim进行编辑时,默认情况下,编辑的界面上是没有显示行号、语法高亮度显示、智能缩进等功能的。为了更好的在vim下进行工作,需要手动设置一个配置文件:.vimrc。在启动vim时,当前用户根目录下的.vimrc文件会被自动读取,该文件可以包含一些设置甚至脚本,所以,一般情况下把.vimrc文件创建在当前用户的根目录下比较方便,即创建的命令为:$vi~/.vimrc

    2022年5月13日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号