• SQL 视图和表


    区别:

    1、视图是已经编译好的sql语句。而表不是

    2、视图没有实际的物理记录。而表有。

    3、表是内容,视图是窗口

    4、表只用物理空间而视图不占用物理空间,视图只是逻辑概念的存在,表可以及时四对它进行修改,但视图只能有创建的语句来修改

    5、表是内模式,试图是外模式

    6、视图是查看数据表的一种方法,可以查询数据表中某些字段构成的数据,只是一些SQL语句的集合。从安全的角度说,视图可以不给用户接触数据表,从而不知道表结构。 

    7、表属于全局模式中的表,是实表;视图属于局部模式的表,是虚表。

    8、视图的建立和删除只影响视图本身,不影响对应的基本表。

    联系:

    视图(view)是在基本表之上建立的表,它的结构(即所定义的列)和内容(即所有数据行)都来自基本表,它依据基本表存在而存在。一个视图可以对应一个基本表,也可以对应多个基本表。视图是基本表的抽象和在逻辑意义上建立的新关系

    一):视图的定义

    视图是由基于一个或多个表的一个查询所定义的虚拟表,它将查询的具体定义保存起来,视图不包含任何数据。

    视图在操作上和数据表没有什么区别,但两者的差异是在其本质上的。数据表是实际存储记录的地方,然而视图并不是保存任何记录,它存储的实际上是查询语句。

    相同的数据表,根据不同用户的不同需求,可以创建不同的视图。

    二):视图的作用

    1):筛选表中的行
    2):隐藏了表结构,提高了安全性,防止未经许可的用户访问敏感数据
    3):简化了对数据库的方法,降低数据库的复杂程度
    4):将多个物理数据抽象为一个逻辑数据库

    三):创建视图实例

     

     

    create view view_officeinfo--(视图名称)
    as (select A.Name as 楼盘名称,B.A_Name as 城市,C.A_Name as 区域,D.A_Name as 街道 from dbo.Office_Info as A 
    inner join dbo.Base_Area as B on A.CityId=B.A_ID
    inner join dbo.Base_Area as C on A.AreaId=C.A_ID
    inner join dbo.Base_Area as D on A.StreetId=D.A_ID)--(sql语句)

    select * from view_officeinfo(视图名称)

    四):删除修改视图

    删除

     
    if exists(select * from sys.objects where name='view_officeinfo')

         drop view_officeinfo

    修改:

     
    alter view v_Student as sql语句
  • 相关阅读:
    RMAN 增量备份 的 对象测试
    小论工具类App的盈利之道
    linux下二进制文件比较程序
    [置顶] 对iOS开发有用的一些自动化处理脚本
    [Win8]Windows8开发笔记(八):数据绑定的基础
    NetBeans 时事通讯(刊号 # 116 Sep 11, 2010)
    域名信息证实 JavaEye 已被 CSDN 收购
    插件架构简介
    GAE for Java exception: no matching index found.
    Java 7 最快要到 2012 年中发布
  • 原文地址:https://www.cnblogs.com/2260827114com/p/7360353.html
Copyright © 2020-2023  润新知