Быстрый старт: Визуальное проектирование базы данных в MySQL Workbench. 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, о которых я расскажу в продолжении данного обзора.

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

07.05.2014

mithrandir.ru

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

Подробности апреля 28, 2015 Просмотров: 47871

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

 Образец созданной базы данных

Также вы можете нажать "Сохранить в другой файл", чтобы сохранить файл в .sql формате.

Читайте также

 

 

 

 

juice-health.ru

Визуальное создание баз данных с помощью MySQL Workbench

1. Подключение к серверу MySQL

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

Подробнее

Панель телефонии виртуальной АТС Binotel

Панель телефонии виртуальной АТС Binotel Панель телефонии виртуальной АТС Binotel для конфигурации 1С:Управление небольшой фирмой 1.6.х Оглавление Требования... 3 Установка демо-лицензии... 3 Подключение расширения... 3 Открытие формы Панели

Подробнее

Microsoft Word Занятие 4

Microsoft Word Занятие 4 Microsoft Word Занятие 4 Содержание занятия 1. Обзор: массовые рассылки 2. Принцип работы 3. Создание списка получателей 4. Выполнение полного слияния Обзор: массовые рассылки Предположим, что всем служащим

Подробнее

Центр управления АТС

Центр управления АТС ООО «Компания «АЛС и ТЕК» Центр управления АТС Руководство пользователя Листов 21 2011 2 СОДЕРЖАНИЕ 1 НАЗНАЧЕНИЕ 5 2 МЕРЫ БЕЗОПАСНОСТИ НАПРАВЛЕННЫЕ НА СОХРАНЕНИЕ И КОНФИДЕНЦИАЛЬНОСТЬ ИНФОРМАЦИИ 6 3 ТРЕБОВАНИЯ

Подробнее

Функционал взаимодействий в БСП 2.3

Функционал взаимодействий в БСП 2.3 Функционал взаимодействий в БСП 2.3 На основе большинства прикладных решений фирмы 1С на платформе 8.3 легла «1С:Библиотека стандартных подсистем 2.3» (БСП), предоставляющая набор универсальных функциональных

Подробнее

Программный компонент «Ведение хроники»

Программный компонент «Ведение хроники» Ведение хроники Система распределённого компьютерного документирования устной речи Программный компонент «Ведение хроники» Руководство пользователя ЦВАУ.00301-01 90 Содержание ВВЕДЕНИЕ... 4 Общие положения...4

Подробнее

Инструкция пользователя

Инструкция пользователя Инструкция пользователя a. Вход в систему Для работы с программой необходим браузер FireFox. Текущая версия не поддерживает иные браузеры, например InternetExplorer. Для входа в систему наберите в адресной

Подробнее

CloudServer (IaaS) Руководство пользователя

CloudServer (IaaS) Руководство пользователя CloudServer (IaaS) Руководство пользователя Комментарии и сообщения об ошибках, пожалуйста, направляйте на [email protected]. Все упомянутые торговые марки принадлежат их законным владельцам.. 1.1

Подробнее

Настройка аккаунта в части ЕИС

Настройка аккаунта в части ЕИС Настройка аккаунта в части ЕИС Перед настройкой интеграционного аккаунта в Единой информационной системе (zakupki.gov.ru/223/) необходимо пройти авторизацию. Выбор электронной площадки Для выбора электронной

Подробнее

Руководство по установке

Руководство по установке Руководство по установке Оглавление Системные требования... 2 Краткая установка... 2 Установка в деталях... 3 Шаг 1. Создание базы данных и пользователя... 3 Работа с phpmyadmin... 3 Работа с MySQL клиентом...

Подробнее

ЛМ Софт ЕАМ / LM Soft EAM

ЛМ Софт ЕАМ / LM Soft EAM ИНФОРМАЦИОННО-АНАЛИТИЧЕСКАЯ СИСТЕМА УПРАВЛЕНИЯ ОСНОВНЫМИ ПРОИЗВОДСТВЕННЫМИ ФОНДАМИ ЛМ Софт ЕАМ / LM Soft EAM Руководство оператора Листов 16 Москва 2015 СОДЕРЖАНИЕ АННОТАЦИЯ... 3 1. НАЗНАЧЕНИЕ ПРОГРАММЫ...

Подробнее

1 Инструкция для администраторов ОУ

1 Инструкция для администраторов ОУ 1 Инструкция для администраторов ОУ Адрес СДО: http://do2.rcokoit.ru/ Администратор ОУ (школьный администратор) получает логин и пароль от районного администратора. Логины (идентификаторы) для учителя

