Интеграция альтернативных соединений
реляционных таблиц
в коррозионные и электрохимические исследования
А.Ю. Муравейко,
В.В. Ведищев,
С.Н. Салтыков,
saltsn@mail.ru,
О.А. Назаркин,
Н.В. Тарасова,
М.А. Федерякина,
ЛГТУ, г. Липецк
Аннотация
Разработан
метод поиска иерархических цепочек таблиц, позволяющий провести анализ
возможности создания альтернативных соединений таблиц в реляционных базах
данных. Показана возможность использования метода для базы данных
"Автоматизированной системы анализа изображений поверхности металла".
Abstract
The method of a hierarchical chains search of tables has been developed.
This method allows to analyze the possibility of creation of alternative tables
connections in relational databases. Possibility of use of a method for a
database of the "Automated system of the analysis of metal surface
images" is shown.
Одной
из задач современной электрохимии является детальное изучение характера
распределения коррозионного процесса по элементам микроструктуры гетерофазной поверхности
сплава, что возможно при использовании методов компьютерной обработки
изображений, позволяющих заменить методы сканирующей микроскопии для характеристики
изменения состояния поверхности в процессе электрохимического растворения. Во
время исследований накапливается большое количество экспериментальной информации,
требующей автоматизированной обработки. Поэтому является актуальной задача
минимизации времени получения информации (формирования отчетов, выборки данных
с выводом на экран). Очевидно, что
время получения информации прямо пропорционально времени выполнения запросов. Существующие подходы оптимизации запросов направлены
на улучшение запросов, содержащих инвариантную («жесткую») схему соединения
таблиц [1,2]. Однако в
базах данных (БД) сложных структур [4,5]
при динамичном изменении объема таблиц ранее запланированные варианты операций соединения
с течением времени могут оказаться не оптимальными в плане скорости их
выполнения.
рис.1 Схема иерархических связей для БД “АC Электрохимия”. Жирным
выделены таблицы, которые могут стать
начальными («главными таблицами») для дополнительных соединений
Так
как классическая теория баз данных предполагает инвариантную схему соединения
таблиц, то для применения методики
динамической оптимизации запросов на основе альтернативных соединений [3,
7-9] в БД большинства существующих автоматизированных информационных систем
(АИС) необходимо сначала создать альтернативные соединения. Для этого
воспользуемся методикой внесения контролируемой
избыточности [5,6], заключающейся
в реализации следующих шагов:
1)
установление иерархической цепочки таблиц
[5,6] на основе анализа отдельных связей между ними;
2)
выбор альтернативных соединений, которые будут созданы, например, путём анализа
частоты выполнения запросов к таблицам, удаленным друг от друга в иерархической
цепочке;
3)
модификация таблицы-потомка, включением в ее структуру идентификатора
таблицы-предка;
4)
для уже существующих в БД записей заполнение созданного связующего
атрибута-идентификатора в таблице-потомке семантически правильными значениями
из таблицы-предка, создание «механизма» поддержания целостности (актуальности
наполнения созданного связующего атрибута-идентификатора в таблице-потомке).
Рассмотрим возможность создания альтернативных
соединений на примере "Автоматизированной
системы анализа изображений поверхности металла"
("АС Электрохимия"), оперирующей
с данными в СУБД MySQL. Для
анализа базы данных необходимо узнать (считать) ее структуру. Для этого в СУБД
MySQL можно воспользоваться командами: «show databases» – получить список баз
данных, «show tables from <database>» – получить список таблиц в базе
данных; «describe <table>» – получить информацию о полях таблицы. Т.к.
СУБД MySQL реляционная, а связи между реляционными отношениями осуществляются путем
дублирования атрибутов, то связи между таблицами устанавливаются путем поиска
совпадения имени первичного ключа одной таблицы и имени поля, не являющегося
первичным ключом в других таблицах БД. Таким образом, получаем ориентированные
связи от «главной» таблицы к «подчиненным» (рис.1).
После
установления структуры БД можно приступить к поиску иерархических цепочек.
Рассмотрим в качестве начала иерархической цепочки таблицу MATERIAL_TYPE
(рис.2, рис.3).
рис.2
Схема иерархических связей для таблицы MATERIAL_TYPE
рис.3
Варианты внесения дополнительных связей с таблицей MATERIAL_TYPE
Для
большой базы данных поиск иерархических цепочек вручную долог и утомителен,
поэтому возникает задача автоматизации данного процесса. Для решения задачи поиска
иерархических цепочек предложим следующий алгоритм (исходными данными для
алгоритма будут матрица смежности графа структуры БД, который получается путем
обозначения таблиц вершинами, а связей между таблицами – дугами графа (табл.1),
а также заданная вершина (таблица), для которой требуется создать иерархические
цепочки (табл.2)):
Шаг 0.
Создаем путь нулевого уровня из самой заданной вершины. Флаг перспективности
данного пути выставляем в значение истина.
Шаг 1.
Создание путей нового уровня.
Для
всех маршрутов предыдущего уровня не помеченных как «тупиковые» (флаг
перспективности равен истина) по правилу обхода в ширину создаем пути (цепочки
в ориентированном графе, выходящие из заданной вершины.) Путь следующего уровня
получается добавлением к пути дуги исходящей из «конечной вершины» пути и
инцидентной ей вершины.
Шаг 2.
Анализ путей нового уровня.
Выполняем
проверку на то, что новая «конечная вершина» (вершина, которой заканчивается
путь) уже была «конечной вершиной» в ранее созданных путях. Если есть такие
случаи, то пути, которые заканчиваются в этой вершине, помечаем как «тупиковые»
(флаг перспективности равен ложь) и дальше эти пути не рассматриваем.
Шаг 3.
Если есть пути, для которых полустепень исхода для «конечной вершины» пути
больше 0 (то есть из нее есть исходящие дуги) и путь не помечен как
«тупиковый», то переходим на Шаг 1, иначе Конец алгоритма.
Таблица
1
Переход от таблиц к вершинам графа структуры БД
№ вер-ши-ны |
Название таблицы |
Комментарий |
№ вер-ши-ны |
Название таблицы |
Комментарий |
0 |
area |
участок образца |
10 |
measurement |
замер |
1 |
camera |
фотоаппарат |
11 |
mp_sample |
method_production_sample - способ получения образца |
2 |
camera_lens |
возможные сочетания объективов
и фотоаппаратов |
12 |
mp_spectrum |
method_production_spectrum
- способ получения спектра яркости |
3 |
camera_set |
настройки фотоаппарата |
13 |
photo |
фотография |
4 |
experiment |
опыт |
14 |
photo_type |
категория фотографии |
5 |
fact_instrument |
фактически использованное
оборудование |
15 |
research_type |
тип исследования |
6 |
instrument |
оборудование |
16 |
sample |
образец |
7 |
lens |
объектив |
17 |
spectrum |
спектр яркости |
8 |
material |
материал |
18 |
spectrum_dot |
описание точки графика
спектра яркости |
9 |
material_type |
тип материала |
19 |
state |
состояние образца |
Результаты
работы алгоритма для таблицы MATERIAL_TYPE «АС Электрохимия»
приведены в таблице 2 и соответствуют результату, полученному ранее вручную
(рис.3).
Таблица
2
Результат
работы алгоритма для таблицы MATERIAL_TYPE
Промежуточные
результаты: |
Итоговые
результаты |
||
№ |
Флаг |
Путь на
графе |
Путь в БД |
0 |
0 |
9 |
|
1 |
0 |
9→8 |
|
2 |
1 |
9→8→16 |
material_type→material→sample |
3 |
1 |
9→8→16→0 |
material_type→material→sample→area |
4 |
1 |
9→8→16→0→10 |
material_type→material→sample→area→
measurement |
5 |
1 |
9→8→16→0→10→5 |
material_type→material→sample→area→
measurement→fact_instrument |
6 |
1 |
9→8→16→0→10→13 |
material_type→material→sample→area→ measurement→photo |
7 |
1 |
9→8→16→0→10→13→17 |
material_type→material→sample→area→
measurement→photo→spectrum |
8 |
1 |
9→8→16→0→10→13→17→18 |
material_type→material→sample→area→
measurement→photo→spectrum→spectrum_dot |
Вывод: разработан метод поиска иерархических цепочек таблиц, позволяющий
провести анализ возможности создания альтернативных соединений таблиц в
реляционных базах данных.
[Работа поддержана грантом РФФИ №
11-07-97537-р_центр_а]
1.
Гарсиа-Молина Г., Ульман Д., Уидом Д. Системы баз данных. Полный курс.
Пер. с англ.- М.: Издательский дом «Вильямс», 2003 – 1088 с.
2.
Дейт К.Дж. Введение в системы баз данных, 7-е издание : Пер.с англ – М.:
Издательский дом «Вильямс», 2002 – 1072 с.
3.
Муравейко А.Ю., Дятчина Д.В., Погодаев А.К. Оптимизация альтернативных
соединений в запросах реляционных информационных систем на основе теории графов
// Сложные системы управления и менеджмент качества CCSQM’2007: Сборник трудов
Международной научной конференции / Под ред. Проф Ю.И. Ерёменко. – Старый
Оскол: ООО «ТНТ», 2007.- с.90-93
4.
Муравейко А.Ю., Погодаев А.К. Оптимизация соединения таблиц в сложной
структуре организации данных /Молодые ученые- производству. Сборник научных
трудов региональной конференции. – Старый Оскол: СТИ МИСиС, 2005. с.189-192
5.
Муравейко А.Ю., Погодаев А.К. Метод альтернативных соединений таблиц баз
данных в информационных системах образовательных учреждений / Научно-технический
журнал «Образовательные технологии», 2005, №2(15). -Воронеж, Научная книга.
с.18-21
6.
Муравейко А.Ю., Погодаев А.К. Оптимизация альтернативных соединений
реляционных таблиц баз данных в управлении организации //Теория активных
систем/ Труды международной научно-практической конф.- М. ИПУ РАН, 2005
с.141-143
7.
Погодаев А.К., Муравейко А.Ю., Дятчина Д.В. Алгоритм альтернативного
соединения для оптимизации запросов в реляционных системах / Журнал «Вести
высших учебных заведений Черноземья», 2006, №1 (3). - Липецк, ЛГТУ с.13-15
8.
Погодаев А.К., Муравейко А.Ю., Дятчина Д.В. Альтернативные соединения
таблиц баз данных / Научно-технический журнал «Системы управления и
информационные технологии», 2005, № 5(22). – Воронеж, Научная книга. с.99-102
9.
Погодаев А.К., Муравейко А.Ю., Дятчина Д.В. Метод оптимизации запросов
на основе альтернативного соединения таблиц баз данных для информационных
систем предприятий / Известия ТулГУ. Серия: Машиноведение, системы приводов и
детали машин. Спец. вып.- Тула: Изд-во ТулГУ, 2006. с.331-337.