Анализ проблем в области получения метрических характеристик хранимой процедуры – задача актуальная, поскольку база данных – это ядро информационной системы [6, 8].
Хранимая процедура – последовательность SQL-запросов, которая хранится на сервере. Они повышают производительность и обеспечивают безопасность данных, поскольку пользователи не будут иметь доступ к таблицам базы данных [1]. Кроме того, хранимые процедуры могут использоваться для вызова других хранимых процедур.
Однако хранимая процедура может быть перегружена наличием в ней фрагментов кода, которые можно упростить или вовсе удалить.
Для проведения сравнительного анализа существующих программных продуктов, позволяющих получать метрические характеристики хранимой процедуры базы данных, был выбран ряд программных продуктов: Calculate T-SQL Stored Procedure Complexity, SQL Code Guard, SQLDetective, SoftTree SQL Assistant, ClearSQL [7].
Проведем сравнительный анализ данных программных продуктов с точки зрения их применения для решения задачи получения метрик хранимой процедуры базы данных.
В качестве критериев для сравнительного анализа программных продуктов, выберем следующие:
A1 – расчет метрических характеристик хранимой процедуры;
A2 – генерация отчета по результатам расчета метрических характеристик хранимой процедуры;
A3 – визуальная оценка сложности хранимой процедуры;
A4 – категориальная оценка сложности хранимой процедуры;
A5 – метрическая оценка сложности хранимой процедуры.
Для определения весов критериев воспользуемся аналитической иерархической процедурой Саати [4]. Правила заполнения матрицы парных сравнений представлены в таблице 1.
Таблица 1. Значения коэффициентов матрицы парных сравнений
Xij |
Значение |
1 |
i-ый и j-ый критерий примерно равноценны |
3 |
i-ый критерий немного предпочтительнее j-го |
5 |
i-ый критерий предпочтительнее j-го |
7 |
i-ый критерий значительно предпочтительнее j-го |
9 |
i-ый критерий явно предпочтительнее j-го |
Матрица парных сравнений, средние геометрические и веса критериев представлены в таблице 2 [3].
Таблица 2. Матрица парных сравнений, средние геометрические и веса критериев
|
A1 |
A2 |
A3 |
A4 |
A5 |
Среднее геометрическое |
Веса критериев |
A1 |
1 |
9 |
7 |
3 |
1/3 |
2,29 |
0,3 |
A2 |
1/9 |
1 |
1/7 |
1/7 |
1/9 |
0,19 |
0,02 |
A3 |
1/7 |
7 |
1 |
1/3 |
1/7 |
0,54 |
0,07 |
A4 |
1/3 |
7 |
3 |
1 |
1/3 |
1,18 |
0,15 |
A5 |
3 |
9 |
7 |
3 |
1 |
3,55 |
0,46 |
Сумма |
8.07 |
1 |
Диаграмма весовых коэффициентов для критериев A1, A2, A3, A4, A5 представлена на рис. 1.
Рис.1. Весовые коэффициенты критериев
Выполним проверку матрицы попарных сравнений на непротиворечивость.
Суммы столбцов матрицы парных сравнений:
R1=4.58; R2=33.00; R3=18.14; R4=7.48; R5=1.92.
Путем суммирования произведений сумм столбцов матрицы на весовые коэффициенты альтернатив рассчитывается вспомогательная величина L = 5.45. Индексом согласованности ИС = (L-N)/(N-1) = 0.11.
Величина случайной согласованности для размерности матрицы парных сравнений: СлС = 1.12.
Отношение согласованности ОС=ИС/СлС = 0.1. не превышает 0.2, поэтому уточнение матрицы парных сравнений не требуется.
Используя полученные коэффициенты определим интегральный показатель качества для программных продуктов расчета метрических характеристик хранимой процедуры [5]:
- Calculate T-SQL Stored Procedure Complexity (https://gallery.technet.microsoft.com/scriptcenter/Calculate-TSQL-Stored-831b683a);
- SQL Code Guard (http://www.sqlcodeguard.com/);
- SQLDetective (http://conquestsoftwaresolutions.com/);
- SoftTree SQL Assistant (http://www.softtreetech.com/sqlassist/index.htm);
- ClearSQL (http://conquestsoftwaresolutions.com/).
Выберем категориальную шкалу от 0 до 7 (где 0 – качество не удовлетворительно, 7 – предельно достижимый уровень качества на современном этапе) для функциональных возможностей программных продуктов.
Значения весовых коэффициентов ai, соответствующие функциональным возможностям продуктов:
- расчет метрических характеристик хранимой процедуры: a1 = 0.3;
- генерация отчета по результатам расчета метрических характеристик хранимой процедуры: a2 = 0.02;
- визуальная оценка сложности хранимой процедуры: a3 = 0.07;
- категориальная оценка сложности хранимой процедуры: a4 = 0.15;
- метрическая оценка сложности хранимой процедуры: a5 = 0.46;
Определим (по введенной шкале) количественные значения функциональных возможностей Xij (таблица 3) [2]. Вычислим интегральный показатель качества для каждого программного продукта.
Таблица 3. Интегральные показатели качества
Критерии |
Весовые коэффициенты |
Программные продукты |
Базовые значения |
||||
Calculate T-SQL Stored Procedure Complexity |
SQL Code Guard |
SQLDetective |
SoftTree SQL Assistant |
ClearSQL | |||
расчет метрических характеристик хранимой процедуры |
0.3 |
7 |
5 |
2 |
5 |
2 |
4.2 |
генерация отчета по результатам расчета метрических характеристик хранимой процедуры |
0.02 |
6 |
0 |
0 |
0 |
0 |
1.2 |
визуальная оценка сложности хранимой процедуры |
0.07 |
0 |
6 |
7 |
0 |
0 |
2.6 |
категориальная оценка сложности хранимой процедуры |
0.15 |
5 |
0 |
0 |
0 |
0 |
1 |
метрическая оценка сложности хранимой процедуры |
0.46 |
7 |
6 |
5 |
5 |
2 |
5 |
Интегральный показатель качества Q |
5 |
3.4 |
2.8 |
2 |
0.8 |
2.8 |
где Qj=∑ai*Xij интегральный показатель качества для j-го программного средства.
Построим лепестковую диаграмму интегрального показателя качества каждого программного продукта (рис. 2).
Рис. 2. Лепестковая диаграмма интегральных показателей качества программных продуктов
Лепестковая диаграмма значений характеристик качества функциональных возможностей (критериев) представлена на рисунке 3.
Рис.3. Лепестковая диаграмма значений функциональных характеристик
Сравнительный анализ программных продуктов показал, что наиболее приоритетным выбором для решения задачи получения количественных метрик хранимой процедуры базы данных является Calculate T-SQL Stored Procedure Complexity. Основным направлением развития программного обеспечения в области оценки сложности хранимых процедур реляционных баз данных является категориальная оценка сложности хранимой процедуры на основе теории нечетких множеств.
Библиографический список
- Рыбанов А.А., Фатеенков М.М. Разработка и анализ хранимой процедуры для получения глубины дерева связей таблицы и схемы базы данных // NovaInfo.Ru. 2015. Т.1. №34. С. 41-55.
- Рыбанов А. Определение весовых коэффициентов сложности тем учебного курса на основе алгоритма Cаати // Педагогические измерения. 2014. № 4. С. 21-28.
- Рыбанов А.А., Макушкина Л.А. Технология определения весовых коэффициентов сложности тем дистанционного курса на основе алгоритма Саати // Открытое и дистанционное образование. 2016. № 1 (61). С. 69-79.
- Морозов А.О., Рыбанов А.А. Экспертная оценка программных продуктов для расчета метрических характеристик физической схемы базы данных // Современные научные исследования и инновации. 2015. № 1-1 (45). С. 97-102.
- Рыбанов, А. А. Автоматизация расчета метрических характеристик физических схем баз данных на основе концептуальных графов/А. А. Рыбанов, А. О. Морозов // Молодой ученый. -2014. -№ 9. -С. 26-30.
- Рыбанов А.А. Оценка сложности физической схемы реляционной базы данных // Современная техника и технологии. 2014. № 9 (37). С. 26-30.
- Рыбанов А.А. Анализ базовых возможностей программных продуктов для исследования метрических характеристик баз данных // NovaInfo.Ru. 2015. Т. 2. № 33. С. 20-28.
- Черняев А.О., Рыбанов А.А. Разработка и исследование алгоритмов автоматизированного проектирования логических схем реляционных баз данных // В мире научных открытий. 2010. № 4-11. С. 128-129.