Подробнее

СКАй Настройка сервера опроса

СКАй Настройка сервера опроса СКАй Настройка сервера опроса ВИД При запуске программы в системном лотке (область панели задач рядом с часами) появляется иконка программы. Чтобы вызвать окно настроек сервера СКАй щелкните правой кнопкой

Подробнее

УСТАНОВКА ИНФРАМЕНЕДЖЕР

УСТАНОВКА ИНФРАМЕНЕДЖЕР УСТАНОВКА НОВОГО РЕЛИЗА СИСТЕМЫ ИНФРАМЕНЕДЖЕР РЕКОМЕНДАЦИИ 14 декабря 2015 г. ОГЛАВЛЕНИЕ Рекомендации... 1 Установка серверных компонент (компоненты базы данных, компоненты Web-интерфейса)... 3 Общие рекомендации...

Подробнее

Справочная система Word 2007

Справочная система Word 2007 Глава 3 Справочная система Word 2007 В этой главе... Введение в справочную систему Область поиска Методы поиска Всплывающие подсказки В Word 2007 вы можете получить справочную информацию, либо введя ключевые

Подробнее

СКР Архив 4.0. Руководство пользователя

СКР Архив 4.0. Руководство пользователя СКР Архив 4.0 Руководство пользователя Введение Комплект поставки Требования к системе Установка Запуск и начало работы Элементы главного окна Архив Создание Открытие и сохранение Добавление файлов Удаление

Подробнее

FreshOffice WEB & 1C

FreshOffice WEB & 1C FreshOffice WEB & 1C 8.2-8.3 1 Поддерживаемые Конфигурации на платформе 1С 8.2 Бухгалтерия предприятия o Бухгалтерия предприятия 2.0 Комплексная Автоматизация Управление Производственным Предприятием Управление

Подробнее

McAfee epolicy Orchestrator Pre-Installation Auditor 2.0.0

McAfee epolicy Orchestrator Pre-Installation Auditor 2.0.0 Примечания к выпуску McAfee epolicy Orchestrator Pre-Installation Auditor 2.0.0 Для использования в сочетании с McAfee epolicy Orchestrator Содержание Об этом выпуске Новые функции Усовершенствования Устраненные

Подробнее

Руководство пользователя

Руководство пользователя Руководство пользователя «АнтиКража вер.1.0» г. Москва, ул. Образцова д.12 корп.2 p. +7 (495) 778-22-02 [Email] www.fresh322.ru Содержание: 1. Системные требования 2. Установка 3. Обзор рабочего стола

Подробнее

Интеграция Assistex и 1С

Интеграция Assistex и 1С Интеграция Assistex и 1С Модуль интеграции с 1С это обработка, которая загружает исходные данные на сервер и получает от сервера документы, созданные торговыми представителями. Обработка не требует каких-либо

Подробнее

Expasys Questionnaire Studio 2013 Lite

Expasys Questionnaire Studio 2013 Lite ООО «Экспертно-аналитические системы» Сайт: http://www.expasys.ru Электронная почта: [email protected] Телефон: +7 (8672) 40-76-29 Expasys Questionnaire Studio 2013 Lite College Edition Руководство пользователя

Подробнее

«КЛИЕНТ-КОММУНИКАТОР»

«КЛИЕНТ-КОММУНИКАТОР» Руководство пользователя по работе с автоматизированной системой управления бизнесом «КЛИЕНТ-КОММУНИКАТОР» модуль «Сканер почты» «Системы КлиК» Санкт-Петербург, 197136, ул. Всеволода Вишневского, д. 4

Подробнее

docplayer.ru

Как создать базу данных MySQL с помощью Workbench?

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

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

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

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

создать базу данных MySQL

Workbench поможет создать базу данных MySQL

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

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

  1. Сначала нужно открыть новую модель, это делается через меню или комбинацией клавиш Ctrl+N:
  2. Первый шаг при создании базы данных, это добавление таблицы, поэтому выбираем соответствующую функцию:
  3. Дальше выполняется заполнение таблицы. Указывайте имя и атрибуты, учитывайте, что один из атрибутов это главный ключ, помеченный флажком. Заранее думайте, как потом таблицы будут связываться между собой:
  4. Заполнив необходимые данные, создавайте диаграмму для определения связей между субъектами:
  5. Вы увидите таблицу в рабочей области. Для удобства, можно развернуть структуры таблиц:
  6. Теперь необходимо задать связи между элементами, это делается специальным инструментом на рабочей панели:
  7. В итоге у вас должны быть представлены таблицы в рабочей области и между ними установлены связи:
  8. Двойной щелчок на связи открывает окно, в котором задаются дополнительные параметры:

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

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

