Матрицы CRUD в ClearSQL и ClearDB Documenter генерятся на основе кода из хранимых подпрограмм: процедуры, функции, пакеты, объектные типы, триггеры. Из других текстов PL/SQL кода (job, sched.program,..) данные не участвуют при составлении матриц. Также не нужны сами объекты данных (таблицы, вьювера) в проекте для составления матрицы. В проект ClearSQL объекты данных не импортируются, а в доку ClearDB Documenter не нужно выбирать таблицы или вьювера, которые возможно задействованы в коде.
Объекты в матрицу попадают уникально по имени. Если в тексте кода все имена объектов префиксованы именем владельца, то результат уникальности будет более верным.
Матрица CRUD1 генерится из текста PL/SQL кода одной подпрограммы. Поскольку SQLDetective может проводить аудит кода только одной хранимой подпрограммы, то в будущей версии SQLDetective вполне может быть реализована эта фича.
Матрицы CRUD2 генерятся на основе совокупности хранимых подпрограмм. Проект ClearSQL может состоять из папок со скриптами, поэтому для каждой папки будет своя матрица CRUD2, в том числе и для всего проекта. Дока ClearDB Documenter имеет группировку по схемам и типам объектов, но матрицы CRUD2 генерятся в разрезе схем и одна на всю базу. Но в матрицу будут включены только те объекты, которые упомянуты в коде выбранных для доки объектов. Для полной матрицы всей базы необходимо выбрать все хранимые подпрограммы (процедуры, функции, спецификации и тела пакетов, спецификации и тела объектных типов, триггеры) всех схем в подключенной базе. Реализация CRUD2 матриц в будущей версии SQLDetective маловероятна.
Выходная форма матриц и в интерфейсе, и в репортах-доках - это html-формат. Поиск объекта по имени работает как в обычном браузере. При наличии правил именования объектов внутри команды разработчиков вполне легко отследить избыточность и недостаток обращений к объектам.
Матрицу CRUD не стоит путать с Entity Relationship Diagram, которая генерится в ClearDB Documenter на основе только объектов данных и их ключей связи. ERD не генерятся в ClearSQL, потому что таблицы и вьювера не являются PL/SQL кодом. Генерация ERD в SQLDetective пока не реализована, но увидеть (авто-нарисовать) связи объектов данных можно в Query Builder tool.
Объекты в матрицу попадают уникально по имени. Если в тексте кода все имена объектов префиксованы именем владельца, то результат уникальности будет более верным.
Матрица CRUD1 генерится из текста PL/SQL кода одной подпрограммы. Поскольку SQLDetective может проводить аудит кода только одной хранимой подпрограммы, то в будущей версии SQLDetective вполне может быть реализована эта фича.
Матрицы CRUD2 генерятся на основе совокупности хранимых подпрограмм. Проект ClearSQL может состоять из папок со скриптами, поэтому для каждой папки будет своя матрица CRUD2, в том числе и для всего проекта. Дока ClearDB Documenter имеет группировку по схемам и типам объектов, но матрицы CRUD2 генерятся в разрезе схем и одна на всю базу. Но в матрицу будут включены только те объекты, которые упомянуты в коде выбранных для доки объектов. Для полной матрицы всей базы необходимо выбрать все хранимые подпрограммы (процедуры, функции, спецификации и тела пакетов, спецификации и тела объектных типов, триггеры) всех схем в подключенной базе. Реализация CRUD2 матриц в будущей версии SQLDetective маловероятна.
Выходная форма матриц и в интерфейсе, и в репортах-доках - это html-формат. Поиск объекта по имени работает как в обычном браузере. При наличии правил именования объектов внутри команды разработчиков вполне легко отследить избыточность и недостаток обращений к объектам.
Матрицу CRUD не стоит путать с Entity Relationship Diagram, которая генерится в ClearDB Documenter на основе только объектов данных и их ключей связи. ERD не генерятся в ClearSQL, потому что таблицы и вьювера не являются PL/SQL кодом. Генерация ERD в SQLDetective пока не реализована, но увидеть (авто-нарисовать) связи объектов данных можно в Query Builder tool.
"Пример чеклистов для тестирования ссылочной целостности" (http://blog.shumoos.com/archives/405) - CT diagram and CRUD matrice can help to detect stored objects working with data.
ОтветитьУдалить