Научная статья на тему 'ЛОГИЧЕСКАЯ ИНТЕГРАЦИЯ ДАННЫХ НА ПРИМЕРЕ ОРГАНИЗАЦИИ ЗАПРОСОВ К БАЗЕ ДАННЫХ АВИАПЕРЕВОЗОК'

ЛОГИЧЕСКАЯ ИНТЕГРАЦИЯ ДАННЫХ НА ПРИМЕРЕ ОРГАНИЗАЦИИ ЗАПРОСОВ К БАЗЕ ДАННЫХ АВИАПЕРЕВОЗОК Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
512
61
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ИНТЕГРАЦИЯ ДАННЫХ / БАЗА ДАННЫХ / ИНФОРМАЦИОННЫЕ СИСТЕМЫ / ЗАПРОС / POSTGRESQL / DATA INTEGRATION / DATABASE / INFORMATION SYSTEMS / QUERY

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Фоменко Ю.С., Абу Хасан Р., Хомоненко А.Д.

Процесс интеграции данных может быть рассмотрен как на глобальном уровне - интеграция данных из нескольких источников, так и на локальном - интеграция данных внутри одной системы для решения прикладной задачи. В статье представлены краткие теоретические основы интеграции приложений и интеграции данных. Описаны прикладная предметная область и «полигон» для интеграции. Обоснована актуальность решения задачи интеграции данных. Приведены маркетинговая и техническая постановки задачи. Приведена схема интеграции данных для поставленной задачи, выполнено ее решение

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

LOGICAL DATA INTEGRATION ON THE EXAMPLE OF ORGANIZING QUERIES TO THE DATABASE AIR TRANSPORTATION

The process of data integration can be considered both at the global level - data integration from some sources and at the local level - data integration inside the one system handling of applied problems. The article presents a brief theoretical science for application integration and data integration. The applied subject area and the "testing ground" for integration are described. The relevance of solving the problem of data integration is justified. The marketing and technical statements of the problem are given. The scheme of data integration for the problem is presented, its solution is completed.

Текст научной работы на тему «ЛОГИЧЕСКАЯ ИНТЕГРАЦИЯ ДАННЫХ НА ПРИМЕРЕ ОРГАНИЗАЦИИ ЗАПРОСОВ К БАЗЕ ДАННЫХ АВИАПЕРЕВОЗОК»

Логическая интеграция данных на примере организации запросов к базе данных авиаперевозок

магистрант Ю. С. Фоменко, магистрант Р. Абу Хасан, Петербургский государственный университет путей сообщения Императора Александра I Санкт-Петербург, Россия kosmonavt.98@mail.ru, ragheb1997@yandex.ru

д.т.н., проф. А. Д. Хомоненко Петербургский государственный университет путей сообщения Императора Александра I, Военно-космическая академия имени А. Ф. Можайского Санкт-Петербург, Россия khomon@mail.ru

Аннотация. Процесс интеграции данных может быть рассмотрен как на глобальном уровне — интеграция данных из нескольких источников, так и на локальном — интеграция данных внутри одной системы для решения прикладной задачи. В статье представлены краткие теоретические основы интеграции приложений и интеграции данных. Описаны прикладная предметная область и «полигон» для интеграции. Обоснована актуальность решения задачи интеграции данных. Приведены маркетинговая и техническая постановки задачи. Приведена схема интеграции данных для поставленной задачи, выполнено ее решение.

Ключевые слова: интеграция данных, база данных, информационные системы, запрос, PostgreSQL.

Введение

В настоящее время большое число информационных источников нуждается в оперативной и качественной обработке, а также последующем представлении данных из этих источников или из структурных составляющих источников в унифицированном виде, либо в едином представлении для конкретной пользовательской системы или задачи. Стремительная скорость и уровень развития автоматизированных систем в современном мире заставляет задумываться о необходимости создания единой унифицированной системы, которая будет являться хранилищем интегрированных данных рабочего процесса предприятия. Источники информационных ресурсов и данных по способу представления информации принято подразделять на: базы данных, web-страницы, файловые серверы, телеконференции [1].

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

