Анализ базовых возможностей программных продуктов для исследования метрических характеристик баз данных

№33-2,

технические науки

Статья содержит обзор программных продуктов, применяемых на практике для исследования метрических характеристик баз данных. Описаны особенности применения программ, отмечены преимущества и недостатки.

Похожие материалы

Эксплуатационные свойства информационной системы определяются функциональными и конструктивными характеристиками базы данных [2, 3, 8-10]. Одной из основных проблем количественной оценки сложности физических схем реляционных баз данных (БД) является проблема автоматизированного получения метрических характеристик базы данных [1, 4-7, 11,12].

Рассмотрим программные продукты, которые могут быть использованы разработчиками баз данных на этапе физического проектирования, с точки зрения автоматизированного получения метрических характеристик БД.

Для исследования физической схемы базы данных могут быть использованы следующие программные продукты: ClearSQL, SQL Detective, dbForge Studio, Calculate TSQL Stored Procedure Complexity.

ClearSQL 6.9 (http://conquestsoftwaresolutions.com) – система для анализа, форматирования и редактирования PL/SQL кода, а также для построения различных диаграмм. Данная система позволяет разработчикам БД решать следующие функциональные задачи:

  • анализ PL/SQL кода;
  • автоматизированный обзор кода на наличие ошибок;
  • расчет метрик PL/SQL кода;
  • проверка кода на соответствие стандартам;
  • генерирование отчетов;
  • анализ базы данных.

На рис. 1 представлены результаты анализа PL/SQL кода базы данных Oracle, выполненного с помощью данной программы.

ClearSQL 6.9: результаты анализа PL/SQL кода

Рис. 1. ClearSQL 6.9: результаты анализа PL/SQL кода

ClearSQL 6.9 рассчитывает для базы данных Oracle комплексный показатель PL/SQL кода - Maintainability Index (индекс эксплуатационной надежности) - метрику, разработанную специалистами Carnegie Mellon Software Engineering Institute. Она позволяет с достаточной точностью оценить качество модуля или PL/SQL кода физической схемы базы данных в целом, и охватывает множество критериев.

Для расчета Maintainability Index необходимо рассчитать значения критерия Холстеда (HalstedVolume), количество строк в коде программы  (LinesofCode), цикломатической сложности (CyclomaticComplexity) и количество строк комментариев (COM).

HealstedVolume - критерий Холстеда, определяет вычислительную сложность, общие усилия по написанию программы. Необходимыми данными для расчета критерия являются:

  • количество всех операторов (сюда включаются все операторы языка программирования, зарезервированные слова - квалификаторы типов, зарезервированные слова, определяющие спецификаторы классов) (N_{1});
  • количество уникальных операторов, т.е. неповторяющихся (n_{1});
  • количество всех операндов (включая все идентификаторы, не являющиеся зарезервированными словами, спецификаторы типов, числовые, строчные или символьные константы) (N_{2});
  • количество уникальных операндов (n_{2}).

На основе полученных данных вычисляют остальные показатели:

длина программы: N=N_{1}+N_{2};

словарь программы: n=n_{1}+n_{2};

объем программы: V=N \cdot \log_{2}(n).

Объем программы V используется как результат критерия Холстеда.

CyclomaticComplexity - цикломатическая сложность - структурная мера сложности программ.

LinesofCode - количество строк в исходном коде.

COM - количество строк комментариев в исходном коде.

Вычисление Maintainability Index производится по формуле:

MI=\max(0 , (171-5.2 \cdot \ln(HalstedVolume)-0.23 \cdot(CyclomaticComplexity)- 16.2 \cdot \ln(LinesofCode)+50 \cdot \sin(\sqrt{2.4 \cdot COM}))

ClearSQL 6.9 позволяет получить значение метрики - сложность интерфейса (Interface Complexity). Она вычисляется как сумма необходимых входных параметров и возвращаемых значений модуля.

Вычисленные с помощью программы ClearSQL метрики физической схемы БД "Гостиница", представленной на рис. 2., имеют следующие значения:

  • CyclomaticComplexity=0,
  • MaintainabilityIndex=136,
  • HealstedVolume=0,
  • InterfaceComplexity=0.

Физическая схема БД "Гостиница"

Рис. 2. Физическая схема БД "Гостиница"

SQLDetective 4.3 (http://conquestsoftwaresolutions.com) – представляет собой мощный и простой в использовании графический пользовательский интерфейс для работы с базами данных Oracle. Данная система позволяет разработчикам БД решать следующие функциональные задачи:

  • создание и редактирование объектов базы данных;
  • тестирование SQL и PL/SQL кода;
  • администрирование и мониторинг баз данных;
  • сравнение схем баз данных;
  • генерирование отчетов;
  • анализ схемы базы данных;
  • сбор статистики.

Данная программа строит по PL/SQL коду блок-схему, которая позволяет наглядно проследить логику PL/SQL кода. На рис. 3 представлены результаты анализа PL/SQL кода базы данных Oracle.

SQLDetective 4.3: результаты анализа PL/SQL кода

Рис. 3. SQLDetective 4.3: результаты анализа PL/SQL кода

На рис. 4 представлены результаты анализа PL/SQL кода хранимой процедуры базы данных Oracle.

SQLDetective 4.3: результаты анализа хранимой процедуры

Рис. 4. SQLDetective 4.3: результаты анализа хранимой процедуры

Также, SQLDetective 4.3 рассчитывает следующие метрики для PL/SQL кода:

  • число строк комментариев;
  • число пустых строк;
  • число входных параметров;
  • число возвращаемых значений;
  • сложность интерфейса;
  • длина программы;
  • словарь программы.

Calculate TSQL Stored Procedure Complexity (https://aalamrangi.wordpress.com) – представляет собой SQL скрипт, создающий отчет о метриках базы данных. Данная программа позволяет разработчикам решать следующие функциональные задачи:

  • анализ TSQL кода (хранимые процедуры, представления, триггеры и функции);
  • расчет метрических характеристик TSQL кода;
  • расчет категориальной оценки сложности объектов базы данных;
  • генерирование отчета.

На рис. 5 представлен результат расчета метрик для хранимых процедур базы данных с помощью данной программы

Calculate TSQL Stored Procedure Complexity: метрики хранимых процедур

Рис. 5. Calculate TSQL Stored Procedure Complexity: метрики хранимых процедур

Данная система обладает следующими недостатками с точки зрения решения задач анализа метрических характеристик физических схем баз данных:

  • поддержка только СУБД Microsoft SQL Server;
  • малый набор метрических характеристик: число ссылочных объектов (NumberOfReferencedObjects), число строк кода (NumberOfCodeLines), число параметров (NumberOf Parameters), сложность (Complexity).

dbForge Studio for MySQL (http://www.devart.com/) - является универсальным инструментом для работы с MySQL сервером, который позволяет разработчикам MySQL и администраторам баз данных MySQL создавать и выполнять запросы, разрабатывать и отлаживать процедуры и функции, а также автоматизировать управление объектами баз данных MySQL в удобном пользовательском интерфейсе.

Данная система позволяет решать следующие функциональные задачи:

  • администрирование и обслуживание баз данных;
  • анализ данных;
  • сравнение данных;
  • сравнение схем;
  • рефакторинг баз данных;
  • редактирование и выполнение SQL;
  • генерирование отчетов.

На рис. 6 представлен результат сравнения двух схем баз данных.

dbForge Studio for MySQL: сравненение схем БД

Рис. 6. dbForge Studio for MySQL: сравненение схем БД

В результате анализа, система dbForge Studio for MySQL показывает какие объекты присутствуют в обоих схемах, а какие индиидуальны для каждой схемы БД. Для получения информации о базе данных можно воспользоваться sql-командой SHOW с необходимыми параметрами.

На рис. 7 представлен результат получения информации о базе данных.

dbForge Studio for MySQL: информация о БД

Рис. 7. dbForge Studio for MySQL: информация о БД

Информация о БД включает в себя:

  • список баз данных;
  • список таблиц в базе данных;
  • список полей, тип, ключевые поля таблицы;
  • индексы.

Анализ базовых возможностей программных продуктов для исследования метрических характеристик БД показал, что ClearSQL, SQL Detective, dbForge Studio, Calculate TSQL Stored Procedure Complexity позволяют получить лишь ограниченный перечень метрических характеристик физической схемы базы данных. Наиболее информативные количественные метрические характеристики для физической схемы реляционной базы данных с помощью данных программ, без написания дополнительного программного кода, получить нельзя. Под информативными количественными метрическими характеристиками понимают следующие:

  • метрические характеристики для таблиц физической схемы БД: количество атрибутов таблицы, количество внешних ключей таблицы, глубина дерева связей таблицы, коэффициент внешних связей таблицы;
  • метрические характеристики для физической схемы БД: количество таблиц схемы БД, количество атрибутов схемы БД, связность схемы БД, коэффициент нормализации схемы БД, количество внешних ключей схемы БД, глубина дерева связей схемы БД, коэффициент внешних связей схемы БД.

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

Список литературы

  1. Азаров А.В., Рыбанов А.А. Автоматизированная система расчета метрических характеристик физической схемы базы данных с целью оценки трудоемкости процесса проектирования // Современная техника и технологии. 2014. № 5 (33). С. 39.
  2. Баженов Р.И., Кузнецова Я.И. О разработке информационной системы по учету благотворительной помощи в малой организации // Современная техника и технологии. 2014. № 6. URL: http://technology.snauka.ru/2014/06/3961 (дата обращения: 07.06.2014).
  3. Баженов Р.И., Никитин А.В. О разработке информационной системы по контролю над пролонгацией страховых договоров // Современные научные исследования и инновации. 2014. № 6. URL: http://web.snauka.ru/issues/2014/06/35496 (дата обращения: 06.06.2014).
  4. Кузьмин А.А., Рыбанов А.А. Исследование методов количественной оценки схем реляционных баз данных // Успехи современного естествознания. 2011. № 7. С. 137-138.
  5. Морозов А.О., Рыбанов А.А. Подходы к измерению количественных метрик физических схем баз данных [Электронный ресурс] // Студенческий научный форум 2014: докл. VI междунар. студ. электрон. науч. конф., 15 февр. – 31 марта 2014 г. Направл.: Технические науки / РАЕ. - М., 2014. - C. 1-8. – Режим доступа: http://www.scienceforum.ru/2014/pdf/143.pdf.
  6. Рыбанов А.А. Оценка сложности физической схемы реляционной базы данных // Cовременная техника и технологии. 2014. № 9 (37). С. 26-30.
  7. Рыбанов А.А., Морозов А.О. Автоматизация расчета метрических характеристик физических схем баз данных на основе концептуальных графов // Молодой ученый. 2014. № 9 (68). С. 26-30.
  8. Рыбанов А.А., Усмонов М.С.О., Попов Ф.А., Ануфриева Н.Ю., Бубарева О.А. Информационные системы и технологии / Научный ред. И. А. Рудакова / Центр научной мысли (г. Таганрог). Москва, 2013. Том Часть 4. - 90 с.
  9. Рыбанов А.А., Коростелев Р.А., Киселев В.В. IDEF1X-модель базы данных web-ориентированной информационной системы оценки семантического качества меню пользователя // Молодой ученый. 2013. № 5. С. 170-172.
  10. Свид. о гос. регистрации базы данных № 2013620276 от 13 февраля 2013 г. РФ, МПК (нет). База данных web-ориентированной информационной системы «Кафедра» / Рыбанов А.А.; ВолгГТУ. - 2013.
  11. Утицких И.А., Рыбанов А.А. Анализ физических схем реляционных баз данных [Электронный ресурс]: доклад // Студенческий научный форум 2013: V междунар. студ. электрон. науч. конф., 15 февр. – 31 марта 2013 г. Направл. / Рос. акад. естествознания. – М., 2013. – С. 1-4. – Режим доступа:http://www.scienceforum.ru/2013/pdf/4553.pdf.
  12. Утицких И.А., Рыбанов А.А. Исследование метрических характеристик физических схем реляционных баз данных // Девятнадцатая межвузовская научно-практическая конференция молодых учёных и студентов, г. Волжский, 27-31 мая 2013 г. : тез. докл. / Филиал МЭИ в г. Волжском. - Волжский, 2013. - C. 39-41.
  13. Черняев А.О., Рыбанов А.А. Разработка и исследование алгоритмов автоматизированного проектирования логических схем реляционных баз данных // В мире научных открытий. 2010. № 4-11. С. 128-129.