【数据库学习笔记】Day05 - 视图(View)

【数据库学习笔记】Day05 - 视图(View)

1.1 视图的概念:

视图:由基本表构成的虚表(满足用户需求的表结构)。数据库中只存放视图的定义,而不存放视图对应的数据。基本表中的数据发生变化时,从视图中查询出来的数据也就随之发生变化。

1.2 定义视图:

CREATE VIEW <视图名> [(视图列名表)]
AS 查询语句
【数据库学习笔记】Day05 - 视图(View)_第1张图片

  • 可以定义多源表视图,子查询源表多于一个,一般可看不可改。
    【数据库学习笔记】Day05 - 视图(View)_第2张图片
  • 定义带表达式的视图:定义基本表时,为减少数据冗余,表中只存放基本数据。由基本数据经过各种计算派生出的数据一般不存储。由于视图中的数据不实际存储,因此,可以在视图中设置一些附加列来保存这些派生的数据。由于这些附加列在基本表中并不实际存在,因此也乘这些列为虚拟列。称包含虚拟列的视图为带表达式的视图
    【数据库学习笔记】Day05 - 视图(View)_第3张图片

1.3 通过视图查询数据:

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

1.4 修改和删除视图:

1.4.1 修改视图:
ALTER VIEW 视图名 [(列名[,…n])]
AS 查询语句

  • 更新视图指通过视图来插入、删除和修改基本表中的数据。
  • 视图不实际存放数据,对视图的更新,最终要转换为对基本表的更新。
  • 如果视图的定义中包含了表达式,或聚合运算,或消除
    重复值运算,则不能对视图进行更新操作(对视图进行更新操作,其限制条件比较多)。
  • 建立视图的作用不是利用视图来更新数据库中的数据,
    而是简化用户的查询,达到一定程度的安全性保护(尽量不要对视图执行更新操作)。

1.4.2 删除视图:
DROP VIEW <视图名>

1.5视图的作用:

  • 简化数据查询语句。简化用户操作。
  • 使用户能从多角度看待同一数据。
  • 提高了数据的安全性。能够对秘密数据提供安全保护。
  • 提供了一定程度的逻辑独立性。
  • 利用视图可以更清晰的表达查询。

视图机制是如何对数据库实现安全性控制的?

答: 可以对不同的用户定义不同的视图,也就是说,通过视图机制把要保密的数据对无权存取的用户隐藏起来。

你可能感兴趣的:(数据库学习笔记,学习,数据库)