MySQL WorkBench - визуальный редактор баз данных. MySQL Workbench

MySQL Workbench – программный продукт, созданный для проектирования БД. В наличии каталог инструментов для оперирования и моделирования базы данных. Средство характеризуется высокой производительностью.

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

Скачать бесплатно полную русскую версию MySQL Workbench с официального сайта без регистрации и смс.

Системные требования

  • Поддерживаемые ОС: Windows 10, Vista, 8.1, XP, 7, 8
  • Разрядность: 64 bit, 32 bit, x86

Как создать структуру базы данных MySQL? Как создавать таблицы MySQL? Программа для создания базы данных MySQL Workbench!

Как создать структуру базы данных MySQL, используя MySQL Workbench

Хотите, создать свою собственную базу данных, но вы устали от создания таблиц и связей между ними с помощью SQL? Используйте свободное программное обеспечение MySQL Workbench, которая была создана, чтобы визуально создавать базы данных.

MySQL Workbench позволяет моделировать базу данных MySQL, используя визуальное представление таблиц. Это устраняет необходимость кропотливо описывать структуру базы данных, в SQL, программа MySQL Workbench будет генерировать код за вас! Скачать программу можно бесплатно на веб-сайте: http://www.mysql.com/downloads/workbench, вы можете скачать как установочную версию, так и ту, которая требует только распаковки (доступные системы включают в себя: Windows, Ubuntu Linux, Fedora, Mac OS Х).

Как использовать программу для создания базы данных MySQL?

Откройте MySQL Workbench, выберите пункт File -> New Model, или нажмите CTRL + N. область моделирования баз данных, отображается на изображении ниже:

Первое, что вы должны сделать, это создать таблицу с атрибутами - поэтому нажмите на кнопку "Добавить таблицу".

Заполните соответствующие поля: имя таблицы, атрибуты (помните, что один из них должен быть главным ключом – обозначенным флажком, PK "первичный ключ".).

Когда вы создаете таблицы, вы должны думать о том, как они будут связаны друг с другом.

Если вы заполнили все таблицы, нажмите на кнопку "Добавить диаграмму", чтобы определить отношения между субъектами.

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

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

Теперь объедините таблицу, с тем, чтобы сформировать отношения.

Предположим они будут выглядеть таким образом:

Книга, может принадлежать к одному читателю

Читатель может занять несколько книг

Как правило, используются три опции, которые позволяют создать журнал (1: 1, 1 для многих, и многие ко многим):

Таким образом, мы создаем соединения, как показано на рисунке:

Если вы дважды щелкните на отношения, вы сможем установить дополнительные параметры.

Когда вы закончите создание структуры, вы можете создать базу данных SQL просто импортировав ее. Чтобы сделать это, выберите меню Файл -> Экспорт -> и выберите нужный вариант, данные в основном представляют собой таблицы, и пользователей (если такие созданы). Файл, который я создал показан ниже.

Внимание, поскольку WorkBench обновился, то я написал , которая состоит из теории и практики построения БД из WorkBench.

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

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

Сохранение из модели в реальную / физическую базу данных

“File → Export→ Forward Engineer MySQL Create Script…”

Отмечаем необходимые галочки, мне нужна была только одна Generate INSERT Statements for Tables. Если нужно сохранить скрипт в файл – пропишите директорию в поле сверху.

В следующем окне можно настроить – какие объекты мы будем экспортировать. Если внимательно присмотреться, то у нас создано всего 2 таблицы.

Выполнение скрипта – создания базы данных и таблиц

Жмем на “домик” в верхнем левом углу программы…

Потом 2 раза кликаем на MyConnection….

Перед нами открывается такая вкладка…

Это наше соединение с сервером, здесь мы и будем выполнять наш скрипт. Обратите внимание, слева базы данных, которые были созданы в программе WorkBench….

Теперь, нужно дать команду этот скрипт исполнить, для этого жмем в верхнем меню, Query Execute (All or Selection)

Итак, если все нормально, то в нижнем окне output, вы увидите все “зеленые галочки”. А когда нажмете Refresh в контекстном меню в списке баз данных, то увидите, вновь созданную базу mydatabase1.

