Тип работы:
Предмет:
Язык работы:


Разработка инструментов системы Eclipse для создания приложений базы данных на основе PostgreSQL

Работа №59380

Тип работы

Бакалаврская работа

Предмет

информационные системы

Объем работы56
Год сдачи2017
Стоимость4770 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
67
Не подходит работа?

Узнай цену на написание


ВВЕДЕНИЕ 6
1 Анализ требований к продукту 8
1.1 Обзор СУБД PostgreSQL 8
1.2 Проблемы разработки для PostgreSQL 9
1.3 Требования к инструменту разработки под PostgreSQL 10
1.3.1 Чтение SQL-кода 11
1.3.2 Получение схемы с сервера БД 12
1.3.3 Запись SQL-кода 12
1.3.4 Чтение сохраненного проекта 13
1.3.5 Сравнение схем БД 13
1.3.6 Обновление проекта 13
1.3.7 Миграция различий на сервер БД 14
1.3.8 Обработка зависимостей 14
1.4 Анализ сторонних инструментов разработки 15
1.5 Выбор технологии для создания продукта 16
1.5.1 Java 16
1.5.2 Eclipse Platform 16
1.5.3 SWT/JFace 17
1.5.4 Генератор парсеров ANTLR 4 18
1.5.5 Библиотека JGraphT 19
1.5.6 Драйвер JDBC для PostgreSQL 19
1.6 Вывод по главе «Анализ» 19
2 Архитектура проекта 21
2.1 Модуль «ядро» 21
2.1.1 Пакет schema 21
2.1.2 Пакет parsers.antlr 22
2.1.3 Пакет loader ..
2.1.4 Пакет difftree 23
2.1.5 Пакет exporter 24
2.1.6 Пакет graph 24
2.2 Модуль UI 25
2.2.1 Пакет dbstore 25
2.2.2 Пакет editors 26
2.2.3 Пакет handlers 27
2.2.4 Пакет pgdbproject 27
2.2.5 Пакет prefs 28
2.3 Жизненный цикл работы продукта 28
2.3.1 Создание проекта 28
2.3.2 Внесение изменений в проект 29
2.3.4 Внесение изменений на сервер БД 30
2.4 Вывод по главе «Архитектура» 31
3 Практическая реализация 32
3.1 Классы и алгоритмы 32
3.1.1 Модель схемы БД 32
3.1.2 Парсер SQL-кода 33
3.1.3 JDBC загрузчик 35
3.1.4 Дерево различий 36
3.1.5 Экспорт проекта 36
3.1.6 Диалог реквизитов БД 37
3.1.7 Редактор проекта 38
3.2 Вывод по главе «Реализация» 39
ЗАКЛЮЧЕНИЕ 40
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 41
ПРИЛОЖЕНИЕ

В наше время сложно представить производство, обходящееся без использования систем управления базами данных (СУБД). Они используются повсеместно для хранения данных и управления потоками информации, будь то информация о заказах, клиентах, работниках и т. д.
Сложность хранимой информации, количество взаимосвязей между объектами данных и сложность процессов обработки растет. По этой причине современные СУБД могут содержать десятки тысяч различных объектов, обрабатывающих и хранящих данные организации.
Разумеется, подобные системы требуют обслуживания, разработки, доработки под обновляющиеся нужды, поддержки со стороны разработчиков БД. Для эффективной работы этим людям необходимы инструменты, которые обеспечат им удобство разработки сравнимое с другими областями и языками программирования, как например на языках C# или Java.
Другим фактором разработки для СУБД является их стоимость. Лицензии для коммерческих СУБД стоят немалых денег [1], даже для больших компаний. И это, конечно, побуждает к поиску решений в области свободного ПО.
Одно из таких решений - PostgreSQL. Постоянно развивающаяся, надежная, многофункциональная, соответствующая стандартам СУБД завоевывает все большую популярность. [2]
На стыке этих проблем - необходимости инструментов разработки для набирающей популярность свободной СУБД - и возникла данная работа.
Так, в 2013 году группа компаний «Такси «Максим»» приняла решение о миграции своей IT инфраструктуры на свободное ПО, в частности, уход от использования СУБД MSSQL к СУБД PostgreSQL. Вскоре, руководством и работниками (программистами БД) было замечено отсутствие удобного инструментария для СУБД PostgreSQL, выполняющего некоторые важные
задачи, возникающие в процессе разработки и поддержки базы данных, в частности: версионирования кода объектов схемы базы данных и миграции между их версиями.
Для облегчения, ускорения и улучшения качества работы программистов БД компанией было решено создать собственный инструмент для работы с СУБД PostgreSQL.


Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