Вам также будет интересно:- Ошибка установки соединения с базой данных, что делать?- Секреты монетизации сайта- Бесконечный источник статей для блога

workion.ru

Учебник MySQL Workbench и MySQL Введение

Что такое MySQL?

MySQL – это реляционная база данных с открытым исходным кодом.

MySQL является кросс-платформой, что означает, что он работает на нескольких различных платформах, таких как Windows, Linux и Mac OS и т. Д.

В этом уроке вы узнаете,

Зачем использовать MySQL?

На рынке существует множество систем управления реляционными базами данных.

Примеры реляционных баз данных включают Microsoft SQL Server, Microsoft Access, Oracle, DB2 и т. Д.

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

Ответ на этот вопрос зависит от ряда факторов. 

Давайте посмотрим на сильные стороны MySQL по сравнению с более реляционными базами данных, такими как SQL Server –

  • MySQL поддерживает несколько модулей хранения, каждый со своими спецификациями, в то время как другие системы, такие как SQL-сервер, поддерживают только один механизм хранения. Чтобы оценить это утверждение, давайте рассмотрим два механизма хранения, поддерживаемые MySQL.
  • InnoDB: – его механизм хранения по умолчанию, предоставляемый MySQL с версии 5.5. InnoDB поддерживает внешние ключи для ссылочной целостности, а также поддерживает ACID-стандартные транзакции.
  • MyISAM: – это был механизм хранения по умолчанию для MySQL до версии 5.5. MyISAM не поддерживает транзакции. Его преимущества перед InnoDB включают простоту и высокую производительность.
  • MySQL имеет высокую производительность по сравнению с другими системами баз данных отношений. Это связано с его простотой в дизайне и поддержке двигателей с несколькими хранилищами.
  • Экономичный, относительно дешевый с точки зрения стоимости по сравнению с другими реляционными базами данных. На самом деле, сообщество издание бесплатно. Коммерческое издание имеет лицензионный сбор, который также экономически эффективен по сравнению с лицензионными сборами для таких продуктов, как Microsoft SQL Server.
  • Кросс-платформа – MySQL работает на многих платформах, что означает, что он может быть развернут на большинстве машин. Другие системы, такие как MS SQL Server, работают только на платформе Windows.

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

Знакомство с MySQL Workbench

MySQLWorkbench – это средство визуализации  базы данных для проектирования и моделирования  баз данных для реляционной базы данных MySQL. Это облегчает создание новых моделей физических данных и модификацию существующих баз данных MySQL с помощью функций обратного / прямого проектирования и управления изменениями.

Начало работы MySQL workbench – инструмент моделирования и проектирования

  • Модели являются основой большинства действующих и высокопроизводительных баз данных. В MySQLworkbench есть инструменты, которые позволяют разработчикам и администраторам баз данных визуально создавать физические модели проектирования баз данных, которые легко могут быть переведены в базы данных MySQL с использованием форвардной инженерии.
  • MySQL workbench поддерживает создание нескольких моделей в одной среде.
  • Он поддерживает все объекты, такие как таблицы, представления, хранимые процедуры, триггеры и т. Д., Которые составляют базу данных.
  • MySQL Workbench имеет встроенную утилиту проверки модели, которая сообщает о любых проблемах, которые могут быть обнаружены разработчиком данных.
  • Он также позволяет использовать различные обозначения для моделирования и может быть расширен с использованием языка сценариев LUA.

На рисунке ниже показано окно моделирования для MySQLWorkbench.

MySQL workbench – инструмент разработки SQL

Язык структурированных запросов (SQL) позволяет нам манипулировать нашими реляционными базами данных. SQL лежит в основе всех реляционных баз данных.

  • MySQLworkbench, имеет встроенный визуальный редактор SQL.
  • Редактор Visual SQL позволяет разработчикам создавать, редактировать и запускать запросы к базам данных MySQL. Он имеет утилиты для просмотра данных и их экспорта.
  • Его синтаксические цветовые выделения помогают разработчикам легко писать и отлаживать SQL-запросы.
  • Можно запускать несколько запросов, и результаты автоматически отображаются на разных вкладках.
  • Запросы также сохраняются на панели истории для последующего поиска и запуска.

