我从Difference between View and table in sql
获得了一般知识但仍然不知道真实的东西。
有时候View可以做插入更新删除[如果不影响多个基表](我试过这个)。
从View中插入/更新/删除时有什么大不同之处 比起表?
我对View的期望是"当客户端访问视图时,将会有更多安全性来保护真实表,而不是访问真实表"。
如果没有任何其他方法来加强安全性,客户端从数据库访问真实表。除了使用用户名和密码登录?
答案 0 :(得分:1)
使用视图而不是表格没有任何内在安全性 - 它与您如何使用它有关。通过视图,您可以在列级别屏幕访问表,在构成数据视图的表之间存在连接,以及匹配(或不匹配)某些条件的行。如果您可以通过视图使视图更安全,那么请务必这样做。但是,我不会将视图用作表的一般替代。
视图的缺点是你有另一个要维护的对象,当你的基础表发生变化时,可能会破坏。就个人而言,我没有使用视图来增强写操作的安全性,因为它在我的案例中从未有意义。出于阅读目的,它们可能非常棒。
良好的安全性应从正确构建的角色和授权开始,并且您不会让某些角色/用户访问他们不需要的操作。