何时使用视图而不是表? [英] When to use a View instead of a Table?

查看:23
本文介绍了何时使用视图而不是表?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

何时应该在实际表上实际使用视图?我应该期望这会产生什么收益?

When should a View actually be used over an actual Table? What gains should I expect this to produce?

总的来说,在表格上使用视图有什么好处?我不应该按照视图最初的样子设计表格吗?

Overall, what are the advantages of using a view over a table? Shouldn't I design the table in the way the view should look like in the first place?

推荐答案

哦,你需要考虑很多不同之处

Oh there are many differences you will need to consider

可供选择的视图:

  1. 视图提供了对表格的抽象.您可以在视图中轻松添加/删除字段,而无需修改基础架构
  2. 视图可以轻松地为复杂的连接建模.
  3. 视图可以对您隐藏特定于数据库的内容.例如.如果您需要使用 Oracles SYS_CONTEXT 函数或许多其他东西进行一些检查
  4. 您可以直接在视图而不是实际表上轻松管理您的 GRANTS.如果您知道某个用户只能访问一个视图,则管理起来会更容易.
  5. 视图可以帮助您实现向后兼容性.您可以更改底层架构,但视图可以对特定客户端隐藏这些事实.

插入/更新的视图:

  1. 您可以直接在视图中使用 Oracle 的WITH CHECK OPTION"子句等功能来处理视图的安全问题

缺点

  1. 您丢失了有关关系的信息(主键、外键)
  2. 您是否能够插入/更新视图并不明显,因为视图对您隐藏了其底层连接

这篇关于何时使用视图而不是表?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