Напоследок, построим ER диаграмму. ER расшифровывается как Entity Relation – удачная модель “Сущность – связь”, которая, в частности разрабатывалась Питером Ченом. Итак, возвращаемся на вкладку модели и жмем на Add Diagramm…

Мы создали связь один ко многим. На одном факультете могут учиться несколько студентов. Обратите внимание, связь возле таблицы Students расщепляется – это означает “ко многим”.

Итак, мы создали модель, из неё через выполнение скрипта – реальную базу с таблицами. А также создали диаграмму ER.


Каким бы ни был разработчик баз данных: начинающий (в особенности) или бородатый профессионал, ему всегда проще и нагляднее представлять то над чем он трудится, что разрабатывает. Лично я отношу себя к первой категории и для понимания материала мне бы хотелось видеть визуально то, что я проектирую/разрабатываю.

На сегодняшний день существуют различные программы и инструменты, которые справляются с подобной задачей: какие-то лучше, какие-то хуже. Но сегодня я хотел бы немного рассказать о MySQL WorkBench - инструменте для визуального проектирования баз данных, интегрирующего проектирование, моделирование, создание и эксплуатацию БД в единое бесшовное окружение для системы баз данных MySQL, который является преемником DBDesigner 4 из FabForce.(c) Wikipedia . MySQL WorkBench распространяется в двух вариантах: OSS - Comunity Edition (распространяется под лицензией LGPL) и SE - Standard Edition - версия, за которую разработчики просят денежку. Но я думаю, что многим достаточно будет и OSS версии (в особенности новичкам и тем, кто не хочет или считает нецелесообразным платить за ПО, а также приверженцам программ с открытым исходным кодом), Тем более, что OSS версия обладает богатым функционалом.

Итак, как видно из названия, данный инструмент предназначен для работы с MySQL базами данных,и поддерживает большое количество различных типов моделей MySQL (см. скриншот ниже) и станет незаменимым инструментом для лучшего понимания и изучения реляционных БД (в частности MySQL) для новичков:

Таким образом, любой разработчик MySQL найдет то, что ему необходимо. Кроме того MySQL WorkBench позволяет подключать существующую базу данных, выполнять SQL запросы и SQL скрипты, редактировать и управлять объектами БД.Но для тех кто только начинает осваивать реляционные базы данных,наиболее интересным, на мой взгляд является возможность создания EER модели базы данных. Другими словами - это визуальное представление всех связей между таблицами Вашей БД, которое, при необходимости, легко можно представить в виде SQL скрипта,отредактировать или создать новое представление. Но об этом немного позже. Для начала посмотрим как выглядит главное око MySQL WorkBench (5.2.33 rev 7508 ):
Для того что бы создать EER-модель Вашей БД выбираем "Create New EER Model " . В результате у нас появится вкладка, в которой мы можем добавлять/создавать диаграммы, таблицы, виды, процедуры; задавать различные права доступа для пользователей; создавать модель при помощи SQL скриптов. Выглядит данная вкладка таким образом:
Процесс создания таблиц и БД рассматривать не будем, т.к. тут все просто. Приведу лишь окончательный вариант готовой модели (см. на скриншотах ниже). Причем, если навести курсор на линию связи (пунктирная линия) таблиц, то "связь", первичный ключ, а также внешний ключ выделятся другим цветом. Если навести курсор на какую-либо таблицу, то выделится сама таблица, а также все связи, принадлежащие выбранной таблице.

Для того, что бы отредактировать таблицу, достаточно нажать ПКМ по нужной нам таблице и выбрать "Edit Table ...". В результате внизу окна появится дополнительная область редактирования таблицы, в которой можно изменить имя таблицы, столбцы, внешние ключи и много чего другого. Для того, что бы экспортировать таблицу в SQL-скрипт достаточно нажать ПКМ по нужной нам таблице и выбрать "Copy SQL to Clipboard ", а затем из буфера обмена вставить в нужное место/программу/файл.

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

  • для ОС Windows можно скачать MSI установщик, zip архив программы, а также архив с исходным кодом. Для данной ОС MySQL WorkBench можно скачать лишь для 32-разрядной версии Windows;
  • для пользователей Ubuntu выбор немного богаче, нежели для пользователей ОС Windows - нам предлагают скачать MySQL WorkBench для Ubuntu версий 10.04, 10.10 (на момент написания статьи) и 32- или 64-разрядных версий deb пакетов;
  • для rpm-based дистрибутивов, а в данном случае это Fedora, Suse Linux и RedHat/Oracle Linux, MySQL WorkBench представлены сборки для 32- и 64-разрядной ОС;
  • не забыли и пользователей Macintosh-ей - для них имеется сборка только для 32-разрядной ОС;
  • ну и естественно можно скачать исходный код программы;

