PLSQL 视图

PL/SQL Developer是一个集成开发环境,专门开发面向Oracle数据库的应用。PL/SQL也是一种程序语言,叫做过程化SQL语言(Procedural Language/SQL)。PL/SQL是Oracle数据库对SQL语句的扩展。在普通SQL语句的使用上增加了编程语言的特点,所以PL/SQL把数据操作和查询语句组织在PL/SQL代码的过程性单元中,通过逻辑判断、循环等操作实现复杂的功能或者计算。PL/SQL 只有 Oracle 数据库有。 MySQL 目前不支持 PL/SQL 的。

1 视图介绍

        视图是一个逻辑表,也是一个非常重要的方案对象。实际上,视图是查看表的一种方式。视图是对根据预定义的选择标准由一个或多个行的集合建立起来的动态表的静态定义。视图可以用来定义来自一个或多个表的行和列的多种连接。通过视图,可以查看到表中的数据。

        视图是查看数据库表中的数据的一种方法。视图提供了存储预定义的查询语句作为数据库中的对象以备以后使用的能力。视图只是一种逻辑对象,是一种虚拟表,并不是物理对象,因为视图不占物理存储空间。在视图中被查询的表称为视图的基表。

        通常通过它就像使用表一样访问数据。要记住通过视图引用的数据通常来自它后面的基表。视图应该使用一致的命名约定。例如,给所有的视图增加一个前缀,如每一个视图都以v_、view_或vw_开头。这样,可以使用户在看到名称时就立即知道它代表的对象是视图。

2 视图好处

      使用视图的优点,如集中用户使用的数据、掩码数据的复杂性、简化权限管理以及为向其他应用程序输出而重新组织数据等。

      集中用户使用的数据: 视图创建了一种可以控制的环境,即表中的一部分数据允许访问,而另外一部分数据则不允许访问。那些没有必要的,敏感的或不适合的数据都从视图中排除掉了。

     掩盖数据库的复杂性: 视图把数据库设计的复杂性与用户屏蔽分开。这样就为数据库开发人员提供了一种改变数据库的设计而不影响用户使用的能力。用户只需要查询视图就可以得到所需的数据,而不用编写复杂的查询语句或者执行脚本。

    简化用户权限的管理:   数据库所有者可以把视图的权限授予需要查询的用户,而不必将基表中某些列的查询权限授予用户。

3 视图创建

      可以使用3种方法创建视图,一种方法是使用create view 语句,另一种方法是使用DBA studio 图形工具,还可以使用创建视图向导来创建。

     使用create view 语句创建视图

      create [or replace][force | noforce] view [user.] viewName

        (column [,column2]...)

        as query

       [with check option[Constraint constraint]]

      [with read only]

    or replace 表示如果同名的视图存在,则使用新视图替代已有的视图。

    force 强制创建视图,不考虑基表是否存在,是否具有使用基表数据的权限。

    noforce 只有基表存在且具有权限,才可以创建视图。

    user    表示创建视图的用户名。

    viewName  表示将要在数据库上创建的视图名称。

    column  指定视图中的列名。

   query 表示生成视图的select语句。

   with check option 指定强制检查通过视图修改数据的操作。

   constraint  表示指定的约束名称。

   with read only: 表示创建的视图只能检索数据,不能修改数据。

 

 

4 视图和表的关系

     视图和表是两种不同的数据库对象,其中的区别之一是在修改数据方面。修改表中的数据是直接修改数据,而修改视图中的数据是间接修改数据。因为视图本身并不包含数据,修改视图中的数据就是通过视图修改表中的数据。因此,修改视图中的数据有许多特殊的限制。

   


  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值