34 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Основы работы с DbForge Studio – инструментом для работы с MySQL

Основы работы с DbForge Studio – инструментом для работы с MySQL

Использование баз данных становится сегодня неотъемлемой составляющей деятельности любой организации. В этой связи большую актуальность приобретает освоение принципов построения и эффективного использования систем управления базами данных [5, 6]. Дисциплина «База данных» направлена на изучение и практическое освоение методов проектирования, создания баз данных и их последующей эксплуатации.

Важной составляющей в организации учебного процесса при преподавании дисциплины «База данных» является выбор программного обеспечения для управления и создания баз данных [4]. Для работы с базами данных сегодня существует большое число программ: MSOfficeAccess, Paradox, dBase, FoxPro… Безусловно, в каждой из них есть свои достоинства, но есть и недостатки.

Наиболее популярной СУБД при преподавании дисциплины «База данных» является MSAccess [1]. Ее достоинства: простой графический интерфейс; большое количество мастеров, которые выполняют основную работу за пользователя при работе с данными и разработке приложений; ориентированность на пользователя с разной профессиональной подготовкой; широкие возможности по импорту/экспорту данных в различные форматы; наличие развитых встроенных средств разработки приложений; наличие встроенного языка макрокоманд. Недостатки: ограничены возможности обеспечения многопользовательской среды; в ранних версиях (до Access 2003) отсутствуют такие средства, как триггеры и хранимые процедуры; несложные способы защиты с использованием пароля базы данных; в вопросах поддержки целостности данных отвечает только моделям баз данных небольшой и средней сложности; кроме того, MSAccess не распространяется бесплатно.

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

Одним из современных гибких профессиональных инструментов для работы с MySQL является программа dbForgeStudioforMySQL. С ее помощью автоматизируется проектирование и администрирование баз данных, ввод и редактирование таблиц, создание и выполнение SQL-скриптов, триггеров, запросов. Кроме того, программа dbForgeStudioforMySQL является бесплатной для некоммерческого использования, что, например, облегчает применение ее студентами при выполнении самостоятельной работы вне учебного заведения.

Рассмотрим особенности применения инструмента dbForgeStudioforMySQL при преподавании дисциплины «База данных». Первоначально студенты знакомятся с основными возможностями данной программы [3]. Им предлагаются несложные задания по разработке баз данных, установлению связей между таблицами, наполнению создаваемых баз данных информацией, а также созданию запросов и триггеров. Далее каждый студент выполняет индивидуальное задание по разработке своей базы данных [2].

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

1. Например, стандартной является задача о зачислении абитуриентов на бюджетные места в институт. Абитуриенты сдают экзамены на один или несколько факультетов вуза. Известно расписание экзаменов: дата, предмет экзамена, факультет, на который экзамен сдается. На экзаменах абитуриенты получают оценки. По каждому абитуриенту хранятся некоторые данные, в частности, номер и дата выдачи аттестата. Необходимо создать три таблицы, представляющие собой модель предметной области:

Абитуриенты (Номер абитуриента, Фамилия, Имя, Отчество, Номер аттестата, Дата выдачи аттестата).

Экзамены (Код экзамена, Предмет, Дата проведения экзамена, Тип экзамена, Факультет).

Оценки (Код экзамена, Номер абитуриента, Оценка).

Установить связи между таблицами. Заполнить каждую таблицу записями (не менее 10).

2. Создать следующие запросы:

· Вывести всю возможную информацию об экзаменах, проводимых в вузе.

· Получить фамилии, имена и номера студентов, которых зовут Александр или Александра. Учесть, по возможности, что имя может быть набрано с ошибками или с ведущими пробелами (?).

· Какие абитуриенты получили больше других пятерок?

· Какие абитуриенты сдали математику лучше, чем в среднем сдали различные предметы абитуриенты, поступающие на ВМК?

· По каким предметам проводилось меньше экзаменов, чем по другим?

· Какие абитуриенты сдали все экзамены, которые есть в расписании?

· Найти экзамены, которые пока никто не сдавал.

