Join 面向最终用户的表是否应始终采用视图的形式?
在创建数据仓库时,我习惯于在表的顶部创建视图,以便用户查询这些视图而不是表。无论如何,他们从未被允许访问这些表Join 面向最终用户的表是否应始终采用视图的形式?,join,database-design,database-schema,amazon-redshift,database-security,Join,Database Design,Database Schema,Amazon Redshift,Database Security,在创建数据仓库时,我习惯于在表的顶部创建视图,以便用户查询这些视图而不是表。无论如何,他们从未被允许访问这些表 现在,对于当前正在讨论的数据仓库,将在多个表之间进行联接,以创建“结束表”或报告。如果我们使用视图的路径,这些连接是否应该在视图级别上完成,或者我们应该用连接来创建另一组表,并在上面建立基本视图? < P>在做出决定时,我会考虑两件事: 性能:如果有连接填充物理表,并且在这些表的顶部只有视图,那么查询(在视图上)会很快,因为没有动态连接发生 可伸缩性和维护:如果您开始为用户需要的每个报
现在,对于当前正在讨论的数据仓库,将在多个表之间进行联接,以创建“结束表”或报告。如果我们使用视图的路径,这些连接是否应该在视图级别上完成,或者我们应该用连接来创建另一组表,并在上面建立基本视图? < P>在做出决定时,我会考虑两件事:
嗯,就像数据库管理中的大多数问题一样,没有“一个正确”的答案。但是是的,一般来说,DWH会有很多报告在上面运行。因此,从长远来看,创建视图并不能解决问题 连接应在视图级别完成。您试图让用户更容易访问数据库,而不仅仅是遵循关于视图的官僚规则。所以听起来您个人倾向于创建单独的联接表?