На приведенном ниже рисунке показано окно разработки SQL для MySQL Workbench.

Инструментарий MySQL – инструмент администрирования

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

  • Администрирование пользователей  – визуальная утилита для управления пользователями, которая позволяет администраторам баз данных легко добавлять новые и удалять существующих пользователей, если это необходимо, предоставлять привилегии и откаты и просматривать профили пользователей.
  • Конфигурация сервера  – позволяет осуществлять расширенную настройку сервера и точную настройку для оптимальной производительности.
  • Резервное копирование и восстановление баз данных  – визуальный инструмент для экспорта / импорта файлов дампа MySQL. Файлы дампа MySQL содержат SQL-скрипты для создания баз данных, таблиц, представлений, хранимых процедур и вставки данных.
  • Журналы сервера  – визуальный инструмент для просмотра журналов сервера MySQL. Журналы включают журналы ошибок, двоичные журналы и журналы InnodDB. Эти журналы пригождаются при выполнении диагностики на сервере. На рисунке ниже показано окно моделирования для MySQL Workbench.

На рисунке ниже показана панель администратора для Workbench MySQL.

Установите руководство по Workbench MySQL (для Windows)

Это двухэтапный процесс

1) Установите MySQL Community Server

2) Установите Workbench MySQL . – Вы можете установить рабочую среду с помощью zip-файла или установщика MSI (рекомендуется)

Примечание. Для выполнения установки вам потребуются привилегии администратора или Power User.

Начиная

Как только вы закончите установку выше, вам нужно настроить MySQL Workbench, как показано ниже –

  1. Первый шаг – запуск Workbench MySQL. То, что вы видите, называется “  Домашнее окно”

2.  Затем вам нужно создать соединение с MySQL Server, которое содержит сведения о целевом сервере базы данных, в том числе о том, как подключиться к нему. Нажмите  ”+”в главном окне Workbench MySQL. Откроется  Setup New Connection. колдун

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

4. Откроется новое окно с именем “ Настроить локальное управление”. Нажмите кнопку “Далее”, чтобы продолжить.

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

6. Затем мастер проверит соединения с базой данных. Если тест не удается, вернитесь назад и исправьте параметры подключения к базе данных. Если все тесты пройдены успешно, нажмите “Далее”, чтобы продолжить.

7. После этого откроется новый мастер управления локальными службами – он позволяет переключаться между несколькими таймерами mysql, установленными на одной машине. Как новичок вы можете обойти это и нажать “ Далее”, чтобы продолжить.

8. Затем мастер проверит возможность доступа к конфигурационному файлу MySQL Server и проверит команды запуска / остановки.

9. Затем вы можете просмотреть текущие конфигурации. После просмотра конфигураций нажмите “Готово”, чтобы настроить финш-сервер

10. Следующий шаг – установить соединение, которое можно использовать для подключения к серверу. Если вы еще не создали соединение, вы можете использовать значения по умолчанию. Нажмите “Проверить соединение” [2] после ввода имени подключения [1].

 

11. Откроется новое диалоговое окно с запросом пароля для пользователя root / выбранного пользователя. Если ваш пользователь root root имеет пароль, вы можете ввести его, используя функцию Store in Vault. Нажмите “ОК”.

Если введенный пароль для пользователя верен, отобразится следующий экран. Нажмите на обе кнопки OK, и вам будет хорошо идти.

Новый экземпляр показан на главной странице

Дважды щелкните и начните запрос.

Резюме

  • MySQL – это реляционная база данных с открытым исходным кодом, которая является кросс-платформенной.
  • MySQL поддерживает несколько механизмов хранения, которые значительно улучшают настройку производительности сервера и гибкость. До версии 5.5 механизмом хранения по умолчанию был MyISAM, который не поддерживал транзакции, начиная с версии 5.5; механизм хранения по умолчанию – InnoDB, который поддерживает транзакции и внешние ключи.
  • Сервер MySQL можно администрировать с помощью нескольких инструментов доступа к серверу, которые включают как коммерческие, так и продукты с открытым исходным кодом. Популярные примеры включают;
  • phpMyAdmin– кросс-платформенный веб-сервер с открытым исходным кодом
  • SQLYog– ориентированный на платформу Windows, инструмент для доступа к коммерческому серверу на рабочем столе
  • MySQL workbench – кросс-платформенный инструмент для доступа к открытым исходным кодам.
  • MySQL Workbench – это интегрированная среда разработки для сервера MySQL. Он имеет утилиты для моделирования и проектирования баз данных, разработки SQL и администрирования серверов.

