146 просмотров
Рейтинг статьи
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 может успешно применяться для обучения студентов дисциплине «Базы данных».

Блог Инструмент для администрирования и разработки в MySQL

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

DbForge Studio for MySQL является универсальным инструментом для работы с MySQL, который даёт возможность администраторам и разработчикам баз данных MySQL отлаживать и разрабатывать процедуры и функции, создавать и выполнять запросы, автоматизировать управление объектами баз данных.

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

DbForge Studio for MySQL поддерживает все версии серверов MariaDB, а также типы данных представленных в MariaDB.

«Умная» среда разработки SQL кода

Полностью печатать код не всегда увлекательно, поэтому в dbForge Studio for MySQL предусмотрено автодополнение кода (дополнение слов, информация об объектах схем, информация о параметрах в хранимых процедурах). Кроме интеллектуального автодополнения кода, инструмент предоставляет настраиваемую подсветку синтаксиса, которая помогает в его проверки и минимизации ошибок.

В итоге, инструмент дополнения кода предоставляет:

  • Подсказка синтаксиса MySQL
  • Мастер форматирования SQL кода
  • Информация об объектах
  • Автоматическая проверка синтаксиса MySQL
  • Подсветка синтаксиса MySQL

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

Читать еще:  Почему скачет пинг в world of tanks?

Использование профилей кода и форматировщик кода

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

Ещё перед началом выполнения кода, его можно исправить. Встроенная проверка синтаксиса кода подсвечивает все ошибки на этапе его написания и предлагает варианты его исправления.

Сравнение и синхронизация баз данных

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

Что предоставляют эти инструменты:

  • быстрое сравнение схем и данных MySQL
  • удобное отражение отличий
  • фильтрация и группировка
  • парочка путей синхронизации
  • «отполированная» удобная функциональность

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

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

Визуальный дизайнер запросов SQL

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

Что включает в себя визуальный дизайнер запросов:

  • диаграмма БД для визуального и простого процесса создания запросов
  • удобный редактор выражений
  • расширенные возможности управления данными

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

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

Дизайнер таблиц

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

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

Импорт/экспорт данных

В набор инструментов dbForge Studio for MySQL входит инструмент импорта и экспорта данных.

  • экспорт данных из баз MySQL в 10 форматов
  • импорт данных в таблицы из 8 форматов
  • понятный инструментарий для настройки импорта/экспорта данных

Особенности импорта данных:

  • Импорт осуществляется из 8 популярных форматов, таких как MS Excel, Text, MS Access, XML, DBF, CSV, ODBC, MS Excel 2007
  • Шаблоны настроек для импорта формата данных
  • Предварительный просмотр импортирования данных
  • Выбор режима импорта: добавление, удаление, перезаполнение, обновление
  • Групповая добавка файлов для импортирования
  • Создание файла отчёта с подробностями импорта

Особенности экспорта данных:

  • Экспорт в 10 популярных форматов: MS Excel, MS Access, HTML, PDF, TXT, RTF, ODBC, XML, DBF, CSV)
  • Шаблоны настроек экспорта данных
  • Выбор столбцов для экспорта
  • Настройка цветов или шрифтов для графических форматов
  • Настройка форматирования для текстовых форматов
  • Настройка страниц для форматирования MS Excel, PDF, RTF
  • Поддержка Unicode

Резервное копирование баз данных

Инструментарий студии даёт возможность создавать резервные копии баз данных MySQL используя 5 уровней сжатия файлов, а также провести настройку резервного копирования.

Администрирования базы данных

dbForge Studio for MySQL предоставляет большой набор инструментов для администрирования и управления базами данных MySQL. Этот набор подходит как для разработчиков так и для администраторов БД. Удобный интерфейс позволяет редактировать привилегии пользователей, восстанавливать данные и управлять учётными записями.

  • управлять учётными записями
  • восстанавливать и резервировать данные
  • изменять серверные переменные
  • обслуживать таблицы базы данных
  • проводить поиск объектов различного типа
  • импортировать/экспортировать данные
  • проводить управление сервисами MySQL

Отладчик MySQL

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

