保存 .sql 文件与创建视图

Save a .sql file vs Create a View

在过去的几天里,我开始阅读很多关于 SQL 服务器的文档,并且我 "found" 了解视图的概念。

我已经知道它们,但只是因为在讨论 SQL 服务器时使用了它们。

所以,如果有人能帮助我,这是我对观点的理解:

1) 视图物理保存在数据库中

2) 你可以只给一个人一个视图的访问权限,而不给他们访问整个数据库的权限

3) 您可以编写一个新的查询并在视图中使用连接子句

这三点是我理解的与保存在磁盘上的普通 .sql 文件的区别。

但是,除了这三个区别之外,如果我在数据库访问方面没有问题,为什么还要创建视图而不是保存查询?

我真的不明白为什么很多人都在谈论观点,尤其是SQL服务器报告,我想提高自己的知识。

提前致谢!

视图是存储的查询;它不包含任何数据。例如,如果您从数据库中导出它(这里谈论的是 Oracle),您会看到导出了 0 行。

因此,您和有权访问它的任何其他用户都可以使用它。如果用于创建视图的查询存储在您的硬盘上,我应该如何使用它(除非您将其发送给我,发送给 Scott 和 Mick 以及 Jenny 和...),然后有人改变了他们的视图,我们不会获取相同的数据集,尽管我们都是从同一点开始的。

视图可以限制数据访问;您可以允许其他人仅从 table 中获取一小部分列集。或者,如果您加入 7 table 来创建一个视图并将其上的 select 特权授予其他人,他们不知道 他们看到的背后是什么仅数据。

不过,我觉得很多人都在谈论观点;也许您现在正在阅读有关它们的信息时会这么想。但是,毫无疑问,它们是有用的。

您可以像 table.if 一样使用视图,例如,您有一个名为 viewTest 的视图。 你可以 select 从它(select * 从 viewTest),加入它,....。 和存档有很大的不同。