• представлении данных в разных форматах;

• существовании своей понятийной системы (онтологии) предметной области источника;

• различных моделях данных;

• различных схемах данных.

В зависимости от причин возникновения неоднородности выделяют три основные модели интеграции данных: физическая интеграция, логическая интеграция и семантическая интеграция [2, 3]. Выбор модели интеграции для разработки архитектуры интегрирующей системы зависит от совокупности интегрируемых данных, уровня доступа

к локальным системам, технического задания и функциональности прикладных программ [4].

Концептуальные особенности видов интеграции

Enterprise Application Integration (EAI) — интеграция корпоративных приложений подразумевает две основные концепции интеграции: интеграция приложений и интеграция данных.

Концепция интеграции приложений определена следующими факторами:

1) увеличение производительности разрабатываемой комплексной прикладной программы;

2) следствие использования разных платформ и поддерживающих их программных средств;

3) неполноценный функционал отдельных программных средств;

4) автоматизация бизнес-процесса.

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

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

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

Интегрируемая область и «полигон» для интеграции

Постановка задачи выполнялась для демонстрационной базы данных под управлением СУБД PostgreSQL [5], предметной областью которой являются авиаперевозки по

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

• простая понятийная система предметной области;

• широкий спектр данных для анализа и интеграции;

• максимальное сходство данных с реально существующими.

Последняя отличительная характеристика обеспечивает следующее:

• возможность постановки максимально реалистичной задачи;

• разработку алгоритмов, применимых к базам данных, наполняемых в реальном масштабе времени;

• получение максимально реалистичных результатов в ответ на поставленную задачу.

«Полигоном» для демонстрации процесса интеграции является СУДБ PostgreSQL. В совокупности с вышеуказанными преимуществами демонстрационной базы данных, СУБД обладает также рядом достоинств, прежде всего практичных для пользователя системы [6-11]:

• объектно-реляционная структура;

• возможность работы со сложными структурами данных;

• возможность создания собственного типа данных;

• высокий уровень сохранения целостности данных за счет соответствия стандарту ANSI-SQL:2008.

Постановка задачи

Процесс интеграции данных сопровождается прежде всего анализом интегрируемых данных. Обобщенной целью анализа является в первую очередь - оценка текущего состояния некоторой области исследования. В соответствии с этим определением поставленной задаче было дано две формулировки: маркетинговая и техническая.

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

стей, компании должны не забывать о маркетинговой составляющей своего бизнеса.

Маркетинговая постановка представляет задачу в том виде, в каком ее бы преподнес отдел маркетинга и продаж 1Т-подразделению предприятия. Определение поставленной задачи без ее технической адаптации звучит следующим образом: «Мы хотим улучшить бизнес-залы ожиданий и повысить компетенции персонала. Необходимо понять, в каких подразделениях следует начать процесс улучшения. Между какими тремя парами городов совершается больше всего бизнес-командировок?».

Техническая постановка задачи. Процесс интеграции, как и любой автоматизированный процесс, нуждается в техническом описании, необходимом для корректности разработки алгоритма его реализации. Выполнение поставленной задачи подразумевает процесс логической интеграции данных. Поэтому перед ее выполнением определена строгая техническая постановка задачи: «На какие рейсы покупается больше всего билетом «туда и обратно» со сроком «обратно» не более 5 дней».

Решение задачи

Вследствие того, что основная часть работы для получения ответа на поставленную задачу будет проводиться с базой данных авиаперевозок по России, то можно поэтапно описать алгоритм выполнения задачи:

1. Ознакомиться с демонстрационной базой данных (подробно изучить диаграмму схемы данных, структуру сущностей, список отношений, представления, функции и т.д.).

2. При отсутствии опыты работы с СУБД PostgreSQL изучить основные принципы работы системы.

3. Развернуть СУБД PostgreSQL.

4. Развернуть демонстрационную базу данных.

5. Разработать структуру запроса в соответствии с поставленной задачей.

6. Произвести оптимизацию запроса (по необходимости).

Bookings

Бронирования

# book_ref

* bookdate "total amount

