автоматизированные скрипты DDL:какой объем функциональности спрогнозировать?

StackOverflow https://stackoverflow.com/questions/910881

  •  06-09-2019
  •  | 
  •  

Вопрос

У меня есть скрипт, который генерирует DDL-скрипты для определения материализованных представлений для нормализованной базы данных.В некоторых таблицах есть столбцы типа "владелец", которые указывают на конкретного пользователя базы данных, для которого я затем могу создать представления, в которых будут отображаться только строки таблицы, созданной текущим пользователем базы данных.Такие просмотры в некоторых случаях были бы выгодны как с точки зрения безопасности, так и с точки зрения удобства - например, показывать только собственные результаты теста с несколькими вариантами ответов.

Дело в том, что, помимо нескольких таблиц, есть много таблиц, в которых я мог бы представить, что кто-то запрашивает такое представление, но не может придумать конкретный вариант использования.Однако я думаю, что иногда такая общая функциональность может быть полезной, потому что я не всегда могу предвидеть все варианты использования.

Мой вопрос в том, сколько из этих персонализированных просмотров я должен автоматически генерировать?Для нескольких сотен таблиц это добавляет значительную часть времени на процессы построения, тестирования и бенчмаркинга, какими бы автоматизированными они ни были.Допустили бы вы ошибку в отношении дополнительной функциональности, которая, возможно, никогда не будет использована, или в отношении доступности только тех представлений, которые были запрошены / которые, как вы знаете, будут полезны?

Это было полезно?

Решение

Это хороший вопрос, который нужно задать себе - общность - это (в целом;-) хорошая вещь, но, как вы видите, чрезмерное обобщение может привести вас к комбинаторному взрыву.Можете ли вы, возможно, организовать, чтобы требуемые биты DDL генерировались "точно вовремя", когда пользователь пытается им воспользоваться (конечно, сохраняя некоторый "кэш" битов, которые уже оказались полезными)?

Если это просто неосуществимо, то, учитывая возможность экспоненциального роста числа таблиц и столбцов в "потенциально полезных представлениях", я бы неохотно выбрал стратегию "создавать только то, что считается полезным / желательным" (и постарался бы, чтобы пользователям было очень-очень легко сообщать мне, когда им нужно, чтобы я добавил что-то еще ...).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top