2009-05-26 19 views
1

我有一個腳本生成DDL腳本來定義標準化數據庫的物化視圖。有些表具有指向特定數據庫用戶的「所有者」列,然後我可以爲其創建視圖,只顯示當前數據庫用戶創建的表的行。在某些情況下,從安全和便利的角度來看,這樣的觀點是有益的,例如,只顯示一個人自己的多項選擇題測驗結果。自動化的DDL腳本:預測多少功能?

事情是,除了少數幾張桌子外,還有很多桌子,我可以想象有人要求這樣的看法,但不能想到具體的用例。不過,我認爲有時這樣的通用功能可能會有用,因爲我不能總是預見所有用例。

我的問題是,我應該自動生成多少這些個性化視圖?對於數百張表格,這爲構建,測試和基準測試過程增加了很多時間,儘管它們是自動的。您是否會在可能永遠不會使用的額外功能方面發生錯誤,或者只能提供已被請求/您知道會有用的那些視圖?

回答

2

這是一個很好的問題來問問自己 - 普遍性(通常;-)是一件好事,但正如你觀察到的普遍化會使你陷入組合爆炸。當用戶試圖使用它時(當然保留已經證明有用的位的一些「高速緩存」),你能夠「準時」生成所需的DDL位嗎?如果這僅僅是不可行的,那麼,考慮到「潛在有用的觀點」在表格和列的數量上呈指數級增長的可能性,我會不情願地選擇「只做已知有用/想要的」策略(並努力使用戶非常容易讓我知道他們何時需要我添加更多...)。

+0

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