Итак, выбираем необходимый вариант загрузки и нажимаем DownLoad . Затем нас любезно попросят представиться: для зарегистрированных пользователей - ввести логин и пароль, для новичков - зарегистрироваться. Если Вы не хотите представляться, то выбираем чуть ниже вариант "» No thanks, just take me to the downloads!" и выбираем ближайшее зеркало для скачивания. Кроме того, перед установкой позаботьтесь о том, что бы у вас был установлен MySQL Client, .а иначе MySQL WorkBench откажется устанавливаться.

О чем нужно помнить и знать пользователям Linux:

Естественно, как и для случая с ОС Windows не забываем про MySQL Client. Для пользователей Ubuntu - необходимо качать версию программы, в соответствии с версией Вашей Ubuntu.Во время установки внимательно смотрим на сообщения об ошибке, если таковые появились, в которых наверняка будет сказано о том, каких пакетов не хватает в Вашей ОС. Об этом читаем ниже.

Как дела обстоят с rmp-base дистрибутивами, я к сожалению не знаю, т.к. ни разу таковыми дистрибутивами не пользовался, но думаю, что примерно также, как и с debian-based.

Возможно Вы заметили, что отсутствует сборка MySQL WorkBench для ОС Debian GNU/Linux . Но, как показала практика - ничего страшного. Для установки MySQL WorkBench в Debian 6.0 (Squeeze) мы воспользуемся deb - пакетом для Ubuntu 10.04 (не забываем про разрядность Вашей ОС: x86 или x64). Напомню, для того, что бы установить скачанный deb пакет можно воспользоваться утилитой gdebi либо ввести в консоли от имени рута команду:

# dpkg -i mysql-workbench-gpl-5.2.33b-1ubu1004-amd64.deb Например, у меня во время установки MySQL WorkBench возникла следующая ошибка:
dpkg: зависимости пакетов не позволяют настроить пакет mysql-workbench-gpl:
mysql-workbench-gpl зависит от libcairomm-1.0-1 (>= 1.6.4), однако:
Пакет libcairomm-1.0-1 не установлен.
mysql-workbench-gpl зависит от libctemplate0, однако:
Пакет libctemplate0 не установлен.
mysql-workbench-gpl зависит от libgtkmm-2.4-1c2a (>= 1:2.20.0), однако:
Пакет libgtkmm-2.4-1c2a не установлен.
mysql-workbench-gpl зависит от libpangomm-1.4-1 (>= 2.26.0), однако:
Пакет libpangomm-1.4-1 не установлен.
mysql-workbench-gpl зависит от libzip1 (>= 0.9), однако:
Пакет libzip1 не установлен.
mysql-workbench-gpl зависит от python-paramiko, однако:
Пакет python-paramiko не установлен.
mysql-workbench-gpl зависит от python-pysqlite2, однако:
Пакет python-pysqlite2 не установлен.
dpkg: не удалось обработать параметр mysql-workbench-gpl (--install):
проблемы зависимостей -- оставляем не настроенным
При обработке следующих пакетов произошли ошибки:
mysql-workbench-gpl

Для устранения данной ошибки мне достаточно было набрать в консоли команду для установки некоторых пакетов:

# aptitude install libzip1 libcairomm-1.0-dev libctemplate0 libgtkmm-2.4-1c2a

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

Все: MySQL WorkBench благополучно установлен и готов для изучения работы.

