`

SQL基础总结(十一):视图

 
阅读更多

 

 

本系列blog源自前年写的SQL学习笔记,汇总一下发上来。(1月份发了前三篇笔记,原以为后面的笔记误操作删了,今天在硬盘里又找到了,一起发上来)

--------------------------------

除了ORDER BY子句通常是被禁止的,几乎所有有效的SELECT语句都可以定义视图。

可以嵌套视图,视图的SELECT语句可以从其他视图中检索数据。

将包含大量运算的查询存储为视图,就可以通过查询视图重复这些运算。

视图不能引用自身。

有别于基础表,视图不支持约束。有些DBMS允许对视图建立索引。

因为视图不存储数据,DBMS必须在每次引用时执行它们。尤其是嵌套视图,可能严重的降低效率。

CREATE VIEW view AS select_statement;

视图存在于SQL语句的生存期,临时表存在于进程的生存期。

标准SQL没有ALTER VIEW语句,如果在建立视图之后,基础表或视图发生了变化,就要删除并重建这个视图。然而,大多数DBMS都支持非标准的ALTER VIEW语句。

 

通过视图修改数据:

可修改视图:指可以使用插入、更新和删除操作来改变基础表中数据的视图。对可修改视图做的任何变化都将明确地传递到基础表。

不可修改(只读)视图:不支持插入、修改和删除操作的视图,因为对数据的改动可能是含糊不清的,要改变出现在只读视图的数据,必须直接修改基础表(或通过其它可修改视图)。

 

单一表视图总是可更新的。

DBMS检查基础表的联结和多表视图的引用完整性约束来决定视图是否可更新。以下这些类型的查询可以定义为可更新得视图:

一对一内联结。

一对一外联结。

一对多内联结。

一对多外联结。

多对多联结。

UNIONEXCEPT查询。

 

可更新视图必须包含基本表的键来保证每个视图指向基本表的一行。

可更新视图不包含的列必须可以为空或在基础表有一个默认值,以便DBMS能够在插入时构建整行。

更新值必须符合基础表列的限制,如数据类型、可否为空及其它约束。

 

删除视图:DROP VIEW view;

删除表不会删除引用这个表的视图,所以必须使用DROP VIEW显示删除视图。

分享到:
评论

相关推荐

    (第二卷)Microsoft SQL Server 2008技术内幕:T-SQL语言基础

     《Microsoft SQL Server 2008技术内幕:T-SQL语言基础》适合须要学习T-SQL的各级程序员和数据库专业人员,是他们快速掌握T-SQL的必备参考图书。 致谢 引言 第1章 T-SQL查询和编程基础 1.1 理论背景 1.2 ...

    (第一卷)Microsoft.SQL.Server.2008技术内幕:T-SQL语言基础

     《Microsoft SQL Server 2008技术内幕:T-SQL语言基础》适合须要学习T-SQL的各级程序员和数据库专业人员,是他们快速掌握T-SQL的必备参考图书。 致谢 引言 第1章 T-SQL查询和编程基础 1.1 理论背景 1.2 SQL ...

    Microsoft SQL Server 2008技术内幕:T-SQL查询(第二卷)

    主要内容包括SQL的基础理论、查询优化、查询算法及复杂度,以及在使用子查询、表表达式、排名函数、数据聚合和透视转换、TOP和APPLY、数据修改、分区表、特殊数据结构等实际应用时会遇到的各种高级查询问题和解决...

    Microsoft SQL Server 2005技术内幕:T-SQL查询

    第1章 T-SQL查询和编程基础  1.1 理论背景  1.2 SQL SERVER体系结构  1.3 创建表和定义数据完整性  1.4 总结 第2章 单表查询  2.1 SELECT语句的元素  2.2 谓词和运算符  2.3 CASE表达式  2.4 NULL...

    SQLServer2005数据库学习笔记

    笔记是本人学习SQLServer一段时间后重新整理出来的,适合有一些入门基础的人学习。 ├─01 安装及使用 │ SQLServer2005安装及使用.txt │ ├─02 常用函数 │ function.sql │ ├─03 建表、建库 │ create.sql ...

    SQL Server数据库入门学习总结

    数据库是如何显示数据的 select SQLServer数据库学习总结 1.SQL基础 SQL Server2000安装、配置,服务器启动、停止,企业管理器、查询分析器 第一代数据库–网状数据库和层次数据库;第二代数据库–关系数

    Microsoft+SQL+Server+2008技术内幕:T-SQL查询_源代码及附录 中文版

    主要内容包括SQL的基础理论、查询优化、查询算法及复杂度,以及在使用子查询、表表达式、排名函数、数据聚合和透视转换、TOP和APPLY、数据修改、分区表、特殊数据结构等实际应用时会遇到的各种高级查询问题和解决...

    oracle11g

    第一部分:SQL语言基础 第一章:关系型与非关系型数据库 第二章:SQL的基本函数 第三章:SQL的数据类型 第四章、WHERE子句中常用的运算符 第五章:分组函数 第六章:数据限定和排序 第七章:复杂查询(上)...

    精通SQL 结构化查询语言详解

    第1章 数据库与SQL基础  1.1 数据库的基本概念  1.1.1 数据库的由来  1.1.2 数据库系统的概念  1.2 数据库系统的结构、组成及工作流程 1.2.1 数据库的体系结构  1.2.2 数据库系统的组成  1.2.3 数据库...

    精通SQL--结构化查询语言详解

    第1章 数据库与sql基础 1 1.1 数据库的基本概念 1 1.1.1 数据库的由来 1 1.1.2 数据库系统的概念 3 1.2 数据库系统的结构、组成及工作流程 3 1.2.1 数据库的体系结构 3 1.2.2 数据库系统的组成 4 1.2.3 ...

    SQLServer2008技术内幕T-SQL查询包含源代码及附录A

    主要内容包括SQL的基础理论、查询优化、查询算法及复杂度,以及在使用子查询、表表达式、排名函数、数据聚合和透视转换、TOP和APPLY、数据修改、分区表、特殊数据结构等实际应用时会遇到的各种高级查询问题和解决...

    SQL语句语法.xmind

    Mysql数据库的DLL、DML语句语法,包括:对数据库的新增、修改、删除预防,对表结果的新增、修改、删除,对视图、索引、约束的操作。数据表的新增、修改、删除数据,查询语句的使用。

    SQL Server 2008数据库设计与实现

    本书深入浅出地介绍了目前世界上最受欢迎的数据库管理系统之一——SQL Server。全书共分三个部分:第一部分阐释了数据库的基本概念,讲解了数据库建模语言;第二部分展示了从概念建模到在SQL Server 2008上真正实现...

    数据库系统原理总结.pdf

    为3NF 3.SQL语⾔运⽤: 索引,视图,触发器,存储过程 索引:属于物理存储的路径概念 视图:是⼀种虚拟的表,是从若⼲基本表和其他视图构造出来的表。⽤来查询多个表 存储过程:通过创建存储过程,可以执⾏多条SQL...

    数据库笔记

    SQL基础,包括数据库操作,表操作,存储过程,视图,索引等各个总结。

    Oracle SQL高级编程(资深Oracle专家力作,OakTable团队推荐)--随书源代码

    作者通过总结各自多年的软件开发和教学培训经验,与大家分享了掌握Oracle SQL所独有的丰富功能的技巧所在,内容涵盖SQL执行、联结、集合、分析函数、子句、事务处理等多个方面。读者可以学习到以下几个方面的技巧:...

    21天学通Oracle

    8.2.8 存储过程的参数——参数顺序总结 153 8.3 程序包 153 8.3.1 规范 153 8.3.2 主体 155 8.3.3 调用程序包中的函数/存储过程 157 8.3.4 程序包中的变量 158 8.4 本章实例 159 8.5 本章小结 161 8.6 习题 ...

    数据库操作基础知识总结

    数据库基础知识归总,数据库操作的基本语法、函数、视图、索引、存储过程等。

Global site tag (gtag.js) - Google Analytics