何时使用视图而不是表? [英] When to use a View instead of a Table?
本文介绍了何时使用视图而不是表?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
何时应该在实际表上实际使用视图?我应该期望这会产生什么收益?
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
可供选择的视图:
- 视图提供了对表格的抽象.您可以在视图中轻松添加/删除字段,而无需修改基础架构
- 视图可以轻松地为复杂的连接建模.
- 视图可以对您隐藏特定于数据库的内容.例如.如果您需要使用 Oracles SYS_CONTEXT 函数或许多其他东西进行一些检查
- 您可以直接在视图而不是实际表上轻松管理您的 GRANTS.如果您知道某个用户只能访问一个视图,则管理起来会更容易.
- 视图可以帮助您实现向后兼容性.您可以更改底层架构,但视图可以对特定客户端隐藏这些事实.
插入/更新的视图:
- 您可以直接在视图中使用 Oracle 的WITH CHECK OPTION"子句等功能来处理视图的安全问题
缺点
- 您丢失了有关关系的信息(主键、外键)
- 您是否能够插入/更新视图并不明显,因为视图对您隐藏了其底层连接
这篇关于何时使用视图而不是表?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文