Code前端首页关于Code前端联系我们

MySQL 入门教程:什么是视图?优缺点比较

terry 2年前 (2023-09-26) 阅读数 45 #数据库

数据库视图称为“虚拟表”,允许您在其中查找数据。了解数据库视图并正确使用它们非常重要。在本节中,我们将讨论数据库视图、如何在 MySQL 中实现它们以及如何更有效地使用它们。

在本教程中,您将了解一个名为查看数据库的新数据库对象。我们将讨论使用数据库视图的优点和缺点。

数据库视图是定义为连接查询的 SQL SELECT 语句的虚拟表或逻辑表。由于数据库视图与数据库表类似,都由行和列组成,因此可以根据数据库表查询数据。大多数数据库管理系统(包括 MySQL)允许您在某些假设下通过数据库视图更新基础表中的数据。

MySQL学习入门教程:视图是什么?优缺点比对

数据库视图是动态的,因为它独立于物理模式。数据库系统将数据库视图存储为带有连接的 SQL SELECT 语句。当表数据更改时,视图也会反映这些数据更改。

数据库视图的优点

以下是使用数据库视图的优点 -

  • 数据库视图可以简化复杂的查询: 数据库视图是使用链接到许多基础表的 SQL 语句来定义的。您可以使用数据库视图向最终用户和外部应用程序隐藏基础表的复杂性。通过数据库视图,您可以使用简单的 SQL 语句,而不是具有多个连接的复杂 SQL 语句。
  • 数据库视图有助于限制特定用户对数据的访问。您可能不希望所有用户都能够搜索敏感数据的子集。您可以使用数据库视图仅显示特定用户组的非敏感数据。
  • 数据库视图提供额外的安全层。安全性是任何关系数据库管理系统的重要组成部分。数据库视图为数据库管理系统提供了额外的安全性。数据库视图允许您创建只读视图以向特定用户公开只读数据。用户只能在只读视图中检索数据,但不能更新数据。
  • 数据库视图允许计算列。数据库表不应该有计算列,但数据库视图可以。假设表 中的表 中有列 (产品数量)和 priceEach(产品价格)。但是,OrderDetails 表没有用于存储每个订单行项目的总销售额的列。如果是这样,那么数据库模式不是一个好的建议。在这种情况下,您可以创建一个名为 total 的计算列,它是 orderquantitypriceeach 的乘积。当您从数据库视图查询数据时,计算列的数据是随机计算的。
  • 数据库视图向后兼容。假设您有一个被许多应用程序使用的中央数据库。有一天,您决定重新设计数据库以满足新的业务需求。删除一些表并创建新表,并且您不希望这些更改影响其他应用程序。在这种情况下,您可以创建一个与旧表具有相同架构的数据库视图,该视图将被删除。

数据库视图的缺点

除了上述优点之外,使用数据库视图还有几个缺点:

  • 性能:从数据库视图查询数据可能会很慢,尤其是在构建视图的情况下在其他视图之上。
  • 表依赖:基于数据库的基表,创建视图。只要与视图关联的表的结构发生变化,视图就必须发生变化。

在本教程中,您了解了数据库显示是什么。我们还介绍了使用数据库视图的优点和缺点,以便您可以有效地将数据库视图应用到数据库设计中。

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门