Основой информационной системы является база данных. Процесс развития информационной системы, как правило, приводит к реструктуризации и реорганизации БД. Для грамотной реорганизации и реструктуризации БД необходимо полное понимание ее физической схемы.
Визуализация физической схемы БД обеспечивает повышение эффективности ее восприятия и понимания. Существуют CASE-средства [8], способные визуализировать физическую схемы баз данных, но в них отсутствует возможность автоматической группировки фрагментов базы данных, состоящих из таблиц, описывающих сильно связанные между собой объекты предметной области, в результате чего, процесс восприятия сложных схем баз данных становится трудоемким [9]. Поэтому задача разработки средства автоматической группировки фрагментов базы данных из таблиц является актуальной.
Данная задача может быть решена методом декомпозиции графов, с последующей визуализацией полученного решения.
Для визуализации физической схемы базы данных, представленной в виде фрагментов, состоящих из таблиц, описывающих сильно связанные между собой объекты, могут быть использованы следующие библиотеки: CytoscapeWEB, D3.js, Arbor.js, Sigma.js, Processing.js.
Проведем сравнительный анализ библиотек с точки зрения их применения для решения задачи визуализации физической схемы реляционной базы данных.
Для сравнительного анализа библиотек выберем следующие критерии:
- A1 — наличие распространенных форматов обмена данными о графах (json, xml, yaml);
- А2 — полнота документации;
- A3 — поддержка функции группировки графов;
- A4 — поддержка функции разбиения графов на подграфы;
- A5 — поддержка разных браузеров.
Для определения весов критериев воспользуемся аналитической иерархической процедурой Саати. Метод Саати широко применяется в различных областях: образовании [5, 6], науке [2, 7] и производстве [1, 3, 4]. Правила заполнения матрицы парных сравнений, согласно методу Сати, представлены в таблице 1.
Xij | Значение |
1 | i-ый и j-ый критерий примерно равноценны |
3 | i-ый критерий немного предпочтительнее j-го |
5 | i-ый критерий предпочтительнее j-го |
7 | i-ый критерий значительно предпочтительнее j-го |
9 | i-ый критерий явно предпочтительнее j-го |
Матрица парных сравнений, средние геометрические и веса критериев представлены в таблице 2.
A1 | A2 | A3 | A4 | A5 | Среднее геометрическое | Веса критериев | |
A1 | 1.00 | 0.33 | 0.20 | 0.11 | 0.20 | 0.27 | 0.03 |
A2 | 3.00 | 1.00 | 0.14 | 0.11 | 0.33 | 0.44 | 0.05 |
A3 | 5.00 | 7.00 | 1.00 | 0.20 | 7.00 | 2.18 | 0.26 |
A4 | 9.00 | 9.00 | 5.00 | 1.00 | 5.00 | 4.58 | 0.55 |
A5 | 5.00 | 3.00 | 0.14 | 0.20 | 1.00 | 0.84 | 0.10 |
Сумма | 8.31 | 1.00 | |||||
Диаграмма весовых коэффициентов для критериев A1, A2, A3, A4, A5 представлена на рисунке 1.

Выполним проверку матрицы попарных сравнений на непротиворечивость.
Суммы столбцов матрицы парных сравнений: R1=23.00; R2=20.33; R3=6.49; R4=1.62; R5=13.53.
Путем суммирования произведений сумм столбцов матрицы на весовые коэффициенты альтернатив рассчитывается вспомогательная величина L= 5.79. Индексом согласованности (CI — Consistency Index) .
Величина случайной согласованности (RI — Random Index) для размерности матрицы парных сравнений: RI = 1.12.
Отношение согласованности (CR — Consistency Ratio) . не превышает 0.2, поэтому уточнение матрицы парных сравнений не требуется.
Используя полученные коэффициенты, определим интегральный показатель качества для визуализации физических схем баз данных в виде графов:
- Cytoscape WEB (http://cytoscapeweb.cytoscape.org);
- D3.js (https://d3js.org);
- Arbor.js (http://arborjs.org);
- Sigma.js (http://sigmajs.org);
- Processing.js (http://processingjs.org).
Обозначим качество реализации i-го критерия для j-ой библиотеки как Zij. Выберем категориальную шкалу от 0 до 7 для оценки качества реализации рассмотренных выше критериев (где 0 — качество не удовлетворительно, 7 — предельно достижимый уровень качества на современном этапе) для функциональных возможностей программных продуктов.
Значения весовых коэффициентов, соответствующие функциональным возможностям продуктов(таблица 2):
- Наличие распространенных форматов обмена данными: a1 = 0.03;
- Полнота документации: a2 = 0.05;
- Группировка графов: a3 = 0.26;
- Разбиение графов на подграфы: a4 = 0.55;
- Поддержка разных браузеров: a5 = 0.1.
Определим количественные значения функциональных возможностей (таблица 3). Вычислим интегральный показатель качества для каждого программного продукта.
Критерии | Весовые коэффициенты | Библиотеки | Базовые значения | ||||
Cytoscape WEB | D3.js | Arbor.js | Sigma.js | Processing.js | |||
Наличие распространенных форматов обмена данными о графах | 0.03 | 6 | 6 | 5 | 6 | 5 | 5.6 |
Полнота документации | 0.05 | 6 | 5 | 4 | 5 | 5 | 5 |
Поддержка функции группировки графов | 0.26 | 6 | 5 | 4 | 5 | 4 | 4.8 |
Поддержка функции разбиения графов на подграфы | 0.55 | 7 | 1 | 1 | 1 | 1 | 2.2 |
Поддержка разных браузеров | 0.1 | 7 | 6 | 5 | 6 | 5 | 5.8 |
Интегральный показатель качества Qj | 6.65 | 2.92 | 2.47 | 2.92 | 2.53 | 3.5 | |
Интегральный показатель качества для j-ой библиотеки визуализации графов определим с помощью следующей формуле:
Построим лепестковую диаграмму интегрального показателя качества каждого программного продукта (рисунок 2).

Лепестковая диаграмма значений характеристик качества функциональных возможностей (критериев) представлена на рисунке 3.

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