Следует отметить, что процесс разработки баз данных с помощью инструмента dbForgeStudioforMySQL является более наглядным, что весьма важно при изучении дисциплины «База данных». Так, например, здесь существует два способа конструирования базы данных, создания таблиц базы данных – визуальный способ и способ на основе скрипта [7]. Конечно, на первом этапе разрабатывать базы данных с использованием только SQL-скрипта студентам будет весьма проблематично, в этой связи для начала предпочтительнее использовать визуальный способ разработки. Но, в отличие от MSAccess, в процессе визуального конструирования базы данных в dbForgeStudioforMySQL студент может одновременно наблюдать за изменениями SQL-скрипта, который генерируется программой автоматически, т.е. все, что студент создает визуально, сразу же переводится на язык SQL и отображается в отдельном окне. Так, уже на первом этапе работы с базами данных студенты могут ознакомиться с основными командами SQL. Постепенно, работая с базами данных, студенты запоминают основные команды и в дальнейшем могут самостоятельно записывать SQL-скрипты и выполнять их. Таким образом, все действия пользователя переводятся на язык SQL, что весьма полезно начинающим пользователям.

Читать еще:  Как восстановить удаленный драйвер звука?

Рассмотрим процесс создания таблицы «Abiturient». Укажем название таблицы, названия необходимых полей, их типы, размеры, определим ключевое поле таблицы.

Рис. 1. Скрипт создания таблицы «Abiturient» базы данных

Код создания таблицы сразу же отображается в окне скрипта – все действия переводятся на язык SQL. Вносить изменения в окне скрипта нельзя, однако можно перейти по кнопке «Скрипт изменений», и уже после этого код создания таблицы становится доступным для редактирования.

Аналогично, визуально или с помощью скрипта, можно создать остальные таблицы «ekzamen» и «ocenki» базы данных.

Для создания связей между таблицами в ограничениях таблицы «ocenki» следует создать первый внешний ключ, ссылаясь на столбец – первичный ключ «nomer_abit» таблицы «abiturient», и второй внешний ключ, ссылаясь на столбец – первичный ключ «Kod_ekz» таблицы «ekzamen».

Для просмотра установленных связей необходимо выбрать во вкладке «База данных» пункт «Связанные таблицы» и перетащить из проводника необходимые для отображения таблицы.

Рис. 2. Связанные таблицы

В dbForgeStudio также существует весьма интересная и полезная операция по созданию запросов. Создавать запросы можно визуально или с помощью скрипта.

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

Рис. 3. Разработка запроса

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

Новому пользователю могут принадлежать все права, все права на все базы данных, права на создание и обратное проектированию любой БД, права создавать учетные записи и сбрасывать пароли, минимальный набор прав для мониторинга сервера и т.д. Новый пользователь может быть наделен объектными привилегиями, т.е. выбираются объекты (конкретные таблицы, базы данных) и для них определяются привилегии: Select, Delete, Insert, Update, Create.

Рассмотрим процесс наделения пользователя объектными привилегиями.

Добавим нового пользователя user 1. В качестве объектных привилегий выберем для него таблицу test и привилегию – Select.

В этом случае, кроме операции Select, пользователю user 1 будет невозможно выполнять иные операции. Например, нельзя будет удалить какие-либо записи, так как данному пользователю будет доступна только команда SELECT (а не DELETE).

Для добавления дополнительных привилегий необходимо снова зайти в Менеджер безопасности и выбрать в правом столбце нужную команду, например, DELETE:

Рис. 4. Наделение пользователя объектными привилегиями

Программа dbForgeStudioforMySQL имеет удобный графический интерфейс, может использоваться пользователями с разной профессиональной подготовкой. Многие операции в данной программе, выполняемые визуально, понятны на интуитивном уровне, что облегчает ее применение начинающими пользователями. Кроме того, dbForgeStudio предоставляет широкие возможности по импорту/экспорту данных в различные форматы, по работе с триггерами, администрированию баз данных.

Таким образом, dbForgeStudioforMySQL может успешно применяться для обучения студентов дисциплине «Базы данных».

dbForge Studio для работы c MySQL

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

dbForge Studio – инструмент с графическим интерфейсом для администрирования и разработки баз данных MySQL. Функционал программы включает в себя возможность для проектирования баз в визуальном режиме, гибко управляя структурой, объектами, пользователями и привилегиями. Так же предоставляет возможность отладки хранимых процедур, ускоренной синхронизации структур и данных.

Давайте рассмотрим основные функциональные возможности вкратце, за более детальной информацией вы можете обратиться на сайт проекта, ссылка будет в конце поста.

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

