自动DDL脚本:要预测多少功能?

时间:2009-05-26 14:06:51

标签: sql database-design ddl

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

问题是,除了少数几个表之外,还有很多表我可以想象有人要求这样的观点,但却想不出具体的用例。但是,我认为有时这样的一般功能可能很有用,因为我不能总是预见所有用例。

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

1 个答案:

答案 0 :(得分:2)

这是一个很好的问题要问自己 - 一般性(通常;-)是一件好事,但是当你观察到过度概括可能会让你陷入组合爆炸。你可以安排在用户试图利用它时“及时”生成所需的DDL位(当然保留已经证明有用的位的“缓存”)吗?

如果那是不可行的,那么,考虑到“潜在有用的观点”在表格和列数中呈指数级增长的可能性,我不情愿地选择“只制作已知的有用/期望”策略(以及努力让用户在他们需要我添加更多内容时让我知道这一点......)。