upd:
Если не ошибаюсь, то начиная с Ubuntu 12.04 MySQL WorkBench можно найти в репозиториях дистрибутива. Следовательно, процесс установки проходит гораздо проще и без всяких костылей.
Для установки MySQL WorkBench достаточно в терминале ввести команду:
sudo aptitude install mysql-workbench

Откройте меню Пуск и наберите ‘Workbench’. В списке выберите MySQL Workbench.

Откроется окно, называемое домашним экраном.

Домашний экран

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

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

Подключения

“Плитка” подключения

При наведении курсора мыши на подключение, у “плитки” отгибается уголок. Если нажать на этот “уголок”, отобразится информация о подключении: версия СУБД, дата последнего использования, адрес сервера СУБД, логин, и т.п.


Информация о подключении

В правом нижнем углу есть кнопка ‘Connect’, которая откроет данное подключение.

Подключение так же можно открыть, нажав на саму “плитку”.

Откройте первое подключение в списке.

Редактор SQL-запросов

После открытия подключения, открывается окно редактора SQL-запросов.


Окно редактора SQL-запросов

В центре мы видим окно редактирования запроса.

Обратно к домашнему экрану можно вернуться, нажав на иконку в левом верхнем углу окна.

Слева находится навигатор, отображающий основные задачи и список объектов БД.

В левом нижнем углу находится окно информации о выбранном объекте.

Справа находится окно помощи.

Внизу – окно истории запросов.

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

Выполнение запросов


Редактор SQL – Панель SQL-запроса

Выполним запрос к базе world . Во-первых, выберем базу данных world как активную.

Для этого, найдите объект world в навигаторе, и выберете его двойным кликом, либо нажав правой кнопкой мыши и в контекстном меню выбрав Set as Default Schema .

Теперь можно выполнять запросы к базе world .

Замечание

Вы так же можете выбрать активную базу, выполнив запрос

USE schema_name;

Например,

USE world;

Для начала, запросим список таблиц в выбранной базе. Для этого, в окне редактирования SQL-запроса, напишем

SHOW TABLES ;

При введении запроса, окно помощи автоматически отображает подсказки по синтаксису вводимого запроса, если эта возможность включена. Чтобы включить автоматическую подсказку, нажмите на третью слева кнопку панели в окне помощи.

Затем нажмем на кнопку выполнения запроса (желтая молния), или выберем в меню Query → Execute (All or Selection) . Клавиатурное сокращение – ctrl + shift + enter

Другие кнопки панели окна SQL-запроса

SQL Editor - Toolbar

Слева направо, кнопки:

    Open an SQL Script File : Загружает содержимое ранее сохраненного запроса из файла.

    Save SQL Script to File : Сохраняет запрос в файл

    Execute SQL Script : Выполняет выделенную часть запроса, или весь запрос, если ничего не выделено.

    Execute Current SQL script : Выполняет выражение, на котором находится текстовый курсор.

- **Explain (All or Selection)**: Отображает для выбранной части запроса или всего запроса информацию о работе оптимизатора.

    Stop the query being executed : Прерывает выполнение текущего запроса.

    Toggle whether execution of SQL script should continue after failed statements : Переключает поведение при ошибках в выражениях. Если на кнопке отображен красный кружок, то выполнение запроса прерывается при ошибке выполнения одного из выражений.

    Иначе, если отображена зеленая стрелка, выражения с ошибками пропускаются и выполнение запроса продолжается.

    Commit : Подтверждает текущую транзакцию

    Rollback : Отменяет текущую транзакцию

    Toggle Auto-Commit Mode : Если включено, каждое выражение будет автоматически подтверждено.

    Set Limit for Executed Queries : Ограничение количества результатов запроса.

    Beautify SQL : Форматировать текст запроса.

    Find panel : Отобразить панель поиска в тексте запроса.

    Invisible characters : Отображать “невидимые” символы.

    Wrapping : Включить перенос по словам.

Откроется окно результата запроса.

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

  • Result Grid – в виде таблицы (по умолчанию)
  • Form Editor – в виде формы. Каждая запись открывается на отдельной странице, в верхней части окна есть стрелки для навигации по записям.
  • Field Types – отображает типы атрибутов результата.
  • Query Stats – отображает различную статистику запроса
  • Execution Path – показывает алгоритм работы оптимизатора