Вы могли бы:

guru99.ru

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

image

Цель данного поста — помочь начинающему разработчику быстро освоится и спроектировать простенькую базу с помощью инструмента для визуального проектирования баз данных MySQL Workbench от компании Oralce и получить её ER-модель и SQL-дамп.

Ну что же, меньше слов да больше смысла! Внешний вид окна программы, раздел «Моделирование данных» выглядит так:

image

Для того, чтобы открыть существующую модель надо нажать на ссылку: Open Existing EER Model, для создания новой модели – выбрать параметр: Create New EER Model, чтобы создать модель «сущность-связь» из существующей базы данных – нажать на параметр: Create EER Model From Existing Database, а для создания EER модели из SQL скрипта нужно выбрать: Create EER Model From SQL Script.Для создания новой модели, воспользуемся ссылкой Create New EER Model, после нажатия на неё отобразится окно с параметрами:

image

Для начала необходимо создать таблицы, для этого нажмём на кнопку Add Table, появится следующая форма:

image

Сначала создадим таблицу users, которая будет хранить данные о пользователях информационной системы, в поле table Name впишем имя таблицы, в разделе формы Columns создадим поля таблицы: — Первое поле id будет содержать уникальный номер пользователя, зададим ему свойства: Auto Increment, Not Null, Primary key и Unique, в разделе Data type выберем целочисленный тип integer. — Второе поле fio, где будет хранится Ф.И.О. пользователя, установим полю свойства: Not Null, Primary key,, в разделе Data type выберем строковый тип VARCHAR и зададим количество символов в 255.— Третье поле login, будет содержать логин пользователя, оно должно быть уникальным, как и поле id, поэтому установим ему свойство Unique и зададим количество символов в 255.— Следующие поля: password содержащее пароль, e_mail содержащее адрес электронной почты и поле type содержащее тип пользователя будут без особых свойств, со строковым типом VARCHAR длинной в 255 символов, за исключением последнего поля type которому хватит с 45 символов.После проделанных манипуляций форма с именем таблицы users будет выглядеть так:

image

На диаграмме появится таблица users c полями и индексами:

image

Аналогичным способом создадим таблицу settings с настройками доступа к базе данных ИС, содержащую поля id, host для указания имени хоста (адреса сервера), db – имени базы данных, user и password с именем пользователя и паролем, для установки ИС на удалённый сервер.

Далее по уже известному методу создадим таблицу shops которая будет хранить данные о магазинах в полях: id типа integer – ключевое, ненулевое, уникальное с автоинкрементом, поле name хранящее название магазина, поле address – его физический адрес, поле tel – телефон магазина, site – интернет сайт магазина и поле email с электронным адресом магазина.

Затем создадим таблицу products хранящую данные о продукции магазина в полях: id типа integer – ключевое, ненулевое, уникальное с автоинкрементом, поле name хранящее название магазина, ключевое, ненулевое поле целочисленного типа shop_id хранящее номер магазина, поле type_id с информацией о номере товара из таблицы видов продукции. Поле brand – брэнд изготовителя длинной в 255 символов, поле model – с моделью товара, поле data – с данными и характеристиками товара типа Tinytext, поле img с полным адресом до изображения товара длинной в 255 символов, и поля price с ценой товара и warranty с информацией о сроках гарантии на товар длинной в 45 символов.

Созданные нами таблицы settings, shops и products выглядят следующим образом:

image image image

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

Вид таблицы таков:

image

Последние две таблицы это orders и deliveries, первая содержит информацию о заказах клиентов, а последняя данные о доставке продукции.

Поля таблицы orders: id ключевое, ненулевое, уникальное поле целочисленного типа с автоинкрементом, поле shop_id содержащее номер магазина – ключевое, ненулевое целочисленного типа, поле product_id хранящее номер продукта – ключевое, ненулевое целочисленного типа, поле fio с номером пользователя совершившего заказ — ключевое, ненулевое целочисленного типа, поле date c датой заказа – типа DATE, поле quantity с количеством заказанных товаров – целочисленного типа, поле tel с номером телефона заказчика – строкового типа длинной в 255 символов и поле confirm содержащее информацию о подтверждении заказа – логического типа.

