1

我有一个脚本,它生成 DDL 脚本来为规范化数据库定义物化视图。某些表具有指向特定数据库用户的“所有者”列,然后我可以为其创建视图,该视图将仅显示当前数据库用户创建的表的行。在某些情况下,从安全性和便利性的角度来看,这样的视图都是有益的——例如,只显示一个人自己的多项选择测验结果。

问题是,除了几张表之外,还有很多表我可以想象有人要求这样的视图,但想不出具体的用例。但是,我认为有时这种通用功能可能很有用,因为我不能总是预见所有用例。

我的问题是,我应该费心自动生成多少这些个性化视图?对于数百个表,这为构建、测试和基准测试过程增加了大量时间,尽管它们是自动化的。您会在可能永远不会使用的额外功能方面犯错,还是在仅提供那些已被要求/您知道将有用的视图方面犯错?

4

1 回答 1

2

这是一个问自己的好问题——一般性(通常;-)是一件好事,但正如您所观察到的那样,过度概括会使您陷入组合爆炸。当用户尝试使用它时,您是否可以安排“及时”生成所需的 DDL 位(当然保留一些已经证明有用的位的“缓存”)?

如果这是不可行的,那么,考虑到“潜在有用的视图”在表和列的数量上呈指数增长的可能性,我会不情愿地选择“只制作已知有用/想要的”策略(并努力制作用户很容易让我知道他们何时需要我添加更多内容...)。

于 2009-05-26T15:16:19.000 回答