实验七 视图的创建和管理

更新时间:2024-01-20 01:18:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验七 视图的创建和管理

一、实验目的与要求

? 熟练掌握使用企业管理器和SQL语句创建、查询、更新、修改和删除视图。 ? 进一步掌握视图与基本表的联系与区别。

二、实验内容和步骤

1、创建视图

(1)启动企业管理器,在产品销售数据库CPXS中创建价格小于2000的产品视图VIEW_CP_PRICE2000,要求对该视图的更新都要符合价格小于2000这个条件,写出创建过程和对应的SQL语句: CREATE VIEW VIEW_CP_PRICE2000 AS

SELECT * FROM CP

WHERE 价格 < 2000

(2)打开查询分析器,用SQL语句创建各客户购买产品的情况VIEW_GMQK视图,包括客户编号、客户名称、产品编号、产品名称、价格,购买日期、购买数量。

CREATE VIEW VIEW_GMQK

AS SELECT distinct cpxsb.客户编号, 客户名称, cpxsb.产品编号,产品名称,价格,销售日期,数量 FROM CPXSB, cp, xss

WHERE cp.产品编号 = cpxsb.产品编号 AND cpxsb.客户编号 = xss.客户编号

(3)创建分区视图:在CPXS数据库中创建CP1和CP2两个表,CP1表中为编号小于等于’100010’产品数据,CP2表中为编号大于‘100010’产品数据,以分区列为产品编号, 创建可更新的分区视图VIEW_CP1和VIEW_CP2。

CREATE VIEW VIEW_CP1 AS SELECT * FROM CP

WHERE 产品编号 < '100010'

CREATE VIEW VIEW_CP2 AS SELECT * FROM CP

WHERE 产品编号 >='100010'

WITH CHECK OPTION

(这样创建的视图才可进行数据的更新!!要加最后一条子句,否则不可更新)

2、查询视图

(1)基于VIEW_CP_PRICE2000视图,查询价格在2000以下产品的产品编号、名称和价格。

SELECT 产品编号, 产品名称, 价格 FROM VIEW_CP_PRICE2000

(2)基于VIEW_GMQK视图,查询各客户在20004年3月12日购买产品的情况。 SELECT *

FROM VIEW_GMQK

WHERE (销售日期 = '2004-03-12')

3、更新视图

利用SQL语句对于视图VIEW_CP2进行以下数 据更新。

(1) 插入一条CP记录(’ '100042','数码相机',3500,2)。 INSERT INTO VIEW_CP2

(产品编号, 产品名称, 价格, 库存量) VALUES ('100042', '数码相机', 3500, 2)

(2) 将产品编号为’100042’的价格改为3000。 UPDATE VIEW_CP2 SET 价格 = 3000

WHERE (产品编号 = '100042')

(3) 删除产品编号为’100042’的产品。 DELETE FROM VIEW_CP2 WHERE (产品编号 = '100042')

5、删除视图

将VIEW-GMQK视图删除。 DROP VIEW view_gmqk

三、分析与回答

视图与基本表的区别与联系:

区别:1、视图是已经编译好的sql语句。而表不是 2、视图没有实际的物理记录。而表有。 3、表是内容,视图是窗口

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

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

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

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

四.试验总结:

掌握了使用企业管理器和SQL语句创建、查询、更新、修改和删除视图。进一步掌握了视图与基本表的联系与区别。学会了创建可更新的视图。

本文来源:https://www.bwwdw.com/article/exwo.html

Top