`
junherry
  • 浏览: 95889 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

视图的定义与删除问题

阅读更多

“任何不是逻辑模型的一部分但作为虚关系而对用户可见的关系称为视图。”在操作数据库过程中,视图是一个较为常用的关系集合,它能够向用户隐藏一些特定的数据,提高安全性能;同时,视图比逻辑模型更加符合特定用户的直觉感受。我们在sql中用create view命令定义视图。create view命令格式为: create view v as<查询表达式>,其中<查询表达式>可以是任何有效的查询表达式,v表示视图名称。

例如,有这样一个视图,它包含每本书的销量,我们将这个视图命名为book_sales,我们定义视图如下:

create view book_sales as

select books.title as title, sum(sales.qty) as qfrom books, sales
where books.title_id = sales.title_id
group by books.title

定义了视图之后,我们就可以用book_sales指代视图生成的虚关系。例如,我们要查出书名为'The art of Code'的销量:

select q

from book_sales

where title = 'The art of Code'

以上是对视图的定义和使用操作。而我们在定义视图时,会遇到这样一个问题,在查询分析器中sql被多次重复运行时,系统会提示“数据库中已存在名为 'book_sales' 的对象。”,即该视图被重复创建了。因此,在定义一个视图之前,要首先判断视图book_sales是否已经存在。如果存在,将其删除,然后才能开始定义视图。我们以sql server 中的pubs数据库为例。

use pubs;
go
if object_id('dbo.book_sales', 'v')is not null
drop view dbo.book_sales;
go

总结起来,在定义一个视图时,应该首先判断是否已经存在该视图,若存在,则将其drop掉,再创建新视图。

use pubs;
go
if object_id('dbo.book_sales', 'v')is not null
drop view dbo.book_sales;
go

create view book_sales as

select books.title as title, sum(sales.qty) as qfrom books, sales
where books.title_id = sales.title_id
group by books.title

分享到:
评论

相关推荐

    数据库实验报告 视图的定义及使用实验(详细版有截图的)

    实验三(1)视图的定义及使用实验 一、实验目的 使学生掌握 SQL Server中的视图创建及删除的方法,加深对视图和SQL Server图表作用的理解。 本实验需要1学时。 二、实验内容 1. 启动数据库服务软件SQL Server 2000的...

    实验7 数据库的视图定义及维护实验.doc

    实验7 数据库的视图定义及维护实验.doc

    MySQL数据库:数据视图的修改和删除.pptx

    理解 —— 修改视图定义的语法; 掌握 ——修改视图的方法; 掌握 —— 删除视图的方法。 视图的修改和删除 修改视图 视图被创建之后,由于某种原因(如基本表中的列发生改变或视图中增加或删除了若干列等),需要修改...

    MySQL数据库应用 实验训练4:视图和索引的构建与使用

    实验训练4:视图和索引的构建与使用 实验目的: 基于实验1创建的汽车用品网上商城数据库Shopping,理解视图和索引的概念和作用,练习视图的基本操作,包括视图的建立,视图的查询,视图的更新,视图的删除,体会...

    数据库实验报告视图的使用

    通过视图的设计和定义,掌握建立视图的基本方法,包括通过单张表建立视图和通过多张表建立视图,通过在定义的视图上进行查询,删除,更新,插入操作,理解视图的概念,掌握简单的视图查询方法。 3. 实验预备知识 在...

    《数据库系统概论》实验报告—视图

    ⑶定义一个反映学生出生年份的视图。 ⑷将学生的学号和他的平均成绩定义为一个视图。 2、修改视图,观察结果。 ⑴将计科系学生的视图cs_student中学号为200215122的学生姓名修改为“刘辰”。 ⑵向视图cs_student中...

    Oracle创建视图(View)

    其中text显示的内容为视图定义的SELECT语句,可通过DESC USER_VIEWS 得到相关信息。 修改视图: 通过OR REPLACE 重新创建同名视图即可。 视图上的DML 操作: DML操作应遵循的原则: 1.简单视图可以执行...

    MySQL 视图(View)实用详解!!!

    视图与表在本质上虽然不相同,但视图经过定义以后,结构形式和表一样,可以进行查询、修改、更新和删除等操作。同时,视图具有如下优点: 1) 定制用户数据,聚焦特定的数据 在实际的应用过程中,不同的用户可能对...

    论文研究-对象视图模型及其创建和删除算法.pdf

    提出了一种面向对象的实视图模型——对象视图模型。它利用了面向对象技术,...定义了对象视图模型的概念,并给出了对象视图模型的创建和删除算法,该算法能够有效地实现从数据源到数据仓库中对象(数据)的抽取和加载。

    3.5 《数据库系统概论》之基本表更新(INSERT、UPDATE、ALTER、DELETE)与视图VIEW(定义、查询、更新)

    视图—VIEW(1)定义视图① 建立视图② 删除视图(2)查询视图(3)更新视图① 更新数据—UPDATE SET② 插入数据—INSERT INTO③ 删除数据—DELETE④ 更新视图的限制 0.前言 数据库是SQL Sever 数据库管理系统是...

    sql server专题实验6 视图的应用

    此实验目的在于使学习者熟练掌握视图的创建、修改、删除以及通过视图进行数据操作的各项技能,加深对数据库视图概念的理解与应用能力。 实验资源主要包括: 1. **实验指导手册**:提供了详尽的实验步骤和背景知识...

    数据库系统概论5版第三章关系数据库标准语言SQL【上】——数据定义(create、drop。。。.pdf

    5、语⾔简洁、易学易⽤,完成核⼼功能只需要9个动词 ⼆、数据定义( ⼆、数据定义(create、 、drop、 、alter) ) SQL 的数据定义功能:模式定义、表定义、视图定义、索引定义 SQL的数据定义语句: SQL标准不提供...

    【MySQL数据库设计与应用(四)】视图

    文章目录1 视图概述、创建视图1.1 基本概念1.2 创建视图(1)在单表中创建视图(2)在多表中创建视图(3)在视图中创建新视图2 查看视图、修改...视图2.2 修改视图3 视图数据更新、删除3.1 视图数据更新3.2 删除视图...

    sql server2008创建模式、表、索引与视图

    数据定义 模式的创建(1)和删除(1) 基本表的创建(3)、修改(1)和删除(1) 索引的创建(1)和删除(1) 数据操作 各类更新操作(插入数据(n) 、修改数据(1) 、删除数据(1) ) 各类查询操作(单表查询(1) 、连接查询(2) 、...

    视图

    视图的概念: 从一个或几个基本表(或视图)导出的关系变量,视图的值是定义表达式计算后所得到的结果 虚表,只存放视图的定义,不存放视图对应的数据 基本表发生变化后,对应视图也就随之改变 ...视图的删除 DROP VI

    用视图自定义PostgreSQL数据库查询

    PostgreSQL数据库中最有用的功能之一就是创建自定义“视图”,这些视图仅仅是预先定义的SQL查询,它们存储在数据库中并可以在需要时重复使用。因此,以这种方式储存经常使用的SQL查询比每次都手工输入要更有效率而且...

    mysql视图之创建可更新视图的方法详解

    但是,要创建可更新视图,定义视图的select语句不能包含以下任何元素: 聚合函数,如:min,max,sum,avg,count等。 DISTINCT子句 GROUP BY子句 HAVING子句 左连接或外连接。 UNION或UNION ALL子句 SELECT...

    【MySQL进阶学习】视图

    视图与我们之前学的表不同,视图是一个虚表,即视图所对应的数据不进行实际存储,数据库中只存储视图的定义,对视图的数据进行操作时,系统根据视图的定义去操作与视图相关联的基本表。 视图一经定义,就可以像表...

    MySQL之视图

    MySQL之视图什么是视图创建视图修改视图删除视图查看视图视图的使用视图和表的对比 什么是视图 视图:MySQL从5.0.1版本开始提供视图功能。一种虚拟存在的表,行和列的数据来自定义视图的查询中使用的表,并且是在...

    数据库定义与操作练习题参考答案.pdf

    数据库定义与操作语言练习题 设有如下3个关系模式: 职工(职工号,姓名,性别,年龄) 工程(工程号,工程名称,预算) 报酬(职工号,工程号,工资) (1)新建报酬表,要求指定关系的主键和外键,以及工资大于零的约束。...

Global site tag (gtag.js) - Google Analytics