Поля таблицы deliveries: order_id с номером заказа — ключевое, ненулевое, уникальное поле целочисленного типа с автоинкрементом, поле поле fio с номером пользователя совершившего заказ — ключевое, ненулевое целочисленного типа, поле address хранящее адрес доставки товара указанный клиентом – строкового типа длинной в 255 символов, поле time хранящее желаемое время доставки товара – строкового типа длинной в 255 символов, поле date с датой совершения заказа клиентом – типа DATE и поле логического типа confirm хранящее информацию о доставке товара.

Таблицы orders и deliveries выглядят так:

image image

Связи таблиц

Мы создали базу данных, состоящую из семи таблиц, теперь необходимо связать таблицы, мы уже создали ключевые поля целочисленного типа, они и станут основой для связывания. Для того чтобы связать две таблицы к примеру products и product_type, необходимо дважды щёлкнуть левой кнопкой мыши на диаграмму с таблицей products и выбрать вкладку Foreign keys (внешние ключи), далее в поле Foreign key name ввести уникальное имя внешнего ключа, дважды щёлкнуть по вкладке Referenced table и выбрать таблицу product_type, затем в форме расположенной правее выбрать ссылающееся поле type_id и выбрать в всплывающем списке поле id.

image

Таким образом, оба поля таблицы оказываются связанны, затем нужно задать тип отношений связи между таблицами, откроем окно, кликнув на появившуюся связь между таблицами, и выберем вкладку Foreign Key и в разделе Cardinality выберем тип связи один ко многим, и закроем окно. На диаграмме отобразится связь таблиц:

image

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

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

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

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

image

Большинство таблиц находятся в отношении один-ко-многим, за исключением таблиц deliveries и orders находящихся в отношении одни-к-одному, т.к. доставлен, может быть только одни заказ, т.е. у одного заказа только одна доставка. Остальные связи наглядно указаны выше.

Теперь загрузим нашу базу данных на сервер. Для этого создадим новое подключение к базе данных, щёлкнув по ссылке New connection в стартовом окне программы:

image

Затем заполним поля в открывшимся окне:

image

Укажем имя соединения в поле Connection Name, выберем метод соединения в списке Connection Method, зададим имя хоста и порт во вкладке Parameters, укажем имя пользователя и пароль если он есть и нажмём на кнопку ОК. Затем откроем вкладку EER Diagram, в панели выберем пункт Database и нажмём на параметр Forward Engineer:

image

После того как появится окно, нажимаем на кнопку “Next”, выбираем параметр Export MySQL Table Objects и нажимаем на кнопку “Next”:

image

После нажатия кнопки появится вкладка с SQL кодом, можно сохранить его нажав кнопку “Save to file” если это необходимо, а затем нажать на кнопку “Next”. Появится окно с параметрами соединения:

image

Проверяем, верны ли параметры подключения и нажимаем на кнопку “Execute”, если в SQL коде не содержится ошибок, то после исполнения кода мы увидим окно со списком таблиц, иначе выведется сообщение об ошибке. Теперь наша база загружена на сервер.

Благодарю за внимание, скачать саму программу можно здесь.

Автор: shapovalov_org

Источник

www.pvsm.ru

MySQL. Workbench. Проектируем БД. Теория и практика

Данная статья посвящена проектированию БД. Основана на книге Д. Осипова “Базы данных и Delphi” и некотором личном опыте. В качестве инструмента БД я буду использовать программу MySQL Workbench 6.3 CE.

Согласно Дмитрию Осипову при проектировании БД мы можем использовать как минимум 2 подхода.

Первый – модель ER или по другому сущность-связь.

И второй подход – нормализация.

Модель сущность-связь (ER модель Питера Чена)

Алгорим проектирования БД в псевдокоде можно изобразить, например так

–Выделить все сущности, подлежащие хранению в БД (отделы, сотрудники, заказы)

–Выявить атрибуты (у отделов – название, у сотрудников – имя, фамилия, зарплата, у заказов – имя, количество)

–Выявить взаимосвязи между сущностями – отсутствие, один к одному (1:1), один ко многим (1:M), многие ко многим (M:N). Связь один ко многим это когда в одном отделе работает несколько сотрудников, у одного поставщика несколько контрактов и так далее).

–Разделить сущности на сильные (независимые) и слабые (зависимые) – если есть взаимосвязь и одна сущность зависит от другой, то говорят, что зависимая сущность – слабая, независимая сильная. Пример – отделы и сотрудники.

–Полученную схему отобразить в диаграммах MySQL Workbench и сделать ForwardEngeneering для создания реальной физической базы данных.

