首页 > 数据库 > 文库 > 正文

SQL:视图的定义与管理

2023-05-28 13:17:58
字体:
来源:转载
供稿:网友

在SQL中,视图是外模式一级数据结构的基本单位。它是从一个或几个基本表中导出的表,是从现有基本表中抽取若干子集组成用户的"专用表"。这种构造方式必须使用 SQL中的SELECT语句来实现。在定义一个视图时,只是把其定义存放在系统的数据中, 而并不直接存储视图对应的数据,直到用户使用视图时才去求得对应的数据。

1、视图的定义

在SQL中,定义视图可以使用CREATE VIEW语句实现,其语句格式为:

CREATE VIEW 视图名 ASSELECT语句

(1)单源表视图

即视图是从一个基本表中导出的:

例1:从基本表student中导出只包括女学生情况的视图

CREATE VIEW WOMANVIEWAS   --创建一个视图WOMANVIEW 
 SELECT st_class,st_no,st_name,st_age --选择列 
 FROM student    --从基本表student引入
 WHERE st_sex='女'--引入条件为性别为"女",注意字符变量都使用单引号引用

(2)多源表视图

即视图是从多个基本表中导出的:

例如:从基本表student和score中导出只包括女学生且分数在60分以上的视图

CREATE VIEWWOMAN_SCOREAS --定义视图WOMANSCORE
 SELECT student.st_class,student.st_no,student.st_name,student.st_age,score.sc_score 
 --有选择性显示相关列 
 FROM student,score --从基本表student和score中引入 
  WHERE student.st_sex = '女' AND score.sc_score >= 60 AND
  student.st_no = score.st_no --选择条件:性别为"女" 且分数在60分以上,
    --并使用st_no将两表联系起来。

以后如果进行这一视图的应用,则只需使用语句

SELECT * FROM WOMAN_SCORE --其中"*"为通配符,代表所有列

2、视图的删除

用于删除已不再使用的视图,其语句格式如下:

DROP VIEW 视图名

例:将上面建立的WOMAN_SCORE视图删除

DROP VIEW WOMAN_SCORE

对于修改视图,很多DBMS并不予以支持,如果想了解的话,只能参考具体的数据库管理系统的相关文档。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表