Сравнение и синхронизация баз данных
На случаи необходимости dbForge Studio умеет синхронизировать и делать сравнение баз данных. Стоит отметить, что подобного рода задачи всегда были рутинным делом, однако функционал данной программы позволяет сделать работу подобного рода более эффективной.
Кратко по данному функционалу:
1. Быстрое сравнение схем и данных MySQL с помощью инструментов синхронизации БД MySQL
2. Удобное отображение отличий, группировка и фильтрация
3. Несколько путей синхронизации

Читать еще:  Java 8 и паттерн Стратегия

Визуальный дизайнер запросов
Посредством удобного редактора выражений есть возможность создавать запросы визуально. Удобно это тем, что при освоении данного функционала в последующем это в значительной степени может сэкономить время на составление запросов любой сложности. В автоматическом режиме приложение соединяет таблицы, дает возможность оперировать такими выражениями как INSERT, UPDATE, DELETE.

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

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

Дизайнер баз данных, дизайнер таблиц
Благодаря дизайнеру баз данных проектирование становится более наглядным, что в свою очередь помогает четко расставить всё по своим полочкам при проектировании. Этому способствует возможность использования множества элементов визуализации, направленные показать связи между таблицами, отображение объектов баз данных, а так же их свойств.

Импорт/экспорт баз данных
Данный функционал позволяет экспортировать данные из таблиц, и представлений вашей базы данных MySQL. С таким же успехом есть возможность импортировать данные, которые были экспортированы ранее. Экспорт данных может производиться в разных форматах. Процесс экспорта и импорта гибко настраивается благодаря множеству опций.

Резервные копии
С помощью мастера резервного копирования есть возможность создавать бэкапы баз данных MySQL. Опционально можно выбрать один из пяти уровней сжатия файлов. Для экономии места программа так же умеет удалять старые резервные копии, освобождая тем самым место под новые бэкапы.

Основы работы с DbForge Studio – инструментом для работы с MySQL

Некоторое время назад я начал пользоваться dbForge Studio for MySQL, программа оказалась очень неплохой, с бесплатной версией для некоммерческого использования и интересными возможностями, о которых я и хочу рассказать. Кроме того, разработчики пошли на встречу и согласились сделать небольшой подарок для всех читателей этого блога, но о нём в конце статьи.

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

Условно все программы такого типа можно разделить на два класса: с web интерфейсом и без него (десктопные).

Наиболее известным представителем первого класса является phpMyAdmin. Так или иначе, с ним сталкивались практически все web разработчики. Дело в том, что web приложения для администрирования баз (и не только) очень популярны на shared хостингах, т.к. для работы с базой не нужен SSH доступ и довольно легко устанавливать различные ограничения. С точки зрения пользователей тоже есть положительные моменты:

не нужно ничего устанавливать и настраивать на своём компьютере;
получить доступ к базе можно с любого устройства, подключённого к интернет;
в phpMyAdmin реализованы практически все необходимые возможности (просмотр и редактирование данных, поиск, выполнение SQL запросов, экспорт, импорт и т.д.).
Но, как только вы переезжаете на VPS или выделенный сервер, ситуация меняется. И проблемы в использовании web приложений становятся заметнее:

Ограничения времени выполнения и ресурсов скриптов создают проблемы при экспорте/импорте данных. Т.е. для экспорта/импорта больших баз придётся использовать другие инструменты.
Т.к. приложение доступно из интернета, нужно следить за его безопасностью. В случае VPS или выделенного сервера это полностью ваша проблема, а не хостера.
Не получится работать одновременно с несколькими базами данных, расположенными на разных серверах.
Поэтому в таких случаях использовать десктопные приложения гораздо удобнее.

Подключение к базе данных

Тут очень важно, чтобы была возможность подключиться через SSH. Если её нет, то должны быть другие, очень веские причины для использования такого MySQL менеджера. Конечно, вы можете открыть доступ к MySQL серверу снаружи, но при этом придётся обеспечивать его безопасность (например, создавать списки IP адресов, с которых можно к нему подключаться), а это дополнительная работа.

В dbForge подключение через SSH реализовано, нужные настройки находятся на вкладке «Безопасность».

Читать еще:  Как профессиональный интерес украл у меня выходные