Нотации ER моделей

-Нотация Питера Чена

-Нотация Crow’s foot (“Воронья лапка”)

Нотация Питера Чена

Что касается нотации Питера Чена (схематического изображения), то она может выглядеть так…

2

 

Вот принятые обозначения в нотации Питера Чена

8

Более сложный пример мог бы выглядеть так. Пример из английской Википедии4

Нотация  Gordon Everest (Гордона Эверста). Под назаванием Crow’s Foot  или Fork (вилка).

Самый простой пример мог бы выглядеть так. Как видите справа у нас “воронья лапка”, означающая связь один ко многим. Один артист может спеть несколько песен. Этот пример также из английской Википедии, который есть почти во всех русских блогах на эту тему 🙂

5

А вот пример из книги Дмитрия Осипова. Одна вертикальная черта означает “один”, воронья лапка справа “ко многим”.

6

Нормализация базы данных

В книге Д.Осипова говорится о 5 нормальных формах, для практической работы, на мой взгляд, достаточно четырех

1NF – атомарность или 1 поле 1 значение.

2NF – каждой таблице свой уникальный ключ.

3NF – 1 сущность 1 таблица (моя интерпретация)

4NF – каждую связь M:N (многие ко многим) разбить на многие к одному.

В своей книге Дмитрий приводит такой пример, берет вот такую таблицу и последовательно приводит её к 4 нормальной форме.

5

Как видно таблица – “плохая” в качестве БД, в одном поле несколько значений, уникального ключа нет, да и вообще все данные, все сущности в одной таблице, есть связи многие ко многим (авторы и жанры, и так далее). В общем, ни одной нормальной формы не соблюдено.

Повторим за Дмитрием вкратце его шаги

Приведение к 1NF – одно поле одно значение

8

Приведение ко 2NF – прописывание уникального ключа таблице. На рисунке ниже указаны ключ и поля таблицы.

9

Приведение к 3NF – разбиение на отдельные, независимые таблицы. Как видно из рисунка выше – все поля у нас в одной таблице, какие-то поля являются атрибутами для других, если смотреть при помощи модели Питера Чена. С точки зрения пользователя БД это очень, очень неудобно.  На 3 шаге сделаем следующее – разобьем 1 большую таблицу на несколько таблиц, соответствующих сущностям и свяжем их. Атрибуты сгруппируем по сущностям. Каждой таблице пропишем свой уникальный ключ. В результате, по книге Дмитрия Осипова, у нас получится следующее.

10

4NF  – разбить каждую зависимость многие ко многим на 2 зависимости 1 ко многим.  Это можно сделать введя искусственную коммутационную таблицу.

В нашем случае

-1 автор может написать несколько книг. И также можно сказать – несколько авторов могли написать 1 книгу. Поэтому вводим тип сущности WRITERS_BOOKS

-В 1 жанре может быть несколько книг. 1 книга может быть написана в нескольких жанрах. Вводим GENRES_BOOKS

В принципе этот ряд можно было бы и продолжить

-1 поставщик может иметь несколько контрактов. В 1 контракте может быть несколько поставщиков. Но тут наверное всё зависит от реальной задачи и ситуации. Нельзя угодить на все случаи жизни. А, конечно хочется)))

Но остановимся на том, что написано в книге Дмитрия. Для понимания, думаю, этого достаточно.

11

Как разбить связь многие ко многие (M:N) на 2 связи один ко многим (1:M) ?

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

7

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

На входе

5

 

В приведенном к 1NF виде

8

На выходе

Готовая реляционная БД MySQL, соответствующая 4 нормальным формам.

Рисуем ER диаграмму

Идём по алгоритму, описанному выше, позволю себе его напомнить

Алгорим проектирования БД в псевдокоде можно изобразить, например так

–Выделить все сущности, подлежащие хранению в БД (отделы, сотрудники, заказы)

–Выявить атрибуты (у отделов – название, у сотрудников – имя, фамилия, зарплата, у заказов – имя, количество)

–Выявить взаимосвязи между сущностями – отсутствие, один к одному (1:1), один ко многим (1:M), многие ко многим (M:N). Связь один ко многим это когда в одном отделе работает несколько сотрудников, у одного поставщика несколько контрактов и так далее).

–Разделить сущности на сильные (независимые) и слабые (зависимые) – если есть взаимосвязь и одна сущность зависит от другой, то говорят, что зависимая сущность – слабая, независимая сильная. Пример – отделы и сотрудники.