Tickets

Билеты

* ticket_no

* bookref

* passengerjd

* passenger_nanie ° contact data

Ticket Jilghts

Перелеты

# ticket_no

# flightjd

* fare_conditions

* amount

Воа гсЛпд_ра55е£

Посадочные талоны

# ticket_no

# flightjd

* baarding_no

* seat no

Airports

Аэропорты

* airport_code

* airportjname

* city

* coordinates

* timezone

11

Flights

Рейсы

* flightjd

* flight_no

* scheduled_departure

* scheduled_arrival

* departure_airport

* arrivalairport

* status

* aircraft_code

0 actual_departure ° actual arrival

A i rc rafts

Самолеты

# aircraft code

* model

* range

Seats

Места

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

# aircraft code

# seat no

" fare conditions

Рис. 1. Схема демонстрационной базы данных «Авиаперевозки по России»

Практическая реализация алгоритма

I. Диаграмма схемы данных

Кроме сущностей, представленных на рис. 1, база данных имеет четыре представления:

- airports (характеристика аэропортов);

- flights_v (дополнительная информация о полетах);

- routes (содержит метаданные таблицы Fights);

- aircrafts (характеристики самолетов).

II. Развертывание базы данных Демонстрационная база данных распространяется в

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

DROP DATABASE AirTransportation|;

д—

— Name: AirTransportation; Type:

ществующая база данных demo будет удалена и создана заново. Если имеется необходимость развернуть базу данных по полетам под другим именем, то это можно сделать, открыв в текстовом редакторе SQL-скрипт и подкорректировать сценарий скрипта, как показано на рисунке 2, где произведена замена demo на AirTransportation.

Для развертывания базы данных необходимо воспользоваться терминальным клиентом для PostgreSQL — psql [8]. Стандартное использование графической среды pgAdmin для выполнения SQL-скрипта будет бесполезным. Это вызвано большим набором хранимых данных.

17

18

19

20 21 22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

2290678

2290679

DATABASE; Schema: Owner: -

CREATE DATABASE AirTransportation;

\oonnect AirTransportation

SET statement_timeou.t = ; SET lock_timeout = I;

SET idle_in_transaction_session_timeou.t = ™ ;

SET client_encoding = 'UTF8';

SET standard conforming strings = on;

SET check_function_bodies = false;

SET client_min_messages = warning;

SET row security = off;

g—

— Name :

bookings; Type: SCHEMA; Schema: -; Owner: -

CREATE SCHEMA bookings ;

g—

— Name :

SCHEMA bookings; Type: COMMENT; Schema: -; Owner:

COMMENT ON SCHEMA bookings IS 'Airlines AirTransportation database schema' ALTER DATABASE AirTransportation SET search_path. = bookings, public ; ALTER DATABASE AirTransportation SET bookings.lang = ru;

Рис. 2. Замена названия базы данных

Процесс развертывания базы данных осуществляется в несколько действий:

1. Запуск командной строки и переход в папку, содержащую интерактивный терминал (рис. 3).

2. Настройка параметров psql и запуск процесса развертывания базы данных (рис. 4).

3. Просмотр базы данных через графический интерфейс pgAdmin4 (рис. 5).

Командная строка

Microsoft Windows [Version 10.0.14393]

(с) Корпорация Майкрософт (Microsoft Corporation), 2016.

□ X

Все права защищены.

C:\Users\HliHfl>ccl C:\Program Files\PostgreSQL\ll\bin C:\Program Files\PostgreSQL\ll\bin>_

Рис. 3. Переход к терминалу psql

Командная строка

X

Microsoft Windows [Version 10.0.14393]

(с) Корпорация Майкрософт (Microsoft Corporation), 2016. Все права защищены. C:\Users\lfoiHfl>cd C:\Program Files\PostgreSQL\ll\bin

C:\Program Files\PostgreSQL\ll\bin>psql.exe -h 127.0.0.1 -L postgres -f C:\demo-small.sql SET

DROP DATABASE CREATE DATABASE

Вы подключены к базе данных "demo" как пользователь "postgres".

