Luk*_*101 89 sql sql-server-2008
我正在阅读SQL Server 2008圣经,我正在阅读视图部分.但作者真的没有解释观点的目的.观点有什么用?我应该在我的网站上使用它们,它们有什么好处?
DVK*_*DVK 77
之前的答案似乎没有提到的另一个用途是更容易部署表结构更改.
比如,您希望淘汰包含活动用户数据的表(T_OLD),而是使用具有类似数据的新表(名为T_NEW),但是一个具有活动和非活动用户数据的表,其中一个额外列为"活动".
如果您的系统有大量的查询T_OLD,那么推出有两种选择:
1)Cold Turkey - 更改数据库,同时更改,测试和发布包含所述查询的大量代码.很难做(甚至协调),风险很大.坏.
2)逐步 - 通过创建T_NEW来更改数据库,删除T_OLD,而是创建一个名为T_OLD 的VIEW,它模仿T_OLD表100%(例如视图查询T_NEW).
这样您就可以避免发布当前从T_OLD中选择的任何代码,并进行更改以便在闲暇时将代码从T_OLD迁移到T_NEW.
这是一个简单的例子,还有其他更多涉及.
PS另一方面,您可能应该有一个存储过程API而不是来自T_OLD的直接查询,但情况并非总是如此.
Dav*_*vid 43
(复制自Google搜索中出现的第一个教程,但它具有我自己手动输入的所有好处.)
观点有以下好处:
- 安全性 - 用户可以访问视图,而无法直接访问基础表.这允许DBA仅向用户提供他们所需的数据,同时保护同一表中的其他数据.
- 简单性 - 视图可用于隐藏和重用复杂查询.
- 列名称简化或澄清 - 视图可用于在列名称上提供别名,以使其更具记忆性和/或有意义.
- 踏脚石 - 视图可以在"多层次"查询中提供垫脚石.例如,您可以创建一个查询视图,该视图计算每个销售人员的销售数量.然后,您可以查询该视图,以按销售人数对销售人员进行分组.
Adr*_*der 14
VIEWS可以用作SELECT/CODE的可重用部分,可以包含在要连接的其他选择/查询中,并使用各种不同的过滤器,而不必每次都重新创建整个SELECT.
这也将逻辑放在一个位置,这样您就不必在代码库中更改它.
看一下
视图的主要特点是它在大多数情况下可以像表一样使用,但与表不同,它可以封装非常复杂的计算和常用的连接.除了存储过程之外,它还可以使用db中的几乎任何对象.当您总是需要加入同一组表时,视图最有用,例如带有订单明细的订单,以获取汇总计算字段等.
| 归档时间: |
|
| 查看次数: |
69953 次 |
| 最近记录: |