–Полученную схему отобразить в диаграммах MySQL Workbench и сделать ForwardEngeneering для создания реальной физической базы данных.

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

Важно при проектировании БД выделять те атрибуты, которые непосредственно относятся к решению задачи в техническом задании иначе из проектирования БД можно вообще не вылезти)))

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

1 и 2 Этап – поиск сущностей и атрибутов

Cущности (в скобках атрибуты)

1. Supplier

2. Contracts (ContrDate)

3. Order (OrderDate)

4. Writer

5. Book (Titile) // <<Этой сущности не было в таблице, мы увидели её и создали

6. Genre

7. Publisher

8. Deliveries (Amount, Price) // <<Этой сущности не было в таблице, мы увидели её и создали

Как отделить сущность от атрибута?

Верный знак – связь 1:1. Например, у контракта может быть только одна дата. У заказов – аналогично. У книг – только одно название. У поставок поставщиков – только одно количество поставок на конкретную дату и также при поставке – только одна цена.

В общем, логика прослеживается.

Сущность – Атрибут имеет взаимосвязь 1:1 в общем случае

Сущность – Сущность имеет взаимосвязь 1:M или M:N в общем случае

3 и 4 этап – установка взаимосвязей

Здесь можно, конечно как угодно действовать, рисовать на бумаге, рисовать в программах для интеллект-карт, но мне кажется лучше всего воспользоваться готовым софтом для ER-моделирования. Можно 1000 раз переставлять сущности, менять взаимосвязи. Итак, откроем MySQL WorkBench.

12

File >NewModel >AddDiagram

13

2 раза кликаем по AddDiagram. И перед нами открывается поле для действий.

14

 

Начинаем заполнять. Сначала добавим все сущности с атрибутами. А потом установим взаимосвязи.

Как добавить хотя бы 1 таблицу и заполнить её?

15

 

Заполняем таблицу так как нам надо…

16

 

Создадим таким образом все таблицы, которые нам нужны. Всего 8 таблиц как и заказывали.

17

 

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

В чем разница между identifying and non-identifying relationships?

Теперь, собственно попробуем наладить взаимосвязи! Но прежде, разберемся с пунктирными и непунктирными линиями во взаимосвязях.

18

 

Классные объяснения на английском находятся здесь. Больше всего мне понравилось вот это объяснение

A book belongs to an owner, and an owner can own multiple books. But the book can exist also without the owner and it can change the owner. The relationship between a book and an owner is a non-identifying relationship.

A book however is written by an author, and the author could have written multiple books. But the book needs to be written by an author it cannot exist without an author. Therefore the relationship between the book and the author is an identifying relationship.

Если книга может существовать без владельца, а она может, тогда  non-identifying relationship

Если книга не может существовать без автора,а она не может, тогда  identifying relationship

Технически это отражается следующим образом

identifying relationship:

Parent ------ ID (PK) Name Child ----- ID (PK) ParentID (PK, FK to Parent.ID) -- notice PK Name

Parent

------

ID (PK)

Name

 

Child

-----

ID (PK)

ParentID (PK, FK to Parent.ID) -- notice PK

Name

non-identifying relationship:

Parent ------ ID (PK) Name Child ----- ID (PK) ParentID (FK to Parent.ID) -- notice no PK Name

Parent

------

ID (PK)

Name

 

Child

-----

ID (PK)

ParentID (FK to Parent.ID) -- notice no PK

Name

То есть, в случае identifying в ключ ребенка встроен ключ родителя. А в случае non-identifying, в ключе ребенка нет ключа родителя.

Строим взаимосвязи

19

 

Последний штрих – разрушим связи многие ко многим

В нашем случае

-1 автор может написать несколько книг. И также можно сказать – несколько авторов могли написать 1 книгу. Поэтому вводим тип сущности WRITERS_BOOKS

-В 1 жанре может быть несколько книг. 1 книга может быть написана в нескольких жанрах. Вводим GENRES_BOOKS

Технически это просто

-удаляем старые взаимосвязи

-Теперь выбираем на палитре инструментов связь n:m, соединям наши таблицы и получаем следующее – 2 промежуточные таблицы.

22

 

 

Ну и последний шаг – создаем физическую базу

DataBase > Forward Engeneer

23

 

Выбираем опции и настройки, которые нам нужны

24

25

 

26

 

Далее собственно выполнение скрипта

27

 

Проверяем – создалась ли база и таблицы в реальной базе данных

28

digital-flame.ru