Быстрый старт: Визуальное проектирование базы данных в MySQL Workbench

20.11.2020 0

Веб-разработчик растёт вместе с проектами, которые он создаёт и развивает. С ростом проектов увеличивается сложность программной части, неизбежно возрастает количество обрабатываемых ею данных, а так же сложность схемы данных. Общение с другими вебщиками показывает, что огромной популярностью среди нас пользуются базы данных 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» — жмите на неё

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

Для добавления модели нажимаем плюсик рядом с заголовком «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».

Установка MySQL 5.6.23 на Windows 7

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

то это означает, что у Вас не установлен Microsoft .NET Framework нужной версии, так как для работы всех компонентов входящих в состав данного установщика необходим минимум клиентский профиль Microsoft .NET Framework 4, о том, что это такое и как его установить мы подробно разговаривали в материале про установку Microsoft .NET Framework 4.0. Также для работы программы MySQL Workbench обязательно требуется Microsoft Visual C++ Redistributable for Visual Studio 2013, поэтому его тоже нужно установить. Кстати, если Вы не знаете что установлено у Вас в системе, а что нет, не переживайте, в процессе установки установщик будет проверять Вашу систему на наличие необходимых внешних компонентов, которые нужны для работы каждого из выбранных продуктов MySQL, и выдаст их список, и в случае необходимости вы можете их быстро установить (чуть ниже мы это еще затронем).

Примечание! Язык программы установки английский также как и интерфейс программы MySQL Workbench.

Шаг 1

Соглашаемся с условиями лицензионного соглашения, для этого ставим соответствующую галочку и жмем «Next»

Шаг 2

Затем отмечаем то, что мы хотим установить, а так как мы решили установить все то, что нужно начинающему разработчику то выбираем тип установки по умолчанию, т.е. «Developer Default» и жмем «Next»

Шаг 3

Далее программа установки будет проверять Вашу систему на наличие необходимых компонентов, Вам в свою очередь необходимо установить эти компоненты (т.е. выделить их и нажать «Execute») или нажать «Next» но в этом случае соответствующие компоненты не будут работать. Но, например если Вам эти компоненты и не нужны, допустим, Вы не используете Visual Studio, поэтому и устанавливать компонент не нужно. У меня, например, на этом тестовом компьютере не установлен Microsoft Office и Visual Studio, поэтому в данном случае перечисленные компоненты я устанавливать не буду, жму «Next».

Небольшое предупреждение, связанное с отсутствием некоторых компонентов, жмем «Yes»

Шаг 4

Затем установщик скажет нам, что конкретно он будет устанавливать, мы жмем «Execute»

И вот началась установка

После установки всех компонентов появится кнопка «Next» мы ее и нажимаем

Шаг 5

Далее необходимо настроить пару компонентов, жмем «Next»

Шаг 6

И так как мы только начинающие на первом окне предлагаю оставить все по умолчанию, т.е. ничего не менять, а сразу нажать «Next»

Шаг 7

На следующем окне нужно придумать пароль для root пользователя, т.е. для главного администратора, также, если хотите здесь можно сразу добавить и других пользователей, т.е. создать их через кнопку «Add User», жмем «Next»

Шаг 8

Затем оставляем все по умолчанию и жмем «Next»

Шаг 9

Далее необходимо применить все настройки, для этого жмем «Execute»

Все, сервер MySQL сконфигурирован, жмем «Finish»

Шаг 10

Теперь необходимо настроить тестовые данные для MySQL сервера, жмем «Next»

Подключаемся к серверу, жмем сначала «Check» затем «Next»

Далее жмем «Execute», а потом «Finish»

Шаг 11

Все, установка практически завершена, жмем «Next»

А затем «Finish», кстати, если поставить галку «Start MySQL Workbench after Setup» то сразу запустится программа MySQL Workbench

Создание 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, о которых я расскажу в продолжении данного обзора.

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

Как пользоваться

Прочитайте о том, как скачивать, устанавливать и работать с утилитой.

Загрузка и установка

Бесплатную программу можно скачать с помощью кнопки в конце страницы. Распакуйте содержимое архива на жесткий диск. Чтобы установить Electronic Workbench, достаточно запустить инсталлятор и проделать несколько простых шагов. Процедура не займет больше 1-2 минут, после чего следует закрыть окно кнопкой Finish.

Вместе с этим смотрят: DnSpy 6.1.3 на русском

Инструкция по работе

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

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

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