关系数据库 第三瓣

本文介绍了数据库中的视图概念,包括视图的定义、创建、删除及作用,并通过实例展示了如何构建单源表视图、多源表视图以及带有表达式的视图。

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

视图

  我们常把用CREATE TABLE创建的表叫做基本表。基本表的数据实际上是存储在磁盘上的。

  视图是由从数据库中的基本表中选取出来的数据组成的逻辑窗口,与基本表不同的是,视图是一个虚表。数据库中只存放视图的定义,而不存放视图包含的数据,这些数据仍存放在原来的基本表中。基本表中的数据发生变化,视图查询出来的数据也随之变化。

  1.定义视图

   CREATE VIEW 视图名 [(视图列名表)] AS 子查询列表

   单源表视图

   CREATE VIEW IS_Student  

     AS SELECT Sno, Sname, Sage FROM Student WHERE Sdept='信息系'

   CREATE VIEW时,SELECT语句并不执行,只有在对视图执行查询时,才按视图的定义从相应的基本表中查询数据。

   多源表视图

     CREATE VIEW V_IS

     AS SELECT Student.Sno, Sname, Sage FROM Student JOIN SC ON Student.Sno=SC.Sno

         WHERE Sdept='信息系' AND SC.Cno='C01'   

   已有视图上建立视图

   CREATE V_IS

     AS  SELECT Sno, Sname, Sage FROM V_IS WHERE Grade>=90

     定义带表达式的视图(定义基本表时,为减少数据库的冗余数据,表中只存放基本数据,各种计算派生出来的数据一般是不存储在基本表中的)

   CREATE VIEW BT_S (Sno, Sname, Birth)

     AS   SELECT Sno, Sname, 2013-Sage FROM Student;

   含分组统计信息的视图

   CREATE VIEW S_G (Sno, AverageGrade)

     AS  SELECT Sno, AVG(Grade) FROM SC GROUP BY Sno

   注:在子查询的选择列表包含表达式或者统计信息,而在子查询中也没有为这样的列指定类标题时,必须指定视图属性列的名字。

  2. 删除视图

    DROP VIEW 视图名

    DROP VIEW S_G;

  3.视图的作用

    1.简化数据查询语句

      定义视图可以将表与表之间的复杂的连接操作和搜索条件对用户隐藏起来,用户只需要简单地查询一个视图即可。当多次执行相同相同的数据查询操作时使用视图尤为有用。

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

    3.提高了数据的安全性

    

 

 

 

转载于:https://www.cnblogs.com/CanWork/p/3355808.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值