Модуль взаимодействия с автоматизированной системой расчётов компании ОАО "Мобильные ТелеСистемы"
2.1 Анализ существующих решений для администрирования СУБД
Перед непосредственной работой с существующей базой данных, было решено провести анализ существующих приложения для администрирования СУБД.
phpMyAdmin - веб-приложение с открытым кодом, написанное на языке PHP и представляющее собой веб-интерфейс для администрирования СУБД MySQL. phpMyAdmin позволяет через браузер осуществлять администрирование сервера MySQL, запускать команды SQL и просматривать содержимое таблиц и баз данных. Приложение пользуется большой популярностью у веб-разработчиков, так как позволяет управлять СУБД MySQL без непосредственного ввода SQL команд, предоставляя дружественный интерфейс. Однако необходимость постоянно использовать в работе SQL команды вызывает неудобства, в связи с чем от данного приложения пришлось отказаться. На рисунках 2.1-2.2 представлена программа phpMyAdmin.
Рисунок 2.1 - Интерфейс phpMyAdmin
Рисунок 2.2 - Главное окно phpMyAdmin
Плюсы:
— возможность управлять СУБД MySQL без непосредственного ввода SQL команд;
— как панель управления PHPMyAdmin предоставляет возможность администрирования выделенных БД;
— возможность интегрировать PHPMyAdmin в собственные разработки благодаря лицензии GNU General Public License.
К минусам можно отнести:
- отсутствие AJAX (необходимость перезагрузки страницы после выполнения каждого запроса);
- неудобный редактор SQL запросов;
- в некоторых случаях проблемы с кодировкой (таблиц);
- является WEB-приложением;
- требует наличия навыков администрирования и работы в приложении у сотрудников;
- открытый доступ ко всем таблицам, что дает возможность изменения критически важных данных лицам, доступ которых к данной информации ограничен.
На рисунке 2.3 представлено приложение MySQL Administrator.
Рисунок 2.3 - Главное окно MySQL Administrator
Мощный инструмент администратора, обладающий интуитивным графическим интерфейсом и единой средой для управления базами данных MySQL и их обслуживания. Система предназначена для администрирования сервера, а также может выполнять операции резервного копирования и восстановления информации (как над отдельными, так и над всеми базами, причем есть встроенный планировщик заданий).
Плюсы:
- широкая функциональность и улучшенная система управления;
- визуальное отображение всех операций, позволяющее снизить количество ошибок;
- высокий уровень безопасности, при котором доступ основан на системе привилегий;
- мониторинг динамических процессов, проходящих в базе;
- система восстановления данных;
- многоплатформенность, работает во всех популярных ОС.
Минусы:
- требует наличия навыков администрирования и работы в приложении у сотрудников;
- отсутствие редактора SQL запросов;
- подходит только для работы связанной с обслуживанием сервера;
- отсутствие русской локализации.
На рисунке 2.4 представлено приложение MySQL Query Browser.
Рисунок 2.4 - Главное окно MySQL Query Browser
MySQL Query Browser это графический инструмент, предоставляемый MySQL AB для создания, выполнения и оптимизации запросов в графической среде. Тогда как MySQL Administrator разработан для администрирования MySQL сервера, MySQL Query Browser создан помочь Вам получать и анализировать данные, хранящиеся в Вашей MySQL базе.
Все запросы, выполняемые в MySQL Query Browser, так же могут быть выполнены в консольном приложении mysql, MySQL Query Browser позволяет получать и редактировать данные интуитивно понятным графическим способом. MySQL Query Browser разработан для работы с MySQL версии 4.0 и выше.
Плюсы:
- функциональность, простота и удобство;
- приятный интерфейс;
- возможность выполнения SQL команд;
- подсветка SQL кода.
Минусы:
- требует наличия навыков администрирования и работы в приложении у сотрудников;
- открытый доступ ко всем таблицам, что дает возможность изменения критически важных данных лицам, доступ которых к данной информации ограничен;
- в некоторых случаях проблемы с кодировкой;
- отсутствие русской локализации.
На рисунке 2.5 представлено приложение KMySQLAdmin.
Рисунок 2.5 - Главное окно KMySQLAdmin
Приложение для управления mysql-серверами, написанное с использованием QT и KDE.
Плюсы:
- отображение и редактирование содержимого таблиц в пределах отдельного окна;
- экспорт результатов запроса в другой формат (ASCII, Latex, HTML);
- управление правами пользователей;
- создание баз данных и таблиц;
- изменение таблиц и ключей;
- непрерывный мониторинг состояния сервера и потоков.
Минусы:
- отсутствие русской локализации;
- в некоторых случаях проблемы с кодировкой при экспорте результатов запроса в другой формат;
- требует наличия навыков администрирования и работы в приложении у сотрудников;
- открытый доступ ко всем таблицам, что дает возможность изменения критически важных данных лицам, доступ которых к данной информации ограничен.
На рисунке 2.6 представлено приложение MySQL Navigator.
Рисунок 2.6 - Главное окно MySQL Navigator
MySQL Navigator представляет собой клиентскую программу графического пользовательского интерфейса (GUI) для сервера баз данных MySQL. Назначение MySQL Navigator состоит в обеспечении удобного клиентского интерфейса для серверов баз данных MySQL при поддержке многих операционных систем и языков. В настоящее время можно производить импорт/экспорт базы данных, вводить запросы, получать результирующие наборы, редактировать и запускать скрипты, добавлять, изменять и удалять пользователей и получать информацию о клиенте и сервере. Использует QT.
Плюсы:
- приложение использует QT;
- возможность выполнения SQL команд;
- вывод информации при выполнении процессов;
- вывод информации о клиенте и сервере.
Минусы:
- неудобный интерфейс, излишнее загруженность рабочего пространства приложения;
- отсутствие русской локализации;
- требует наличия навыков администрирования и работы в приложении;
- открытый доступ ко всем таблицам, что дает возможность изменения критически важных данных лицам, доступ которых к данной информации ограничен.
Следующим приложением для анализа было FlashMyAdmin.
Проект по администрированию MySQL, базирующийся на Flash. Позволяет управлять таблицами и базами данных, просматривать и редактировать содержимое таблиц, редактировать структуры таблиц, импортировать/экспортировать (SQL, XML, CSV) данные, поддерживает интернационализацию, есть помощь. На рисунках 2.7-2.8 представлена программа FlashMyAdmin.
Рисунок 2.7 - Главное окно FlashMyAdmin
Рисунок 2.8 - Интерфейс FlashMyAdmin
Плюсы:
- интуитивно понятный интерфейс;
- просмотр видео, аудио и графики внутри интерфейса;
- импорт/экспорт (SQL, XML, CSV).
Минусы:
- использование Flash;
- проблемы с кодировкой;
- отсутствие русской локализации;
- отсутствие возможности выполнения SQL команд;
- требует наличия навыков администрирования и работы в приложении;
- открытый доступ ко всем таблицам, что дает возможность изменения критически важных данных лицам, доступ которых к данной информации ограничен.
Так же было проанализировано приложение MySQL Workbench.
MySQL Workbench - инструмент для визуального проектирования баз данных, интегрирующий проектирование, моделирование, создание и эксплуатацию БД в единое бесшовное окружение для системы баз данных MySQL. Является преемником DBDesigner 4 от FabForce.
MySQL Workbench распространяется под свободной лицензией - Community Edition и с ежегодной оплачиваемой подпиской - Standard Edition. Последняя включает в себя дополнительные возможности, которые способны существенно улучшить производительность, как разработчиков, так и администраторов баз данных. На рисунках 2.9-2.10 представлена программа MySQL Workbench.
Рисунок 2.9 - Главное окно MySQL Workbench
Рисунок 2.10 - Интерфейс MySQL Workbench
Плюсы:
- возможность представить модель БД в графическом виде, а также редактирование данных в таблице;
- наличие простого и функционального механизма по созданию связей между полями таблиц, среди которых реализована связь "многие-ко-многим" с возможностью создания таблицы связей;
- функция Reverse Engineering позволяет восстанавливать структуру таблиц и связей из той, которая была реализована ранее и хранится на сервере БД;
- наличие редактора SQL-запросов, который дает возможность при отправке на сервер получать ответ в табличном виде и другие возможности.
Минусы:
- неудобный интерфейс, излишнее загруженность рабочего пространства приложения;
- наличие большого количества неиспользуемых функций;
- требует наличия навыков администрирования и работы в приложении у сотрудников;
- открытый доступ ко всем таблицам, что дает возможность изменения критически важных данных лицам, доступ которых к данной информации ограничен.
Не у всех рассмотренных программ корректное отображение русских символов (UTF-8) в таблицах базы данных. Каждая из программ имеет свои плюсы и минусы. В качестве сравнения были взяты приложения, использующие разные технологии: php, flash, qt. Стоит отметить, что ни одна из испробованных программ не отвечает необходимым критериям. В связи с этим было решено разработать собственное приложение для работы с MySQL.