zoukankan      html  css  js  c++  java
  • 数据库视图

    视图是从一个或多个表(或视图)导出的表,例如,对于一个学校,其学生的情况存于数据库的一个或多个学生表中,而作为学校的不同职能部门,所关心的学生数据的内容不同(如体育老师只能查看或添加体育课的分数)。及时是同样的数据,有可能有不同的操作要求,于是就可以根据他们的不同需求,在物理的数据库上定义他们对数据库所要求的数据结构,这种根据用户观点所定义的数据结构就是视图

    一般我们称表为基表,视图是一个虚表

    视图一经定义,就可以像表一样被查询,修改,删除和更新

    视图的优点:

    1.为用户集中数据,简化用户的数据查询和处理。有时,用户所需要的数据分散在多个表中,定义视图可以将他们集中在一起,从而方便用户的数据查询和处理

    2.屏蔽数据库的复杂性。用户不必了解复杂的数据库中的表结构,并数据库表的更改也不影响用户对数据库的使用。

    3.简化用户权限的管理。只需授予用户使用视图的权限,而不必指定用户只能使用表的特定列,同时也增加了安全性。

    4.便于数据共享。各个用户对于自己所需的数据不必都进行定义和存储,可共享数据库的数据,这样同样的数据只需存储一次

    5.可以重新组织数据,以便输出到其他应用程序中。

    创建视图:

    界面创建视图:在SQL Developer中创建视图

    命令创建视图

    语法格式:create [or replace] [force | noforce]  [<用户名方案名>.]  视图名称

                      [<列名...>]

                     as

                     <selcet 查询语句>

                   [with check option[constraint<约束名>]]

                   [with read only]  

                       

    说明:

    1.or replace:表示在创建视图时,如果已经存在同名的视图,则要重新创建,不然把已存在的视图删除后才能创建

    2.force:表示强制创建一个视图,无论视图的基表是否存在或拥有者是否有权限,但创建视图的语句必须是正确的。noforce则相反

    3.用户名:指定将创建的视图所属用户方案,默认为当前登入账号

    4.列名:可以定义视图中包含的列,若使用与源表或视图中相同的列名是,则必给出列名

    5.select查询语句:查询所有表或视图,以表明新创建的视图所参照的表或视图

    6.with check option:指定限制条件

    7.constraint:约束名称

    8.with read only:规定视图不能执行删除,插入,更改操作,只能检索数据

    更新视图

    要通过视图更新基表数据,必须保证视图是可更新视图。一个可更新视图满足以下条件:

    (1) 没有使用连接函数、集合运算函数和组函数;

    (2) 创建视图的SELECT语句中没有聚合函数且没有GROUP BY、ONNECT BY、START WITH子句及DISTINCT关键字;

    (3) 创建视图的SELECT语句中不包含从基表列通过计算所得的列;

    (4) 创建视图没有包含只读属性。

     插入数据

    使用INSERT语句通过视图向基本表插入数据

    修改数据

    使用UPDATE语句可以通过视图修改基本表的数据。

    删除数据

    使用DELETE语句可以通过视图删除基本表的数据。

    在界面上视图也可以进行更新,删除,插入和修改

  • 相关阅读:
    Linux内存管理 -- /proc/{pid}/smaps讲解
    link hub(other)
    牛客项目平台管家 | xie_note 学习笔记整理📚 项目来源:https://github.com/Making-It/note ,已获得授权转载
    【Linux】C++后台开发面试
    C++ 后台开发面试时一般考察什么?
    Linux C/C++ 学习路线(已拿腾讯、百度 offer)2
    C++路线图
    【转】C++后台开发校招面试常见问题
    【转】Linux C/C++ 学习路线(已拿腾讯、百度 offer)
    学习经验总结|C++后台开发/云计算方向,offer收割机的学习路线
  • 原文地址:https://www.cnblogs.com/zhangpichun-7/p/13160332.html
Copyright © 2011-2022 走看看