Sql 视图

1.定义:视图是由多张实体表联合查询后,组成的一张不含任何数据的虚拟表,存在表名,字段列。

2.为什么使用视图:

视图保存的是select语句,可以简化用户操作,将频繁使用的查询语句保存成视图,可以不用每次都重新写Sql语句。在创建好视图后,可以将视图和其他实体表一样,用Select语句进行查询数据。

3.1视图的写法:

创建视图使用 Create view, 视图名称 v_grade.

CREATE VIEW v_grade

AS

SELECT id,avg(mark) FROM grade

WHERE sex='男'

GROUP BY id

HAVING avg(mark)>80

3.2使用视图

可以使用select ,对已经创建的视图 v_grade进行数据查询

SELECT v_id,v_avg  FROM v_grade

WHERE v_id='001'

3.3 删除视图

DROP VIEW v_grade;

3.4视图数据增加和修改

视图也可以使用INSERT,UPDATE进行数据的增和改,但是需要符合以下条件:

(1)视图FROM子句只有一张表;

(2)未使用GROUP BY子句,未使用HAVING子句

在对视图新增和修改数据后,视图对应表中的数据同步修改。

视图在一个实体表的基础上筛选而得,那么给视图增加一条数据的语句执行后,实体表也会同步增加一条数据。以此保证数据的一致性。

 4.视图的优缺点:

优点:

1.安全性,视图可以让程序员或者用户,看到指定的数据,而非完整的数据,避免敏感数据的暴露。

2.简单,易维护。视图可以简化用户对数据的理解,也可以简化他们的操作。

3.逻辑数据独立性。视图可以使应用程序和数据表在一定程度上独立。如果没有视图,应用是建立在表上的,有了视图后,程序可以建立在视图之上,将程序与数据库表分割开来。

缺点:

1.消耗性能:Sql server把视图的查询转变成基础表的查询,如果视图是个复杂的多表查询组成,即使视图的简单查询,Sql server也把它变成复杂的结合体进行查询,需要花费一定的时间。

2.修改限制:当用户需要修改视图的某些数据时,Sql server将它转化为对基础表的数据修改。对于简单视图,这是很方便的。对于较复杂的视图,可能是不可修改的。

 

posted @ 2023-06-13 15:39  KevinSteven  阅读(95)  评论(0编辑  收藏  举报