zoukankan      html  css  js  c++  java
  • 再看数据库——(2)视图

    概念

    *是从用户使用数据库的观点来说的。

    *从一个或多个表(视图)中导出来的

    *一个虚表,或者说查询表


    为什么要用视图呢?

     一是简单,看到的就是须要的。视图不仅能够简化用户对数据的理解,也能够简化他们的操作。那些被常常使用的查询能够被定义为视图,从而使得用户不必为以后的操作每次指定所有的条件。

    二是 安全,通过视图用户仅仅能查询和改动他们所能见到的数据,但不能授权到数据库特定行和特定的列上。通过视图,用户能够被限制在数据的不同子集上:使用权限可被限制在还有一视图的一个子集上,或是一些视图和基表合并后的子集上。

    三是逻辑数据独立性。视图可帮助用户屏蔽真实表结构变化带来的影响。

    概括来说,因为用户通过视图仅仅能查询改动他们所能见到数据,所以操作起来自然简单很多,也安全多了。这点在视图的长处处还有涉及。

    操作:


    创建:

    方法一:









    运行显示结果:


    方法二:

    用T-SQL语句:

    use niunan
    go
    create view View_Test1
    --要查询的内容--
    as select name,title,content,createtime
    --查询的表--
    from category,news
    --查询条件--
    where category.id=news.categoryId 

    对应的,视图的改动和删除也可直接在对象资源管理器中操作,在这里就不做介绍。

    改动:

    use niunan
    go
    --要改动的视图,括号里是列名--
    alter view View_Test(name,createTime)
    --格式与新建视图时一致
    as select name,title
    from category,news
    where category.id=news.categoryId 


    删除:

    drop view View_Test


    长处:

    简化了对表增删改的操作。利用视图,我们能够同一时候从两个表中查找数据,而不用视图,就要一个一个的查询,非常麻烦也easy出错。在一定程度上,使得数据库的复杂度减少,数据共享更为方便。还有一方面,用户通过视图仅仅能查看和改动他们所能见到的数据,简化了用户权限的管理。

    视图与表:

    视图中仅仅存放了表的定义,但没有储存视图相应的数据,这些数据仍放在原来的数据表中。拿上面的样例说,新建的视图中并没有实际的新闻内容、类别名称等数据,它们都还是储存在原有的news,category表中。

    视图能够像表一样进行增删改查的操作。


    系列博客推荐:

    再看数据库——(1)存储过程

    再看数据库——(2)视图

    再看数据库——(3)触发器


  • 相关阅读:
    servlet 将输入内容通过拼接页面的方式显示出来
    localstorage和vue结合使用
    vue的通讯与传递props emit (简单的弹框组件)
    jquery插件之选项卡
    详解Cookie纪要
    jsonp
    滚动条样式
    axios基本使用
    IOS安卓常见问题
    简单购物车
  • 原文地址:https://www.cnblogs.com/gcczhongduan/p/4469911.html
Copyright © 2011-2022 走看看