Database design 为什么使用数据库视图?
在db设计中使用“视图”是正确的方法还是我们应该在代码端处理它?优点和缺点是什么?视情况而定。我用过一些,但不是经常用。不过,它们对于最终用户(工具,如报表应用程序)在数据上显示解码视图非常有用。通过这种方式,您可以为最终用户提供一个简化版本的经常请求的信息,隐藏一些技术细节。在我们的案例中,视图的两个典型场景是:Database design 为什么使用数据库视图?,database-design,view,database-schema,advantage-database-server,Database Design,View,Database Schema,Advantage Database Server,在db设计中使用“视图”是正确的方法还是我们应该在代码端处理它?优点和缺点是什么?视情况而定。我用过一些,但不是经常用。不过,它们对于最终用户(工具,如报表应用程序)在数据上显示解码视图非常有用。通过这种方式,您可以为最终用户提供一个简化版本的经常请求的信息,隐藏一些技术细节。在我们的案例中,视图的两个典型场景是: 表中的某些列包含只有少数人才能看到的机密数据。您可以创建一个排除这些列的视图,并对大多数用户使用该视图 您将两个或多个表连接到一个非规范化视图中,该视图对于报告目的很实用,但作为数
- 表中的某些列包含只有少数人才能看到的机密数据。您可以创建一个排除这些列的视图,并对大多数用户使用该视图
- 您将两个或多个表连接到一个非规范化视图中,该视图对于报告目的很实用,但作为数据库中的存储表则没有意义
希望这能有所帮助。我认为使用视图有几个原因:
- 提供一个更简单的界面:只需查询视图,而不是十几个表,执行连接和所有操作
- 提供一个不改变(或不经常改变)的接口:
- 即使更改了表的结构,也可以修改视图,使其仍然返回相同的内容
- 这意味着不需要对应用程序的代码进行任何更改:它仍然可以工作,因为它使用的是视图,而不是直接访问表
- 仅提供表的某些字段的接口
- 用户不需要看到一些他们不会使用的数据
- 或者访问一些他们不应该使用的数据
- 对于某些数据库引擎(我认为MSSQLServer支持),某些类型的视图可以有索引
- 这对性能是一件好事:如果您有一些复杂的查询,请将其存储为视图,并在该视图上定义所需的索引
因此,它提供了一些db实现中可能缺少的行为。大量重复,包括可能会创建一个关于查询性能的argumentsHow列表?查看是否可以提高我的查询的性能?