4.6学习总结

数据库原理第五章 视图

5.1视图概念

视图:由基本表构成的虚表(满足用户需求的表结构)

视图是查询语句产生的结果

以多种角度观察数据库中数据的重要机制。象一个窗口,透过它可以看到用户感兴趣的数据及其变化。

视图的三特点 虚表,是从一个或几个基本表(或视图)导出的表 数据字典只存放视图的定义,不存放视图对应的数据 基表中的数据变化,从视图中查询出的数据也随之改变

5.2 定义视图

CREATE VIEW 视图名 (视图列名表) AS 查询语句 说明: 查询中通常不含ORDER BY和DISTINCT语句。 视图列名缺省时,默认与查询列名相同。 查询的源表可以是已定义的视图。

下列三种情况下不能省略视图列名: 某个目标列是聚集函数或表达式列; 多表连接查询时,在查询列表中有同名列; 希望用新的更合适的列名。 视图的列名序列或者全部省略,或全部指定。

DBMS执行CREATE VIEW语句时只是把视图定义存入数据字典,并不执行其中SELECT语句。 在对视图查询时,按视图的定义从基本表中将数据查出。

定义单源表视图:

视图取自一个基本表的部分行、列,视图行列与基本表行列对应, 一般可看可改。

定义多源表视图:

子查询源表多于一个, 一般可看不可改。

在已有视图上定义新视图:

视图的数据源可以来自其它的视图。

定义带表达式的视图 :

定义基本表时,为减少数据冗余,表中只存放基本数据。 由基本数据经过各种计算派生出的数据一般不存储。 由于视图中的数据并不实际存储,因此,可以在在视图中设置一些附加列来保存这些派生的数据。 由于这些附加列在基本表中并不实际存在,因此称这些列为虚拟列。 称包含虚拟列的视图为带表达式的视图。

含分组统计信息的视图:

子查询中含GROUP BY子句,视图行列由基本表行列得到, 数据只看不可改。

5.3 通过视图查询数据

视图定义好后,可以对其进行查询, 通过视图查询数据同基本表一样

更新视图的限制:

一些视图是不可更新的,因为对这些视图的更新不能唯一地有意义地转换成对基本表的更新。

修改视图:

格式: ALTER VIEW 视图名 (列名) AS 查询语句

删除视图:

语句的格式: DROP VIEW 视图名; 该语句从数据字典中删除指定的视图定义, 如果该视图上还导出了其他视图,使用CASCADE级联删除语句,把该视图和由它导出的所有视图一起删除 , 删除基表时,由该基表导出的所有视图定义都必须显式地使用DROP VIEW语句删除 .

5.5 视图的作用

1.简化数据查询语句

2.使用户能从多角度看待同一数据

3.提高了数据的安全性

4. 提供了一定程度的逻辑独立性

5.适当的利用视图可以更清晰的表达查询

posted @   代不动码  阅读(34)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
点击右上角即可分享
微信分享提示