什么是视图

视图

视图是一张虚拟表
  • 表示一张表的部分数据或多张表的综合数据
  • 其结构和数据是建立在对表的查询基础上
视图中不存放数据
  • 数据存放在视图所引用的原始表中
一个原始表,根据不同用户的不同需求,可以创建不同的视图
用途
  • 筛选表中的行
  • 防止未经许可的用户访问敏感数据
  • 降低数据库的复杂程度
  • 将多个物理数据表抽象为一个逻辑数据表

带来的好处

  • 开发人员
    • 限制数据检索更容易
    • 维护应用程序更方便
  • 最终用户
    • 结局更容易理解
    • 获得数据更容易

创建、查看视图

使用SQL语句创建视图
CREATE VIEW view_name AS 
<SELECT 语句>;
CREATE VIEW teacher
AS
SELECT * from studenttable 

SELECT * FROM teacher
使用SQL语句删除视图
DROP VIEW [IF EXISTS] view_name;
使用SQL语句查看视图
SELECT 字段1,字段2,...... FROM view_name;

使用视图注意事项

  • 视图中可以使用多个表

  • 一个视图可以嵌套另一个视图,但最好不要超过3层

  • 对视图数据进行添加、更新和删除操作会直接影响所引用表中的数据

  • 当视图数据来自多个表时,不允许添加和删除数据

  • 查看所有视图

    USE information_schema;
    SELECT * FROM views\G;
    

注:使用视图修改数据会有许多限制,一般在实际开发中视图仅用作查询

### 回答1: 视图是在Oracle数据库中一种特殊的数据对象,它是基于一个或多个表或视图创建的。视图以表的形式呈现数据,但实际上是通过SQL查询定义的,其结果集是基于数据表中的数据计算得出的。使用视图可以对数据库进行抽象,从而避免直接访问基础表的复杂性。通过视图,用户可以更简单地查询和操作数据库中的数据,并且可以通过定义视图的权限控制对数据的访问。 ### 回答2: 在Oracle中,视图是用于查询结果集的虚拟表。视图基于一个或多个表或其他视图创建,并将其作为单个可查询的对象。视图可以像表一样被查询,过滤和操作,但它本身并不存储任何数据。 视图可以根据需求来创建,可以从一到多个表中选择需要的列,无需显示所有表中的列。此外,视图还允许隐藏敏感数据,仅暴露给用户或应用程序需要的数据。 通过使用视图,我们可以简化复杂的查询,将它们分解为更小的、可重用的部分。这样可以提高查询的可读性并降低维护的工作量。 视图还可以提供数据安全性,通过仅暴露给用户所需的数据,隐藏敏感信息并保护数据的隐私。 需要注意的是,视图是虚拟的,它不存储独立的数据。当查询视图时,Oracle会实时检索底层表的数据,并将其呈现为一个合并的、虚拟的结果集。因此,任何对视图的更改都会反映在底层表中,而且视图的结构也可以随时更改。 总而言之,视图是Oracle数据库中的一种有用工具,它提供了简化查询和数据安全性的功能。它可以提高查询的可读性,减少维护工作,并且可以根据需求随时进行修改和优化。 ### 回答3: Oracle中的视图是一种虚拟表,由一个或多个表中的数据组合而成,可以看作是对数据的逻辑或物理表示。视图是通过查询语句定义的,它不包含实际的数据,而是使用SELECT语句从一个或多个表中检索数据,并按照特定的条件过滤、排序或组合数据。 视图可以根据需要进行定制化,并且提供了一定程度上的数据安全性。通过创建视图,用户可以隐藏敏感数据,只向有权限的用户显示部分数据。此外,视图还可以简化复杂的查询操作,提供便捷的数据访问方式。 视图在Oracle中有多种类型,包括带有行级安全性的可更新视图、只读视图、联接视图等。可更新视图允许用户通过对视图进行DML操作来修改底层表中的数据。只读视图则仅用于查询,不允许对其进行修改。联接视图则是通过多个表之间的关联关系创建的特殊视图。 值得注意的是,虽然视图本身不包含实际的数据,但在查询视图时Oracle会动态地将视图的定义与相关表的数据进行联接,将结果返回给用户。因此,创建视图时需要注意性能问题,避免影响整体查询性能。 综上所述,视图在Oracle中是一种虚拟表,使用SELECT语句从一个或多个表中检索数据,并根据特定条件进行过滤、排序或组合,提供了定制化与数据安全性的功能,简化了复杂的查询操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值