Посмотрим, как устроена таблица Country . Для этого, выполним команду

SELECT * FROM Country;

и выберем стиль отображения результата Field Types .

Замечание

Запуск запроса на выполнение запускает все выражения, которые написаны в окне запроса. Если в окне запроса написано несколько выражений, разделенных точкой с запятой, они выполнятся последовательно. Поэтому, удаляйте либо комментируйте уже выполненные запросы.

Комментарии в SQL начинаются с двойного дефиса, например:

Комментарий -- SHOW TABLES; SELECT * FROM Country;

В данный момент нас интересуют атрибуты (колонки) Name – названия страны и LifeExpectancy – средняя продолжительность жизни граждан.

Выведем список стран со средней продолжительностью жизни граждан более 80 лет. Для этого выполним запрос

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

SELECT GovernmentForm, COUNT (Name) FROM Country GROUP BY GovernmentForm;

Создание базы данных

Для создания базы данных можно выполнить запрос

CREATE DATABASE db_name;

Создайте базу данных с названием myFirstDatabase:

CREATE DATABASE myFirstDatabase;

Чтобы отобразить созданную БД в списке объектов, нажмите на пустое место в списке правой кнопкой мыши и выберете Refresh All .

Выберите myFirstDatabase как активную.

Создание таблицы

Создадим таблицу People , состоящую из колонок id , name , birthday:

CREATE TABLE People ( id BIGINT AUTO_INCREMENT PRIMARY KEY , name TINYTEXT NOT NULL , birthday DATE );

Замечание Существует графический инструмент создания таблиц. Разберем его, когда будем работать с инструментом графического проектирования БД.

Проверим, что таблица создалась:

SHOW TABLES ;

* FROM People;

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

При выборе всех столбцов таблицы, Workbench позволяет редактировать записи непосредственно через интерфейс результата запроса. Выберите стиль отображения результата Form Editor , и введите значения атрибутов name и birthday . Последнее вводится в формате YYYY-MM-DD , например для 1 сентября 2015 года введите 2015-09-01 .

Поле id оставьте пустым.

В правом нижнем углу окна результата можно увидеть кнопки Apply и Revert . Первая сгенерирует и выполнит SQL-запрос INSERT , а вторая отменит изменения.

Нажмите на Apply , посмотрите сгенерированный запрос, и примените его. Если все сделано правильно, то в таблицу вставлена новая запись. Выполните запрос

SELECT * FROM People;

еще раз, чтобы в этом убедиться.

Замечание Можно так же добавлять и редактировать записи в табличном отображении результата.

Удаление данных

Данные можно удалять из окна результатов, используя кнопку панели Delete selected rows .

Другой способ – выполнение SQL-запроса

Например, удалим из таблицы People запись с каким-либо значением id:

Подставьте вместо 1 какое-то из существующих значений.

Замечание По умолчанию, Workbench выполняет запросы с параметром SQL_SAFE_UPDATES . Этот параметр не позволяет производить запросы UPDATE и DELETE без указания условия WHERE с первичным ключом (в данном случае id).

Импорт и экспорт

Экспорт

В навигаторе выберите Data Export . Выберите базы данных и таблицы, которые хотите экспортировать. При необходимости, отметте другие объекты, которые хотите экспортировать: Dump Stored Procedures and Functions , Dump Events , Dump Triggers .

Выберите Export to Self-Contained File и файл, в который будет сохранен экспорт.

Не отмечайте Include Create Schema: эта опция включит в экспорт выражение CREATE DATABASE .

Нажмите на кнопку Start Export .

Импорт

В навигаторе выберите Data Import/Restore . Выберите Import from Self-Contained File .

Выберите базу данных, в которую будет произведен импорт в выпадающем списке Default Target Schema . Можно так же создать новую БД, нажав на кнопку New…

Нажмите Start Import .

Удаление таблиц

Для удаления таблиц используется запрос

DROP TABLE tbl_name;

Удалим таблицу People

DROP TABLE People;

Удаление БД

Для удаления БД используется запрос

DROP DATABASE tbl_name;

Удалим таблицу myFirstDatabase

DROP DATABASE myFirstDatabase;