zoukankan      html  css  js  c++  java
  • 3.5 视图

    视图类似表,但有区别,考点就是在视图与表的区别!

    视图:不是基本表,是从一个或多个基本表(或视图)中导出的表,是虚表,只有结构没有数据

    一、定义视图

    create view<视图名> [(<列名>[,<列名>]...)] as <子查询> [with check option];

    with check option表示对视图进行update、insert和delete时,要保证更新、插入或删除的行满足视图中定义的谓语条件(即子查询的条件表达式);

    组成视图的属性列必须全部指定或者是全部省略。以下三种情况是必须明确指定组成视图的所有列名

                                                                      1)某个目标列不是单纯的属性名,而是聚集函数或列表达式;

                                                                       2)多表连接时,选出几个同名列作为师徒的字段;

                                                                       3)需要在视图中为某个列启用新的更合适的名字。

    1 create view IS_Student as selet Sno,Sname,Sage from Student  where Sdept='IS';
    2 create view IS_Student as select Sno,Sname,Sage from Student where Sdept='IS' with check option;
    3 create view IS_S1(SNO,Sname,Grade) as select Student.Sno, Sname,Grade from Student, SC where Sdept='IS' and Sthdent.Sno=Sc.Sno and SC.Cno='1';

    二、删除视图

    drop view <视图名>;

    三、查询视图

    select * from IS_Student where Sage<20;等价于查询基本表 
    select Sno,Sname,Sage from Student where Sdept='IS' and Sage<20;

    四、更新视图

    update IS_Student set Sname='刘表‘ where Sno='95020';

    注意!关系数据库中一般不允许更新的视图有:

    1.  视图由两个以上基本表导出;
    2. 视图的字段来自字段表达式或常数;
    3. 师徒得子段来自聚焦函数;
    4. 视图定义中含group by字句;
    5. 视图定义中含dinstinct短语
    6. 视图定义中含嵌套查询
    7. 一个不允许更新的视图上定于的视图也不允许更新

    五、视图的作用

    1. 简化用户的操作,比如简化数据查询
    2. 使用户能多种角度看问题,把注意力集中在关心的数据上(而不是全部数据)
    3.  通过引入视图可以提高数据的安全性
    4. 视图提供了一定成俗的逻辑独立性
  • 相关阅读:
    蓝牙协议分析(11)_BLE安全机制之SM
    蓝牙协议分析(10)_BLE安全机制之LE Encryption
    蓝牙协议分析(9)_BLE安全机制之LL Privacy
    蓝牙协议分析(8)_BLE安全机制之白名单
    蓝牙协议分析(7)_BLE连接有关的技术分析
    蓝牙协议分析(6)_BLE地址类型
    蓝牙协议分析(5)_BLE广播通信相关的技术分析
    蓝牙协议分析(4)_IPv6 Over BLE介绍
    蓝牙协议分析(3)_BLE协议栈介绍
    ActiveMq
  • 原文地址:https://www.cnblogs.com/xiaoxiaohui2015/p/5770982.html
Copyright © 2011-2022 走看看