是在数据库设计正确的方法中使用“视图”还是我们应该在代码端处理它?有什么优点或缺点?
问问题
5645 次
4 回答
20
我看到了使用视图的几个原因:
- 提供一个更简单的界面:只查询视图,而不是十几个表,做连接和所有
- 提供一个不改变(或不经常改变)的接口:
- 即使您更改表的结构,您也可以修改您的视图,使其仍然返回相同的内容
- 这意味着您的应用程序代码不需要更改:它仍然可以工作,因为它正在使用视图,而不是直接访问表
- 只提供表的某些字段的接口
- 用户无需查看他们不会使用的一些数据
- 或者访问一些他们不应该使用的数据
- 使用一些数据库引擎(我认为 MS SQL Server 支持),某些类型的视图可以有索引
- 这对性能来说是一件好事:如果您有一些复杂的查询,请将其存储为视图,并在该视图上定义所需的索引
于 2010-03-16T12:13:15.817 回答
7
在我们的案例中,视图的两个典型场景是:
- 表中的某些列包含只能由少数人看到的机密数据。您可以创建一个排除这些列的视图,并将该视图用于大多数用户。
- 您将两个或多个表连接到一个非规范化视图中,该视图对于报告目的很实用,但作为存储在数据库中的表没有意义。
希望这可以帮助。
于 2010-03-16T12:11:34.327 回答
3
依靠。我有时会使用它们,但不是那么频繁。但是,它们对于显示数据的解码视图以供最终用户(工具)使用非常有用,例如报告应用程序。通过这种方式,您可以为最终用户提供隐藏一些技术细节的常用信息的简化版本。
于 2010-03-16T12:08:21.963 回答
1
一些数据库系统不支持在 FROM 子句中嵌入 SELECT 语句。如果您使用的系统不支持此功能,您通常可以将内部 SELECT 语句保存为视图,并使用视图名称代替 select 语句。
因此它提供了某些数据库实现中可能缺少的行为。
于 2018-10-21T05:01:23.530 回答