Бесплатная миграция IT-инфраструктуры в облако

Как установить и использовать MySQL Workbench

Команда Timeweb Cloud
Команда Timeweb Cloud
Наши инженеры, технические писатели, редакторы и маркетологи
15 апреля 2022 г.
13059
8 минут чтения
Средний рейтинг статьи: 5

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

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

Как установить MySQL WorkBench

Для установки необходимо перейти на официальный сайт и среди продуктов выбрать MySQL Enterprise Edition ->Workbench. Или можно перейти по этой ссылке.

Image7

Кликаем на «Download Now» и переходим на страницу с выбором параметров:

Image5

Здесь мы выбираем операционную систему и её разрядность. В нашем случае это Windows 10 64-bit. После загрузки и установки приложение готово к работе. 

MySQL Workbench. Как создать базу данных

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

В «Клиенты» будут следующие столбцы: номер договора как первичный ключ, ФИО клиента, id услуги, id сервера.

Столбцы таблицы «Серверы» будут отображать информацию о самих серверах: его id, IP-адрес, размер как оперативной, так и постоянной памяти, характеристики процессора и видеокарты.

В услугах мы укажем их стоимость, название и суть.

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

Для создания базы данных в главном меню выбираем пункт «File»->«New Model»:

Image9

Теперь мы можем перейти к непосредственному созданию БД.

Клиенты

В mysql создание таблиц реализуется несколькими способами. «Клиенты» мы создадим без использования визуальной модели. Для этого в меню нашей БД нажимаем «Add Table», после чего откроется меню с настройками.

  • Table Name - название;
  • Column Name - название атрибута;
  • Datatype - тип атрибута (число, время, буквы и т.д.);
  • PK, NN, UQ и т.д. - это ограничения столбцов. PK расшифровывается как primary key или первичный ключ, NN - Not Null или не равно нулю. Остальные ограничения нам пока не важны.

Pasted Image 0

Серверы

Аналогичным образом создаем таблицу «Серверы». В этой части рассказа мы сосредоточимся на атрибутах столбцов и их выборе.

  • id сервера - это первичный ключ с типом Integer. По сути, это обычное число, на практике id сервера был бы его номером;
  • IP - это набор до 15 ASCII символов. Мы предполагаем хранение IPv4 адреса, например 255.255.255.255; 
  • Оперативная память, ГБ - размер оперативной памяти, выраженный с помощью типа данных Float - числа с плавающей запятой;
  • Дисковое пространство, ГБ - аналогично оперативной памяти;
  • Процессор и видеокарта - здесь предполагается размещение наименований оборудования с максимальной длиной в 45 символов.

Pasted Image 0 (1)

Услуги

Для разнообразия, создадим «Услуги» с помощью визуального функционала MySQL Workbench. Для этого над названием нашей БД «TimeWeb» нажимаем на кнопку «Add Diagram». Теперь кликаем по появившейся диаграмме и попадаем на новую для нас вкладку.

3

В левом меню «Catalog Tree» можно увидеть уже созданные «Клиенты» и «Серверы». Мы можем их перенести на визуальную диаграмму:

4

Для добавления новой таблицы на диаграмму выбираем в левом меню «Place a New Table» или нажимаем «T». Кликнув два раза по появившемуся окну, мы перейдем к настройкам:

5

Наша таблица «Услуги» будет содержать столбцы «Id услуги», «Название», «Суть» и «Цена»:

Pasted Image 0 (2)

Визуальная диаграмма поможет показать таблицы mysql. Прямо-таки база данных с графическим интерфейсом.

Создание связей

Базу данных, которую мы создаем, принято называть реляционной, от английского relation — «отношение», «зависимость», «связь». Таблицы не существуют в вакууме и связаны между собой практически: клиент арендует определенный сервер или приобретает определенную услугу. Необходимо, чтобы эта связь прослеживалась и в нашей БД. 

На практике это реализуется с помощью атрибута столбца foreign key (FK) или внешнего ключа. FK определяет множество возможных значений столбца в строке как множество значений столбца из другой таблицы. Предположим, что у нас есть две таблицы: «Сотрудники» и «Смены». В «Смены» есть столбцы «Время» и «Сотрудник (FK)». Так вот, в столбец «Сотрудник (FK)» мы можем поставить только того сотрудника, который есть в таблице «Сотрудники».   

