视图
视图是从一个或几个基本表(或视图)导出的表。它与基本表不同,是一个虚表。视图一经定义,就可以和基本表一样被查询,被删除。也可以在视图之上再定义新的视图,但对视图的更新(增,删,改)操作则有一定的限制。

1.1.1 定义视图
1,建立视图
sql语言用create view 命令建立视图,其一般格式为
create view <视图名> [(<列名>[,<列名>]…)] as <子查询> [with check option]

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

1.1.2 查询视图
关系数据库管理系统执行对视图的查询时,首先进行有效性检查,检查查询中涉及的表,视图等是否存在。如果存在,则从数据字典中取出视图的定义,把定义的子查询和用户的查询结合起来,转换成等价的基本表的查询,然后再执行修正了的查询。这一转换过程称为试图消解。

1.1.3 删除视图
该语句的格式为
drop view <视图名> [cascade]|[restrict];
视图删除后视图的定义将从数据词典中删除。如果该视图上还导出了其他视图,则使用cascade级联删除语句把该视图和由他导出的所有视图都一起删除;restrict会进行判断,如果该视图还导出了其它视图,则会拒绝删除,报错,否则可以成功执行。

1.1.4 更新视图
更新视图是指通过视图来插入(insert),删除(delete)和修改(update)数据。
由于视图是不实际存储数据的虚表,因此对视图的更行最终要转换为对基本表的更行。一般地,行列子集视图是可更新的。
行列子集视图是可以更新的,如在视图上对学生姓名进行更改;非行列子集视图是不可以更改的,在原来的基础表中使用了sum等函数定义的视图,此视图的此值是无法更新的。
小重点:
一个不允许更新的视图上定义的视图也是不允许更新。应该指出的是,不可更新的视图与不允许更新的视图是两个不同的概念。

1.1.5 视图的作用
1,视图能简化用户的操作
2,能使用户多角度看待同一问题
3,为数据库的重构提供一定的逻辑独立性支持
4,视图能够对机密数据提供安全保护
5,适当的利用视图可以更清晰地表达查询

视图的定义,修改,删除,更新,以及定义视图的好处。相关推荐

  1. JDBC编程(数据库增添、查询、删除方法的定义)

    JDBC编程即JAVA数据库连接,数据库连接完成后,可在eclipse里面执行相关数据库的查询,删除,增添等操作 为了JDBC程序可以跨平台,我们首先要加载相应的驱动文件 以连接MySQL数据库为例 ...

  2. MySQL进阶11--DDL数据库定义语言--库创建/修改/删除--表的创建/修改/删除/复制

    /*进阶 11 DDL 数据库定义语言库和表的管理一:库的管理:创建/修改/删除二:表的管理:创建/修改/删除创建: CREATE DATABASE [IF NOT EXISTS] 库名;修改: al ...

  3. 实验三 基本表的定义、删除与修改

    实验三 基本表的定义.删除与修改 实验目的:熟练掌握基本表的定义.删除与修改,索引的建立与删除的方法,为后继学习作准备. 实验要求: 了解并掌握SQL查询分析器及企业管理器的使用; 掌握基本表的定义. ...

  4. Hive表的定义,删除、修改

    Hive表的定义.删除 创建表 只涉及简单的建表,不涉及分区等复杂操作. 1. 建表语句 CREATE [TEMPORARY] [EXTERNAL] TABLE [IF NOT EXISTS] [db ...

  5. SQL SERVER数据库中 是否可以对视图进行修改删除

    特定的分区可以 在下列情况中,视图被视为可更新的分区视图: 视图是一组 SELECT 语句,这些语句的结果集通过 UNION ALL 语句组合为一个结果集.每个 SELECT 语句引用一个 SQL S ...

  6. oracle 修改视图命令,11.2.3 修改/删除视图

    11.2.3  修改/删除视图 在创建了关系视图vw_employees之后,可以对其进行修改和删除操作. 1.修改视图 修改视图的过程即为重新定义视图的过程.可以通过首先删除视图,然后再次创建实现. ...

  7. oracle 用户表数目,表大小,视图数目及表空间等查询增加修改删除操作

    oracle 用户表数目,表大小,视图数目及表空间等查询增加修改删除操作 查看当前用户的缺省表空间 SQL>select username,default_tablespace fromuser ...

  8. 在定义SharePoint列表的SPD数据视图的时候需要注意的问题

    为了开发的效率我们通常对SharePoint列表的新建.编辑等自带的ASPX表单进行自定义,但在实际的过程中,老是会出现莫名其妙的错误,从而造成开发有可能无限拖延. 首先,作为开发者,我们要清楚微软一 ...

  9. mysql删除外键_MySQL删除外键定义的方法

    MySQL外键在定以后,如果我们不再需要这个外键,可以进行删除操作,下面就为您介绍MySQL删除外键定义的方法,供您参考. 不知道大家有没有发现,在定义外键的时候articles.member_id外 ...

  10. 《数据库系统概论》3.3.1模式的定义与删除实操

    模式的定义和删除 一,创建 1,新建用户 2,创建模式赋给用户权限 create schema "S-T" authorization mu; 注意事项: create schem ...

最新文章

  1. 最完美的ASCII 表
  2. top_k问题python解
  3. apache搭建的 webserver下载站点
  4. cutterman 导出html,电脑中如何使用cutterman插件
  5. 主机、服务器、客户机的关系
  6. rsync(六)命令中文手册
  7. C++中如何判断文件是否存在
  8. 排列不同的三位数c语言,C语言求助!一个三位数的逆序数,总是编不对
  9. 每日算法系列【LeetCode 424】替换后的最长重复字符
  10. 回溯____蓝桥 棋盘
  11. 区块链 女巫攻击是什么 Sybil Attack 为什么POW可以抵御女巫攻击 一文看懂
  12. linux 登陆sybase_远程连接sybase 数据库 步骤
  13. VB入门在线视频教程大全学习
  14. 利用pytesseract进行图片文字识别
  15. 如何创建一个微信小程序
  16. 美通企业日报 | 阿里收购网易考拉入股网易云音乐;宁德时代与博世达成战略合作...
  17. win10麦克风说话没声音_电脑版微信,语音通话无声音的解决
  18. 汇编语言 程序设计 顺序结构
  19. IBM ITS中国区总经理鞠立老师讲女性的职业规划与发展
  20. java如何给数组初始化?

热门文章

  1. 数据加密与安全专题《mbedtls工具篇,实用教程1@mbedtls简介和安装教程》
  2. PCB信号完整性及EMC整改措施
  3. 研究生入门工具——让你事半功倍的SCI、EI论文写作神器
  4. harbor提示账号密码错误无法登录
  5. studiolibrary安装_初学者daz studio中文基础安装布局教程
  6. 查看linux系统的ip
  7. Git下载代码--git clone命令
  8. 安卓学习 Day18:利用单选按钮实现底部导航条
  9. BatchNorm的作用--原理详解
  10. cavium CN71XX芯片 GSER Interface总结