Интеграция альтернативных соединений реляционных таблиц
в коррозионные и электрохимические исследования

А.Ю. Муравейко,

amur98lstu@yandex.ru,

В.В. Ведищев,

 it@stu.lipetsk.ru,

С.Н. Салтыков,

saltsn@mail.ru,
О.А. Назаркин,

Н.В. Тарасова,

tarnv82@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_2

рис.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_2

рис.2 Схема иерархических связей для таблицы MATERIAL_TYPE

рисунок3

рис.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

9816

material_type→material→sample

3

1

98160

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.