Рефакторинг баз данных

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

  • Переименование объектов с возможностью предварительного просмотра
  • Скрипт рефакторинга
  • Быстрый доступ к возможностям рефакторинга
  • Гибкие возможности для устранения ошибок

Профилировщик запросов

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

Профилировщик предоставляет возможность отказаться от командной строки, когда доходит дело до профилирования. Результаты SHOW PROFILE и EXPLAIN отображаются графически в удобном интерфейсе. Профилировщик запросов автоматически сравнивает переменные STATUS до и после выполнения требуемого запроса.

При оптимизации запросов можно видеть результаты профилирования после внесения изменений. Можно выбрать два результата оптимизаций и подобрать себе подходящий сравнивая их в удобном интерфейсе.

Инструмент анализа и отчётов по данным баз MySQL

dbForge Studio for MySQL значительно облегчает создание отчётов по данным. Если вы часто сталкиваетесь с созданием отчётов, то этот инструмент будет для вас как нельзя кстати.

  • создаёт отчёты в удобном мастере
  • имеет большой выбор настроек
  • в качестве исходных данных позволяет использовать запросы
  • простое редактирование и управление данными в готовом отчёте
  • предварительный просмотр с дополнительными функциями перед печатью
  • экспорт в следующие форматы: txt, jpg, html, xls, pdf
  • возможность создавать сложные отчёты с группировкой данных, метками и связаными таблицами

Заключение

Вот такой вот вышел инструмент. У него много конкурентов в своей нише. Что-то из них лучше, а что-то хуже, но dbForge Studio for MySQL стоит упоминания при своём огромном наборе инструментов. Ещё одним плюсом данного инструмента является то, что его можно получить бесплатно – в этом поможет программа лояльности к пользователям xChange.

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

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

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

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

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

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

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

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

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

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

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

Читать еще:  Книга «Микросервисы на платформе .NET»

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

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

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

Лабораторная работа №5. Визуальная разработка информационной модели и БД (dbForge Studio for SQL Server)

1. Назначение dbForge Studio for SQL Server

dbForge Studio for SQL Server – среда разработки для БД Microsoft SQL Server, создания отчетов по данным, их анализа и основных задач администрирования. Помимо основных функций стандартного менеджера БД (создание, модификация и администрирование БД), в dbForge Studio for SQL Server поддерживаются возможности визуальной разработки БД, характерные для CASE-средств (прямое и обратное проектирование БД, синхронизация схемы БД с самой БД, генерация DDL-скриптов).

Ниже рассматривается некоторые аспекты визуальной разработки БД с использованием dbForge Studio for SQL Server версии 3.5.86. Скачать свободно распространяемую версию для некоммерческого использования (Free Edition) можно по адресу http://www.devart.com/ru/dbforge/sql/studio.

2. Общие сведения об интерфейсе dbForge Studio for SQL Server

Внешний вид главного окна dbForge Studio for SQL Server представлен на следующем рисунке.

Рис. 1. Интегрированная среда dbForge Studio for SQL Server

Проводник БД предназначен для обеспечения доступа к объектам СУБД, таким как базы данных, таблицы, хранимые процедуры, пользователи и т.д. Кроме этого, в проводнике возможен ряд действий по модификации объектов СУБД: выбор данных для просмотра, удаление, инициация создания объекта.

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

– дизайнер диаграмм баз данных (отображение структуры базы данных или ее части; просмотр связей между таблицами базы данных; изменение структуры базы данных);

– дизайнер таблиц (создание новых или модификация структуры имеющихся таблиц; просмотр DDL-скрипта создания таблицы (CREATE TABLE); редактирование данных таблицы; создание или изменение ограничений);

– дизайнер запросов (создание представлений и запросов, включая запросы на выборку, обновление, удаление, создание таблицы, вставку значений и вставку результатов; возврат результатов изменения).

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

3. Создание БД и диаграммы с помощью DDL-скрипта

Для создания БД с помощью DDL-скрипта необходимо выбрать пункт меню «Файл / Создать / SQL». В рабочей области менеджера появиться пустое окно запроса, в которое необходимо скопировать DDL-скрипт создания БД (см. лабораторную работу № 3 «Разработка информационной модели (методология IDEF1X)»).