В ходе данной работы был спроектирован, реализован и запущен в
эксплуатацию инструмент для разработки баз данных PostgreSQL.
Инструмент решает существующие проблемы разработки:
– дает возможность создавать проекты схем баз данных PostgreSQL,
подобные проектам, создаваемым при разработке на других языках;
– позволяет обходить проблемы с конфликтами зависимостей между
объектами при обновлении схем баз данных.
Тем самым использование данного инструмента повышает
производительность труда программистов БД, повышает удобство и
эффективность их работы.
Продукт получил название “pgCodeKeeper” (хранитель кода
PostgreSQL) и активно используется внутри отдела разработки программного
обеспечения ООО «Технология». Продукт также доступен для внешних
пользователей по адресу http://pgcodekeeper.ru/.
Благодаря использованию мощных технологий синтаксического
анализа, продукт поддерживает большую часть синтаксиса языка SQL,
включая большинство объектов, используемых при создании баз данных
PostgreSQL.
Направления дальнейшего возможного развития продукта:
– добавление поддержки еще не покрытых объектов SQL;
– поддержка новых версий PostgreSQL;
– расширение возможностей редактора кода SQL: интеллектуальное
автодополнение кода, улучшенные переходы по ссылкам на объекты,
улучшенная работа с языками хранимых процедур PL/pgSQL и др.;
– работа с сервером БД напрямую, без использования проекта; внедрение
функционала утилит наподобие pgAdmin.


1) SQL Server—Pricing and Licensing [Электронный ресурс] // Microsoft: [сайт] URL: https://www.microsoft.com/en-us/sql-server/sql-server-2016- pricing (дата обращения: 22.06.2017)
2) DB-Engines Ranking [Электронный ресурс] // DB-Engines: [сайт] URL: https: //db-engines. com/en/ranking (дата обращения: 22.06.2017)
3) PostgreSQL: Documentation: SQL Commands [Электронный ресурс] // PostgreSQL: [сайт] URL: https://www.postgresql.org/docs/9.5/static/sql- commands.html (дата обращения: 22.06.2017)
4) PostgreSQL: Documentation: System Catalogs [Электронный ресурс] //
PostgreSQL: [сайт] URL:
https://www.postgresql.org/docs/9.5/static/catalogs.html (дата обращения:
22.06.2017)
5) JetBrains DataGrip [Электронный ресурс] // JetBrains: [сайт] URL: https://www.jetbrains.com/datagrip/ (дата обращения: 22.06.2017)
6) SQL Source Control [Электронный ресурс] // Redgate: [сайт] URL: http://www.red-gate.com/products/sql-development/sql-source-control/
(дата обращения: 22.06.2017)
7) PostgreSQL: Documentation: CREATE RULE [Электронный ресурс] // PostgreSQL: [сайт] URL: https://www.postgresql.org/docs/9.5/static/sql- createrule.html
8) TIOBE Index [Электронный ресурс] // TIOBE: [сайт] URL:
https://www.tiobe.com/tiobe-index/ (дата обращения: 22.06.2017)
9) Platform [Электронный ресурс] // Eclipsepedia: [сайт] URL:
http://wiki. eclipse. org/Platform (дата обращения: 22.06.2017)
10) EGit [Электронный ресурс] // Eclipse: [сайт] URL:
http://www.eclipse.org/egit/ (дата обращения: 22.06.2017)
11) SWT: The Standard Widget Toolkit [Электронный ресурс] // Eclipse:


Работу высылаем на протяжении 30 минут после оплаты.



Подобные работы


©2025 Cервис помощи студентам в выполнении работ