Рис. 4. Процесс развертывания базы данных

> Materialized Views

> {j) Procedures

> il Sequences

> H aircrafts_data

> H airports_data

> В boarding.passes

> ЕЭ bookings

> H flights

> H seats

> Bticketjights

> Stickets

flightid j flightjio j [PK|integer character*) 1 1185 PGD134 scheduled_departure ^ schedulecLairival timestamp with time zone timestamp with time zone 2017-09-10 09:50:00*03 2017-09-1014:55:00+03 departure_airport^ anivaLairport ^ character (3) character (3) DME BTK status aircrafLcode character varying (20) character (3) Scheduled 319

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

2 3979 PG0052 2017-08-2514:50:00+03 2017-08-2517:35:00+03 VKO HMA Scheduled CR2

3 4739 PG0561 2017-09-0512:30:00+03 2017Ю9Ю514:15:00+03 VKO AER Scheduled 763

4 5502 PG0529 2017-09-12 09:50:00+03 2017-09-1211:20:00+03 SVO UFA Scheduled 763

5 6938 PG0461 2017-09-0412:25:00+03 2017-09-0413:20:00+03 SVO ULV Scheduled SU9

6 778+ PG0667 2017-09-1015:00:00+03 2017-09-1017 30:00+03 SVO KRO Scheduled CR2

7 9478 PG0360 8 11085 PG0569 2017-08-28 09:00:00+03 2017-08-2811:35:00+03 2017-08-2415:05:00+03 2017-08-2416:10:00+03 LED REN svx sew Scheduled CR2 Scheduled 733

9 11847 PG0498 2017-09-1210:15:00+03 2017-09-1214:55:00+03 KZN IKT Scheduled 319

Рис. 5. Развернутая база данных

III. Разработка алгоритма выполнения задачи

1 этап. Определение вспомогательных данных. Для получения результата, удовлетворяющего запрос, работа будет проводиться со следующими данными:

- Аэропорт отравления (departure_airport);

- Аэропорт прибытия (атта1_а1гро11);

- Актуальное время отправления (асШа^ерагШге);

- Уникальный идентификатор пассажира (ра88е^ег^; выбран именно идентификатор, а не ФИО на тот случай, если у пассажиров одинаковое ФИО);

- Номер бронирования (Ьоок_ге1).

2 этап. Интеграция данных в результирующую таблицу. Ответ на запрос будет представлен в дополнительно сформированной таблицы. Соответственно, перед добавлением запрошенных данных необходимо удалить эту таблицу на тот случай, если данный запрос уже был реализован относительно конкретной базы данных. После чего необходимо объявить создание этой таблицы. Определенная для запроса таблица представлена на рисунке 6.

Тип полей таблицы агг ёвраН и агг_агп>а1 определен как текстовый массив. В каждой ячейке этих полей будет интегрироваться по два значения — аэропорта отправления и аэропорта прибытия соответственно. Поле dat определено как массив дат. В ячейках этого поля будут инте-

грироваться даты отправления из двух городов. Тип поля lim определен как числовой. В ячейках этого поля будет рассчитываться разница между датой отправления из одного аэропорта и датой отправления из другого аэропорта.

out table

arr_depart text[]

arr_arival text[]

dat date[]

lim integer

Рис. 6. Выходная таблица запроса

Интеграция данных из нескольких таблиц реализуется по схеме, приведенной на рисунке 7.

Рассмотрим две ситуации: бронирование билетов «туда-обратно» и бронирование билетов до пункта назначения через пересадочный пункт.

Рис. 7. Схема объединения данных из нескольких таблиц

Ситуация 1. Пассажиры, совершающие бизнес-поездки, одним разом бронируют два билета. Номер брони для билета с маршрутом из пункта А в пункт B и билета с маршрутом из пункта B в пункт A будет одинаковый. Результат выборки будет группироваться (GROUP BY) относительно уникального идентификатора пассажира с условием (HAVING COUNT), что в оформленных им билетах количество одинакового номера бронирования равно 2. Соответственно, каждому такому пассажиру в базе данных будут присущи два аэропорта отправления, два аэропорта прибытия и две даты отправления (табл. 1).