Примечание. Скриншоты для этой статьи я сделал с локального сервера, установленного в VirtualBox, поэтому использована аутентификация с помощью пароля. Для рабочих серверов лучше использовать ключи и запретить вход под root’ом.

Под ними я понимаю: просмотр, изменение, удаление и добавление данных, а также поиск. Т.к. CRUD операции реализованы практически одинаково во всех подобных программах, я просто покажу скриншот из dbForge. Вы выбираете нужную таблицу, и программа покажет информацию о таблице и первые 1000 строк данных. Естественно, вы можете использовать постраничную навигацию, редактировать данные, структуру таблицы, создавать индексы и т.п.

Для создания правил фильтрации данных предусмотрен «Конструктор фильтра». Открывается из меню «Данные» -> «Фильтр» -> «Условие. ». Конструктор сделан достаточно удобно, есть календарь для ввода дат, выпадающие списки с перечнем полей таблицы и условиями сравнения.

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

Переходим к более «продвинутым» возможностям.

В dbForge Studio реализовано два режима создания запросов:

редактор SQL;
дизайнер запросов.
Для того чтобы создавать запросы, вы должны хотя бы на базовом уровне знать SQL. В противном случае никакие инструменты вам не помогут. Инструменты могут только сделать работу комфортнее. Например, выделить цветом ключевые слова, добавить отступы и алиасы для таблиц, показать варианты автодополнения. Кстати, автодополнение сделали в dbForge очень удобно (см. скриншот), они сгруппировали списки полей по таблицам.

Дизайнер запросов на первый взгляд очень напоминает аналогичный инструмент в Access. Но всё-таки он ближе к SQL режиму, чем реализация в Access. Это хорошо видно по представлению информации на вкладке «Соединения» (я специально показал её на скриншоте). Формат, в котором представлена связь, практически совпадает с записью в SQL режиме.

Также есть возможность переключиться в SQL режим и обратно.

Ещё одна удобная функция. Вы указываете запрос, а программа вам показывает вывод

Всю эту информацию можно получить с помощью обычных SQL запросов, но dbForge позволяет выбрать несколько результатов и сравнить их. Данные выводятся в соседних колонках (показано на скриншоте), которые можно отсортировать по возрастанию или убыванию.

Этот режим полезен для разработки структуры MySQL баз. Вы можете либо добавлять новые таблицы на диаграмму, создавать поля и устанавливать связи, либо сформировать диаграмму из существующих таблиц. Последний вариант удобно использовать для подготовки документации и статей для блога 🙂

Обратите внимание. При создании связей между таблицами на диаграмме у вас есть возможность получить запрос, который эту связь создаёт. Для этого нажмите кнопку «Скрипт изменений» (показана на скриншоте).

Для данного примера вы получите следующий скрипт:

Сравнение баз данных

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

Результаты сравнения в dbForge Studio выглядят следующим образом

Как видите, в данном случае в БД, которая расположена справа, отсутствует таблица wp_td_terms и используется движок MYISAM вместо INNODB.

Также можно сравнить и содержимое баз.

Резервное копирование и восстановление данных

Ради эксперимента я создал копию базы размером около 800 МБ. Процесс прошел довольно быстро и без ошибок. При создании копии можно указать множество настроек, например, заблокировать таблицы и т.п.

При восстановлении нужно только правильно указать кодировку дампа.

Также есть возможность экспорта данных в разные форматы, вроде CSV и XML.

Это ещё одна возможность, которая сильно напомнила Access. Отчеты создаются с помощью мастера, который предлагает либо использовать существующие таблицы, либо создать запрос. Также предлагается выбрать вариант оформления, группировку и сортировку. После завершения работы мастера открывается дизайнер отчета в котором можно сделать окончательные настройки.

Результат можно распечатать или экспортировать в один из поддерживаемых форматов (HTML, XLS, JPEG, PDF).

В этом обзоре я останавливался в основном на возможностях, которые показались мне наиболее интересными, и доступны в версии для некоммерческого использования. А вообще dbForge распространяется в трёх редакциях: Express, Standard и Professional, которые отличаются ценой и набором поддерживаемых функций. Сравнить их можно здесь. При этом использование любой из версий упрощает MySQL разработку.

голоса
Рейтинг статьи
Ссылка на основную публикацию
Статьи c упоминанием слов: