为什么使用数据库视图?

时间:2010-03-16 12:06:17

标签: database-design view database-schema advantage-database-server

在db design right方法中使用“view”还是应该处理代码端?有什么优点或缺点?

4 个答案:

答案 0 :(得分:15)

我看到使用视图的几个原因:

  • 提供一个更简单的界面:只查询视图,而不是十几个表,进行连接和所有
  • 提供一个不会改变(或不常用)的界面
    • 即使您更改了表格的结构,也可以修改视图,使其仍然返回相同的内容
    • 这意味着您的应用程序代码不需要进行任何更改:它仍然有效,因为它使用视图,而不是直接访问表格
  • 仅提供表格某些字段的界面
    • 用户无需查看他们不会使用的某些数据
    • 或者访问一些他们不应该使用的数据
  • 对于某些数据库引擎(我认为MS SQL Server支持),某些类型的视图可以有索引
    • 对于表演来说这是一件好事:如果您有一些复杂的查询,请将其存储为视图,并在该视图上定义所需的索引

答案 1 :(得分:5)

在我们的案例中,两种典型的观看场景是:

  • 表格中的某些列包含只有少数人才能看到的机密数据。您可以创建一个排除这些列的视图,并为大多数用户使用该视图。
  • 您将两个或多个表连接到非规范化视图中,该视图对于报告目的而言是实用的,但作为存储在数据库中的表没有意义。

希望这有帮助。

答案 2 :(得分:2)

取决于。我经常使用它们,但不是经常使用它们。它们非常有用,可以显示数据的解码视图,供最终用户(工具)使用,例如报告应用程序。这样,您可以为最终用户提供隐藏一些技术细节的常用信息的简化版本。

答案 3 :(得分:0)

某些数据库系统不支持将SELECT语句嵌入FROM子句中。如果使用的系统不支持此功能,则通常可以将内部SELECT语句另存为视图,并使用视图名称代替select语句。

因此它提供了某些数据库实现中可能缺少的行为。