Создать связи MySQL совсем несложно. Для того, чтобы связать две таблицы, необходимо определить тип связи между ними. Наши таблицы будут связаны между собой, но они не будут идентифицировать друг друга. На практике это означает, что FK не является PK. Поэтому мы будем использовать связь «Non-Identifying». Перейдем непосредственно к созданию связей.

DBaaS

Клиенты-Серверы

Связующим столбцом здесь будет выступать «Id сервера». Может ли один и тот же сервер быть у нескольких клиентов в нашей БД? Да, может, но не одновременно. Для того, чтобы создать такую связь мы выбираем «Place a New 1:n Non-Identifying Relationship» в левом меню и кликаем сначала на «Клиенты» (к чему идет связь), а потом на «Серверы» (откуда идет связь). После этого приходим к такому результату:

6

В MySQL Workbench связи между таблицами отображаются пунктирными и сплошными линиями

Мы получили новый столбец в «Клиенты», но нам хотелось бы привязать связь к уже существующему столбцу. Для этого кликаем правой кнопкой по «Клиенты» и выбираем «Edit Клиенты», после чего переходим на вкладку «Foreign Keys».

7

Здесь мы можем выбрать в качестве «Foreign key» столбец «id сервера», после чего удалить возникший столбец. Аналогичную процедуру проводим со связью Клиенты-Услуги. По итогу получаем такую картину:

8

Схема данных отображает связи между таблицами

Views

В левом меню вы могли заметить раздел «Views». Views или представления — это отображение необходимых данных на основе имеющихся таблиц. Например, вам может понадобится информация о клиентах и стоимости используемых ими услуг. В этом случае вам пригодится View. Попробуем создать такое отображение. 

Для начала нам необходимо заполнить БД информацией. Для этого переходим в параметры таблицы и переходим на вкладку «Inserts». Заполненные «Услуги» выглядит так:

9

Чтобы посмотреть таблицу MySQL, достаточно кликнуть по ней дважды

Аналогичным способом заполняем «Серверы» и «Клиенты».

После того, как таблицы заполнены, добавляем на диаграмму View, с помощью кнопки «Place a New View» или клавиши «V»:

10

Нажимаем дважды на «view1» и в появившемся окне пишем запрос SQL, соответствующий нашему отображению:

CREATE VIEW `ФИО + Услуги` AS
SELECT ФИО, Название, Цена From Клиенты 
JOIN Услуги ON Клиенты.id_услуги = Услуги.id_услуги;

11

Представления mysql

Но для того, чтобы увидеть результат работы запроса, необходимо подключиться к кластеру и импортировать туда нашу БД.

Подключение к кластеру

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

12

В появившемся окне нас будут интересовать следующие настройки:

  • Connection name - название подключение. Необходимо для удобства при наличии нескольких подключений;
  • hostname - ip адрес кластера;
  • port - порт кластера. По умолчанию 3306;
  • Username - имя вашей учетной записи;
  • Password - пароль (при наличии).

13

MySql Workbench: подключение к базе

Нажимаем «OK», и, если всё в порядке, то вы подключитесь к кластеру.

Импорт и экспорт базы данных

Для работы с БД и выполнения SQL-запросов сначала нужно импортировать её в кластер. Для этого на вкладке с диаграммой жмем на кнопку «File» и в выпавшем меню выбираем «Export»->«Forward Engineering SQL CREATE Script»:

14

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

Возвращаемся на вкладку с кластером, выбираем «Data Import/Restore» в меню «Management»:

15

MySQL Workbench: импорт базы данных

Здесь нам необходимо выбрать вариант «Import from Self-Contained File», выбрать скрипт и нажать «Start Import».

16

View «ФИО + Услуги»

Как сделать дамп базы данных MySql WorkBench

Для создания дампа необходимо нажать «Data Export» в разделе «Management» и выбрать нужные параметры:

17

Мы сохраним всю БД: её логическую структуру и хранящиеся данные. Для завершения процесса нажимаем «Start Export».

Разверните облачную базу MySQL в один клик

Заключение

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

Хотите внести свой вклад?
Участвуйте в нашей контент-программе за
вознаграждение или запросите нужную вам инструкцию
img-server
15 апреля 2022 г.
13059
8 минут чтения
Средний рейтинг статьи: 5
Пока нет комментариев