视图

本文介绍了数据库中视图的概念、创建及删除方法,同时讨论了视图的更新方式及其重要作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.视图的概念:视图是一种命名的导出表,是一个或几个基本表(或视图)导出的表,但与基本表不同,视图的数据并不物理地存储在数据库中。

2.定义视图和删除视图

(1)定义视图 语句格式为:CREATE VIEW <视图名>[(<列名>,...,<列名>)]

                                              AS <查询表达式>

                                              [WITH CHECK OPTION]其中,查询表达式通常是一个SELECT查询,其中不包含DISTINCT短语和ORDER BY子句。当SELECT子句中的结果咧都是属性名时,列名可以省略,并用SELECT子句的结果咧作为视图表的属性。当视图定义中包含WITH CHECK OPTION时,该视图是可更新的,并且咋跟心事考虑查询表达式的查询条件。

如:建立学生成绩视图,它包含学号,姓名,课程名和成绩

CREATE VIEW Student_Grades(Sno,Sname,Cname,Grade)

AS SELECT S.Sno,Sname,Cname,Grade

FROM Students S,SC,Courses C

WHERE S.Sno =SC.Sno AND SC.Cno = C.Cno;

在定义视图的查询中使用聚集函数:定义学生平均成绩的视图

CREATE VIEW Stu_Avg_Grade(Sno,Sname,Avg_Grade)

AS SELECT S.Sno,Sname,AVG(Grade)

FROM Students S,SC

WHERE S.Sno = SC.Sno

GROUP BY S.Sno,Sname;

(2)删除视图语句格式为:DROP VIEW<视图名>[CASCADE|RESTRICT]缺省时是RESTRICT;如 DROP VIEW Student_Grades;

3.基于视图的更新

若系统允许更新则更新视图与表的方法类似如:INSERT INTO Student_Grade(Sno,Sname,Cname,Grade) VALUES('1','FA','FAF','90');

4.视图的作用

(1)使用视图可以使一些查询表达更加简洁

(2)视图提供了一定程度的逻辑独立性

(3)视图与授权配合使用,可以再某种程度上对数据库起到保护作用

(4)视图使得用户能够以不同角度看待相同的数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值