2009-05-26 51 views
1

我有一个脚本生成DDL脚本来定义标准化数据库的物化视图。有些表具有指向特定数据库用户的“所有者”列,然后我可以为其创建视图,只显示当前数据库用户创建的表的行。在某些情况下,从安全和便利的角度来看,这样的观点是有益的,例如,只显示一个人自己的多项选择题测验结果。自动化的DDL脚本:预测多少功能?

事情是,除了少数几张桌子外,还有很多桌子,我可以想象有人要求这样的看法,但不能想到具体的用例。不过,我认为有时这样的通用功能可能会有用,因为我不能总是预见所有用例。

我的问题是,我应该自动生成多少这些个性化视图?对于数百张表格,这为构建,测试和基准测试过程增加了很多时间,尽管它们是自动的。您是否会在可能永远不会使用的额外功能方面发生错误,或者只能提供已被请求/您知道会有用的那些视图?

回答

2

这是一个很好的问题来问问自己 - 普遍性(通常;-)是一件好事,但正如你观察到的普遍化会使你陷入组合爆炸。当用户试图使用它时(当然保留已经证明有用的位的一些“高速缓存”),你能够“准时”生成所需的DDL位吗?如果这仅仅是不可行的,那么,考虑到“潜在有用的观点”在表格和列的数量上呈指数级增长的可能性,我会不情愿地选择“只做已知有用/想要的”策略(并努力使用户非常容易让我知道他们何时需要我添加更多...)。

+0

谢谢!及时的想法很有趣,我必须研究它的可行性。通知部分的便利性也很好。 – Kev 2009-05-26 15:23:19