Таблица 2

Представление данных

Таблица 1

Аэропорт отправления Аэропорт прибытия Дата отправления

Пассажир Пункт А Пункт В Дата отправления из аэропорта А

Пункт В Пункт С Дата отправления из аэропорта В

Представление данных

\ Аэропорт отправления Аэропорт прибытия Дата отправления

Пассажир Пункт А Пункт В Дата отправления из аэропорта А

Пункт В Пункт А Дата отправления из аэропорта В

Ситуация 2. Рассмотрим вторую ситуацию, когда пассажир за один раз бронирует два билета на рейсы: из пункта А в пункт В и из пункта B в пункт С. В такой ситуации пункт В будет являться пересадочным пунктом по пути в пункт С. В таком случае результат выборки (в соответствии с таким же алгоритмом, описанным для первой ситуации) будет иметь общий вид данных, представленных в таблице 2.

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

3 этап. Выборка требуемых по условию данных. После заполнения выходной таблицы сгруппированными и отобранными согласно условия данными стоит задача подсчитать разницу между датами отправления из двух пунктов (данные, хранящиеся в массивах поля dat) для каждого пассажира. Эта разница заносится в поле lim. После чего выходная таблица становится полностью заполненной и содержит все необходимые данные для получения ответа на поставленную задачу.

Таблицу 3 можно назвать фрагментом истинного результата, удовлетворяющего запросу. Именно такая совокупность фрагментов будет подвергаться подсчету с последующей сортировкой и выделением тройки пар аэропортов. Выбор данного фрагмента основывается на том, что в соответствии с указанными аэропортами отправления, аэропорты прибытия должны иметь обратный порядок (т. е. ситуация 2 не подходит) при условии разницы между датами отправления не более 5 дней.

В скрипте это реализовано проверкой элементов массива arr depart и arr arival и проверкой полученного результата в ячейках поля lim.

Таблица 3

Данные, удовлетворяющие условию задачи

Аэропорты отправления Аэропорты прибытия Разница между датами отправления

[Пункт А, Пункт В] [Пункт B, Пункт A] <=5

После получения фрагментов, подобных представленным в таблице 3, необходимо сгруппировать данные, например, по аэропорту отправления и определить огра-

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

IV. Код запроса

Код запроса для решаемой задачи имеет вид, представленный на рисунке 8.

Последовательность действий, выполняемых при запуске кода запроса, представлена на рисунке 9.

drop table out table

create table out table { arr_depart text[], arr_arrival text[], dat date [ ], lim integer

);

insert into out table (arr depart, arr arrival, dat] select

array_agg(departure_airport) as arr_depart, array_agg(arrival_airport) as arr_arrival, array_agg(cast(actual_departure as date)) as dat FROM flights

right join ticket_flights on ticket_flights.flight_id = flights.flight_id right join tickets on tickets.ticket_no = ticket_flights.ticket_no group by tickets.passenger id having count{tickets.book ref) = 2 order by dat

update out_table

set lim = abs(out_table.dat[2] - out_table.dat[1]}

select count (out_table . arr_depart) as num., out_~able. arr_depart from out_table

where lim <= '5' and [{arr depart[1]=arr arrival[2] and arr depart[2]=arr arrivalll])) group by out_table.arr_depart order by nura desc limit 3

Рис. 8. Код запроса для решаемой задачи

Создание выходной таблицы

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

Обновление таблицы рассчитанной разницей между датами отправления из аэропортов

Подсчет числа полетоЕ

«туда-обратно» с разницей не более 5

Рис. 9. Последовательность действий, выполняемых при запуске кода запроса

V. Результат выполнения

Городами, между которыми чаще совершаются поездки «туда-обратно» со сроком обратно не более 5 суток являются:

1. Москва (код аэропорта: 8УО; аэропорт Шереметьево) - Екатеринбург (код аэропорта: 8УХ; аэропорт Кольцово);

2. Москва (код аэропорта: 8УО; аэропорт Шереметьево) - Новосибирск (код аэропорта: ОУБ; аэропорт Толмачево);