Рис. 2. Редактор запросов

Перед выполнением скрипта необходимо создать БД или в начало скрипта добавить SQL-оператор (CREATE DATABASE ). Для выполнения скрипта следует выбрать пункт меню «SQL / Выполнить». При успешном создании таблиц БД, они появятся в проводнике БД.

Для создания диаграммы необходимо выбрать пункт меню «Файл / Создать / Диаграмма БД». Далее в проводнике БД необходимо выделить требуемые таблицы (удерживая клавишу Ctrl) и переместить их на диаграмму. Диаграмма примет вид, показанный на рис.1.

Изменить степень детализации отображаемой информации по таблицам, а также нотацию отображения диаграммы (IE или IDEF1X) можно в диалоговом окне «Параметры». Данное окно отображается после выбора одноименного пункта контекстного меню, вызываемого при нажатии правой кнопки мыши в свободном месте на диаграмме.

Рис. 3. Контекстное меню диаграммы

4. Редактирование структуры БД и диаграмм

При работе с дизайнером диаграмм базы данных возможно выполнение следующих действий.

Создание и редактирование таблицы. Для создания новой таблицы и отображения ее на диаграмме необходимо вызвать контекстное меню, нажав правую кнопку мыши в свободном месте на диаграмме, и выбрать пункт «Создать / Таблица».

Рис. 4. Создание таблицы

На вкладке «Общие» можно добавить или удалить столбец (вызвав контекстное меню), указать имена столбцов, их тип, возможность хранения неопределенных (пустых) значений (NULL), принадлежность к первичному ключу (Identity) и значение по умолчанию.

Рис. 5. Вкладка «Общие» свойств таблицы

На вкладке «Ограничения» можно добавить, удалить или редактировать ограничение (вызвав контекстное меню).

Рис. 6. Вкладка «Общие» свойств таблицы

При выборе ограничения для редактирования (модификации) появится диалоговое окно, соответствующее типу ограничения.

Основы работы с 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 разработку.

Основы работы с MySQL Workbench: быстрый старт, управление схемой данных

Веб-разработчик растёт вместе с проектами, которые он создаёт и развивает. С ростом проектов увеличивается сложность программной части, неизбежно возрастает количество обрабатываемых ею данных, а так же сложность схемы данных. Общение с другими вебщиками показывает, что огромной популярностью среди нас пользуются базы данных MySQL, а для управления ими – небезызвестный PHPMyAdmin. Переходя от маленьких проектов к большим, от cms к фреймворкам, многие, как и я, остаются верны MySQL. Однако для проектирования сложной базы данных с большим количеством таблиц и связей, возможностей PHPMyAdmin катастрофически не хватает. Поэтому я решил написать обзор MySQL Workbench – замечательной бесплатной десктопной программы для работы с MySQL.

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

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

Должен сказать, что программа действительно великолепная. Она позволяет быстро и с удовольствием накидывать схемы данных проекта, проектировать сущности и связи между ними, безболезненно внедрять изменения в схему и так же быстро и безболезненно синхронизировать её с удалённым сервером. А графический редактор EER-диаграмм, напоминающих забавных таракашек, позволяет увидеть общую картину модели данных и насладиться её лёгкостью и элегантностью 🙂 После первой же пробы этот инструмент становится незаменимым помощником в боевом арсенале веб-программиста.

Скачать MySQL Workbench

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

  • Microsoft Windows (доступны MSI Installer и ZIP архив)
  • Ubuntu Linux
  • Fedora
  • Red Hat Enterprise Linux / Oracle Linux
  • Mac OS X

После выбора платформы вам предлагают зарегистрироваться или авторизоваться в Oracle. Если не хотите, внизу есть ссылка “No thanks, just start my download” – жмите на неё 😉

Начало работы

Стартовый экран программы отражает основные направления её функциональности – проектирование моделей баз данных и их администрирование:

В верхней части экрана находится список подключений к MySQL серверам ваших проектов, а список последних открытых моделей данных – в нижней части экрана. Работа обычно начинается с создания схемы данных или загрузки существующей структуры в MySQL Workbench. Приступим к работе!

Создание и редактирование модели данных

Для добавления модели нажимаем плюсик рядом с заголовком “Models” или выбираем “File → New Model” (Ctrl + N):

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

Добавление и редактирование таблицы

Список баз данных проекта и список таблиц в пределах базы данных будет располагаться во вкладке “Physical Schemas”. Чтобы создать таблицу, дважды кликаем на “+Add Table”:

Откроется удобный интерфейс для редактирования списка полей и их свойств. Здесь мы можем задать название поля, тип данных, а так же установить для полей различные атрибуты: назначить поле первичным ключом (PK), пометить его Not Null (NN), бинарным (BIN), уникальным (UQ) и другие, установить для поля авто-инкремирование (AI) и значение по умолчанию (Default).

Управление индексами

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

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

Связи между таблицами

Установка внешних ключей и связывание таблиц возможно только для таблиц InnoDB (эта система хранения данных выбирается по умолчанию). Для управления связями в каждой таблице находится вкладка “Foreign Keys”:

Для добавления связи открываем вкладку “Foreign Keys” дочерней таблицы, вводим имя внешнего ключа и выбираем таблицу-родителя. Далее в средней части вкладки в графе Column выбираем поле-ключ из дочерней таблицы, а в графе Referenced Column – соответствующее поле из родительской таблицы (тип полей должен совпадать). При создании внешних ключей в дочерней таблице автоматически создаются соответствующие индексы.

В разделе “Foreign Key Options” настраиваем поведение внешнего ключа при изменении соответствующего поля (ON UPDATE) и удалении (ON DELETE) родительской записи:

  • RESTRICT – выдавать ошибку при изменении / удалении родительской записи
  • CASCADE – обновлять внешний ключ при изменении родительской записи, удалять дочернюю запись при удалении родителя
  • SET NULL – устанавливать значение внешнего ключа NULL при изменении / удалении родителя (неприемлемо для полей, у которых установлен флаг NOT NULL!)
  • NO ACTION – не делать ничего, однако по факту эффект аналогичен RESTRICT

В приведённом примере я добавил к дочерней таблице UserProfile внешний ключ для связи с родительской таблицей User. При редактировании поля userId и удалении позиций из таблицы User аналогичные изменения будут автоматически происходить и со связанными записями из таблицы UserProfile.

Наполнение таблицы базовыми данными

При создании проекта в базу данных часто нужно добавлять стартовые данные. Это могут быть корневые категории, пользователи-администраторы и т.д. В управлении таблицами MySQL Workbench для этого существует вкладка “Inserts”:

Как видно из примера, в случае, если перед записью в базу данных к данным нужно применить какую-то функцию MySQL, это делается с помощью синтаксиса func functionName(‘data’), например, func md5(‘password’).

После ввода данных необходимо сохранить их в локальную базу данных нажатием на кнопку “Apply Changes”.

Создание EER диаграммы (диаграммы “сущность-связь”)

Для представления схемы данных, сущностей и их связей в графическом виде в MySQL Workbench существует редактор EER-диаграмм. Для создания диаграммы в верхней части экрана управления базой данных дважды кликаем на иконку “+Add Diagram”:

В его интерфейсе можно создавать и редактировать таблицы, добавлять между ними связи различных типов. Чтобы добавить уже существующую в схеме таблицу на диаграмму, просто перетащите её из панели “Catalog Tree”.

Для экспорта схемы данных в графический файл выберите “File → Export”, а затем один из вариантов (PNG, SVG, PDF, PostScript File).

Импорт существующей схемы данных (из SQL дампа)

Если у нас уже есть схема данных, её можно без труда импортировать в MySQL Workbench для дальнейшей работы. Для импорта модели из SQL файла выбираем “File → Import → Reverse Engineer MySQL Create Script. “, после чего выбираем нужный SQL файл и жмём “Execute >”

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

Демо-проект из статьи доступен для скачивания по этой ссылке. Желаю успехов и красивых таракашек схем!

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