3. Новосибирск (код аэропорта: ОУБ, аэропорт Толмачево) - Москва (код аэропорта: БМБ; аэропорт Домодедово).

Выходная таблица содержит коды аэропортов, которые нужно расшифровать и предоставить информацию не только о названии аэропорта, но и о городе, в котором аэропорт расположен. Для этого необходимо сделать запрос к сущности airports_data, которая хранит данные об аэропортах и городах их расположения. Код запроса представлен на рисунке 10.

Результат выполнения кода запроса показан на рисунке 11, расшифровка кодов аэропортов приведена на рисунке 12.

Как видим, решение приведенной задачи поможет сотрудникам авиакомпании правильно расставить приоритеты между аэропортами городов, между которыми выполняются перевозки.

select airports_data.city, airports_data.airport_name, airports_data.airpart_code from airports_data

where airports_data.airport_code = 'SVO' or airports_data.airport_code = 1 SVXT or airports_data.airport_code = 'OVB'or airports_data.airport_code = 'DME'

Рис. 10. Код запроса данных об аэропортах

Рис. 11. Выходная таблица

А City jsonb airport_name jsonb airport_code ~ [PK] с ha racier (3)

1 {"en": 'Yekaterinburg",'ru': Екатернбург"} {'en': 'КоItsovoAirport", 'ru': 'Кольцово"} SVX

г {"en": 'Moscow", "ru': "Москва"} {'en : "Sheremetyevo International Airport", "ru": 'Шереметьево"} SVO

г {"en": 'Moscow", "ru': "Москва"} {'en : 'Domodedovo International Airport', "iu": 'Домодедово"} DME

4 {"en": 'Novosibirsk", "ш": 'Новосибирск'} {'en': "Tolmachevo Airport", "ru": "Толмачёво"} OVB

Рис. 12. Расшифровка кодов аэропортов

Заключение

В статье поставлена задача, корректное решение которой с использованием интеграции может быть полезным для структурных подразделений. В частности, решение конкретной прикладной задачи поможет маркетологам-аналитикам авиакомпании правильно расставить приоритеты между аэропортами городов, которые в первую очередь нуждаются в поддержании или повышении высокого уровня компетентности организации. Полученный результат отвечает на поставленную задачи, доказывает корректность и правильность предложенного способа реализации.

ЛИТЕРАТУРА

1. Шуремов Е. Л. Информационные ресурсы: классификация, источники, поставщики. Коротко о главном. -М.: Издательские решения, 2017. — 160 с.

2. Когаловский М. Р. Методы интеграции данных в информационных системах [Электронный ресурс]. — М.: б/и, 2010. — 9 с.

URL: http://www.ipr-ras.ru/articles/kogalov10-05.pdf (дата обращения 10.11.2019).

3. Черняк Л. С. Интеграция данных: синтаксис и семантика // Открытые системы. СУБД. 2009. № 10. С. 24-29.

4. What is Data Integration? // Big Data Articles / Datamation. URL: http://www.datamation.com/big-data/what-is-data-integration.html (дата обращения 10.11.2019).

5. Демонстрационная база данных // Компания Postgres Professional. URL: http://postgrespro.ru/education/demodb (дата обращения 05.11.2019).

6. What PostgreSQL has over other open source SQL databases: Part I // Compose Articles. URL: http://www.compose.com/articles/what-postgresql-has-

over-other-open-source-sql-databases (дата обращения 01.11.2019).

7. Бьюли А. Изучаем SQL = Learning SQL / Пер. с англ. Н. Шатохиной. — СПб.: Символ-Плюс, 2007. — 312 с.

8. Моргунов Е. П. PostgreSQL. Основы языка SQL: Учебное пособие / Е. П. Моргунов; Компания Postgres Professional; под ред. Е. В. Рогова, П. В. Лузанова. — СПб.: БХВ-Петербург, 2018. — 336 с.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

9. Базы данных: Учебник для высших учебных заведений / А. Д. Хомоненко, В. М. Цыганков, М. Г. Мальцев;

под ред. А.Д. Хомоненко. — 6-е изд., доп. — СПб.: КОРОНА-Век, 2009. — 736 с.

10. Основы технологий баз данных: Учебное пособие / Б. А. Новиков, Е. А. Горшкова; под ред. Е. В. Рогова. — М.: ДМК Пресс, 2019. — 240 с.

11. Уорсли Дж. PostgreSQL для профессионалов / Дж. Уорсли, Дж. Дрейк; пер. с англ. Е. Матвеева. — СПб.: Питер, 2003. — 496 с. — (Для профессионалов).

Logical Data Integration on the Example of Organizing Queries to the Database Air Transportation

Master's Degree student Yu. S. Fomenko, Master's Degree student R. Abou Hasan Emperor Alexander I Petersburg State Transport University St. Petersburg, Russia kosmonavt.98@mail.ru, ragheb 1997@yandex.ru

Abstract. The process of data integration can be considered both at the global level - data integration from some sources and at the local level - data integration inside the one system handling of applied problems. The article presents a brief theoretical science for application integration and data integration. The applied subject area and the "testing ground" for integration are described. The relevance of solving the problem of data integration is justified. The marketing and technical statements of the problem are given. The scheme of data integration for the problem is presented, its solution is completed.

Keywords: data integration, database, information systems, query, PostgreSQL.

References

1. Shuremov Ye. L. Information resources: classification, sources, providers. Briefly about the main [Informatsionnye resursy: klassifikatsiya, istochniki, postavshchiki. Korotko o glavnom], Moscow, Publishing Solution Publishing House, 2017, 160 p.

2. Kogalovsky M. R. Data integration methods in information systems [Metody integratsii dannykh v infor-matsionnykh sistemakh], Moscow, 2010, 9 p. Available at: http://www.ipr-ras.ru/articles/kogalov10-05.pdf (accessed 10 Nov 2019).

3. Chernyak L. S. Data integration: syntax and semantics [Integratsiya dannykh: sintaksis i semantika], Open systems. DBMS [Otkrytye sistemy. SUBD], 2009, No. 10, Pp. 24-29.

4. What is Data Integration? Datamation. Available at: http://www.datamation.com/big-data/what-is-data-integration.html (accessed 16 Nov 2019).

Grand PhD, Prof. A. D. Khomonenko Emperor Alexander I Petersburg State Transport University A. F. Mozhaisky Military Space Academy St. Petersburg, Russia khomon@mail. ru

5. Demonstration database [Demonstratsionnaya baza dannykh], Postgres Professional [Kompaniya Postgres Professional]. Available at: http://postgrespro.ru/education/ demodb (accessed 1 Nov 2019).

6. What PostgreSQL has over other open source SQL databases: Part I, Compose Articles. Available at: http://www.compose.com/articles/what-postgresql-has-over-other-open-source-sql-databases (accessed 10 Nov 2019).

7. Beaulieu A. Learning SQL [Izuchaem SQL], St. Petersburg, Symbol Plus Publishers, 2007, 312 p.

8. Morgunov E. P. PostgreSQL. Base SQL language [PostgreSQL. Osnovy yazyka SQL: Uchenoe posobie], St. Petersburg, BHV-Petersburg Publishing House, 2018, 336 p.

9. Khomonenko A. D., Tsygankov V. M., Maltzev M. G. Database: Textbook for universities [Bazy dannykh: Uchebnik dlya vysshykh uchebnykh zavedeniy], St. Petersburg, Korona-Vek Publishing House, 2009, 736 p.

10. Novikov B. A., Gorshkova E. A., Database technology basics: Study guide [Osnovy tekhnologiy baz dannykh: Uchebnoe posobie], Moscow, DMK Press Publishers, 2019, 240 p.

11. Worsley J. C., Drake D. J. Practical PostgreSQL [PostgreSQL dlya professionalov], St. Petersburg, Piter Publishing House, 2003, 496 p.

HHmmneKmyaxbHbie техноnогии Ha mpaHcnopme. 2019. № 4

47

i Надоели баннеры? Вы всегда можете отключить рекламу.