Моделирование упрощает проектирование баз данных и обслуживание, позволяя вам, архитектору данных, визуализировать вопросы проектирования и требования. Управляемое моделью проектирование баз данных это эффективная методология для создания хороших баз данных, обеспечивая гибкость, чтобы ответить на развивающиеся требования к данным. Модели используются, чтобы построить диаграммы ER и физические базы данных MySQL.
MySQL Workbench обеспечивает обширные возможности по созданию и управлению моделями базы данных, включая:
Это не исчерпывающий список. Следующие разделы описывают эти и дополнительные возможности моделирования данных.
Моделирование понятий и интерфейсных элементов описано в следующих секциях.
Когда Model Editor вызван с домашнего экрана, MySQL Workbench показывает страницу MySQL Model. Страница MySQL Model имеет есть три главных панели: Description Editor, User Types List/History и Model Overview.
Рис. 9.1. Страница MySQL Model

Description Editor и панель User Types List/History содержатся в рамках боковой панели. Она может быть перемещена, используя диалог Workbench Preferences.
Панель Model Overview включает следующие разделы:
EER Diagrams
Для каждой из этих секций добавьте объекты к проекту, щелкнув по соответствующему символу add-object. Можно также переименовать, отредактировать, обрезать, скопировать или удалить объекты на этой странице, щелкнув правой кнопкой мыши, чтобы открыть контекстное меню.
Следующие разделы далее обсуждают страницу MySQL Model.
Некоторые пункты меню не доступны в MySQL Workbench Community Edition, а есть только в MySQL Workbench Commercial Editions. Это обозначается, когда применимо.
Используйте меню , чтобы открыть проект,
начать новый проект или сохранить проект. Выбор открывает схему по умолчанию
mydb. Выбор открывает диалоговое окно файла с типом файла по умолчанию
MySQL Workbench Models (mwb).
Чтобы показать список недавно открытых файлов MWB, выберите
из меню.
Клавиша быстрого вызова, чтобы создать новый проект:
Control+N, чтобы открыть
существующий проект Control+O.
Закрыть в настоящее время активную вкладку
MySQL Model или
EER Diagram можно через меню
.
Можно также сделать это с клавиатуры, нажав
Control+W.
Чтобы вновь открыть вкладку MySQL Model см.
раздел 9.1.1.1.3. Чтобы вновь открыть
вкладку EER Diagram, дважды щелкните
EER Diagram в секции
EER Diagrams страницы
MySQL Model.
Используйте пункты меню или
, чтобы сохранить модель.
Когда вы сохраняете модель, ее имя появляется в заголовке окна.
Если вы внесли изменения в проект и не сохранили их, звездочка появляется в
заголовке окна после имени модели. Когда вы сохраняете модель, она
сохраняется как файл MySQL Workbench с расширением
mwb.
Используйте пункт меню , чтобы
импортировать определение данных MySQL (DDL) файл скрипта.
Например, это могло бы быть файлом, созданным, дав команду
mysqldump --no-data
. MySQL Workbench обращается со скриптом следующим образом:
CREATE DATABASE
db_name;,
объекты схемы копируются к схеме по умолчанию
mydb.Physical Schemata
страницы MySQL Model.Для получения дополнительной информации об импортировании скрипта DDL посмотрите раздел 9.4.2.1.
В подменю можно также импортировать
файлы DBDesigner4.
Есть множество пунктов в подменю . Можно произвести SQL-операторы, необходимые, чтобы создать новую базу данных или изменить существующую. Для получения дополнительной информации об этих пунктах меню, посмотрите раздел 9.4.1.1.
Используя подменю , можно также экспортировать диаграмму EER как PNG, SVG, PDF или файл Postscript. Для примера файла PNG посмотрите рис. 9.29.
Меню позволяет вам установить формат бумаги, ориентацию и края для печати.
Параметры печати позволены, только если выбрана вкладка EER Diagrams. У вас есть выбор печати вашей модели непосредственно на вашем принтере, печать ее как файл PDF или создание файла PostScript. Для получения дополнительной информации посмотрите раздел 9.2.1.
Параметры печати доступны только в MySQL Workbench Commercial.
Используйте пункт меню , чтобы установить следующие свойства вашего проекта:
Name: Имя модели (по умолчанию
MySQL Model).Version: Номер версии проекта.Author: Автор проекта.Project: Название проекта.Created: Не редактируемое поле, определено
атрибутами файла MWB.Last Changed: Не редактируемое поле,
определено атрибутами файла MWB.Description: Описание вашего проекта.
Используйте меню , чтобы внести изменения в объекты. Текстовые описания пункта меню изменяются, чтобы отразить название выбранного объекта.
У этого меню есть пункты для вырезки, копирования и вставки. Эти действия могут также быть выполнены, используя ключевые комбинации Control+X, Control+C и Control+V. Отмените удаление, используя . Ключевая комбинация Control+Z может также использоваться, чтобы отменить операцию. Также возможно выполнить используя пункт меню или ключевую комбинацию Control+Y.
Также найдите пункт для удаления в настоящее время выбранного объекта. Команда с клавиатуры для этого действия: Control+Delete. Можно также щелкнуть правой кнопкой мыши по объекту и выбрать опцию "Удалить" из всплывающего меню.
Меню ведет себя по-другому в зависимости от обстоятельств. Например, если активна EER Diagram и таблица это в настоящее время выбранный объект, диалоговое окно может открыть выяснение, хотите ли вы удалить таблицу только из листа или из базы данных также. Для получения информации об урегулировании поведения по умолчанию, удаляя из EER Diagram, см. раздел 3.2.4.
Если активна страница MySQL Model,
выбранный объект удален из каталога и не будет
никакого диалогового окна подтверждения
.
Выберите , чтобы отредактировать в настоящее время выбранный объект. Можно также редактировать в новом окне выбором . Клавиши быстрого вызова для и это Control+E и Control+Shift+E.
Меню имеет следующие подменю:
Эти пункты меню активны только, когда вкладка EER Diagram выбрана. Пункты и отключены, если никакой объект в настоящее время не выбирается на диаграмме EER.
Когда многократные объекты были отобраны, используя один из этих пунктов меню, можно перейти между выбранными пунктами, выбрав или .
Отбор объектов изменяет некоторые пункты меню . Если только один объект отобран, имя объекта появляется после , и . Если больше чем один объект отобран, эти пункты меню показывают количество отобранных объектов.
Каждое окно MySQL Workbench включает функциональность поиска. Панель с показан на рисунке.
Рис. 9.2. Панель Find с Find & Replace

Опции диалога Find
описаны в следующем списке:
MySQL Workbench Commercial Editions включает продвинутое средство Find для моделей, как обозначено на рисунке ниже.
Рис. 9.3. Окно Find

Можно искать следующие местоположения:
MySQL Model.MySQL Model Page
и все диаграммы EER.Введите текст, который вы хотите искать, в поле Find Text. Можно также выбрать любые из следующих опций:
Любой текст в поле Find Text сохраняется на время вашей сессии. Используйте кнопки или , чтобы найти случаи вашего критерия поиска.
Нажатие кнопки открывает окно Find Results, закрепленное в нижней части приложения. При необходимости можно отцепить это окно как любое другое.
-Используйте это окно, чтобы перейти к объектам. Например, двойной щелчок
по Description объекта, расположенного на EER
диаграмме, проводит к определенной диаграмме и выбирает объект. Заметьте, что
свойства объекта показаны на панели Properties.
Диалог Find может также быть открыт,
используя ключевую комбинацию
Control+F. Используйте
Control+G, чтобы найти следующее
вхождение и Control+Shift+G,
чтобы найти предыдущее. Закройте окно Find
нажатием на в правом верхнем углу или
нажимая клавишу Esc.
Этот пункт меню позволяет вам установить глобальные настройки MySQL Workbench.
Это меню с учетом контекста показывает общие возможности для изменения представления в MySQL Workbench. Варианты изменяются в зависимости от текущей вкладки, доступные пункты меню :
General options:
Model/EER options:
Способность увеличить масштаб диаграммы EER является также доступной с
использованием инструмента ползунка в панели Model
Navigator, см. раздел 9.1.1.9
.
Меню применяются только к объектам на листе диаграммы EER и позволены, только если представление диаграммы EER активно. У меню есть эти пункты:
Classic,
не разрешают расширение или сокращение. Индексы не будут автоматически
расширены, если они не были ранее расширены и свернуты через
.Когда модель открыта, это меню показывает действия для вашей модели, у него есть эти пункты:
Когда у вас будут таблицы с многочисленными колонками, используйте этот пункт меню, чтобы увеличить размер EER.
Для получения дополнительной информации о Workbench Preferences, см. раздел 3.2.4.
Диалог находится в меню .
доступен только в MySQL Workbench Commercial.
Используйте это диалоговое окно, чтобы установить возможности для создания документации ваших моделей базы данных. Для получения дополнительной информации посмотрите раздел 9.2.2.
Меню имеет два подменю проверки, и . Используйте эти подменю для общей проверки и MySQL-проверки объектов и отношений, определенных в вашей модели.
Эти пункты доступны только в MySQL Workbench Commercial.
У подменю есть эти пункты:
У подменю есть эти пункты:
Для получения дальнейшей информации посмотрите раздел 9.2.3.
Пункты в подменю применяется исключительно к диаграмме EER.
В подменю есть эти пункты:
Workbench (Simplified).Стиль объектной нотации, который вы выбираете, сохраняется на время вашей сессии MySQL Workbench и сохранен наряду с вашей моделью. Когда MySQL Workbench перезапущен, объектная нотация возвращается к значению по умолчанию.
Если вы планируете экспортировать или напечатать диаграмму EER, выберите стиль сначала. Изменение стилей после помещения объектов в диаграмму, может значительно изменить вид диаграммы.
Пункты подменю применяются исключительно к диаграмме EER:
Чтобы рассмотреть различные стили, настройте отношения между двумя или больше таблицами и выберите различные пункты меню.
Стиль отношений, который вы выбираете, сохраняется на время вашей сессии
MySQL Workbench и сохранен наряду с вашей моделью. Когда MySQL Workbench
перезапущен, стиль отношений возвращается к Crow's Foot
.
Если вы планируете экспортировать или напечатать диаграмму EER, выберите стиль сначала. Изменение стилей после помещения объектов в диаграмму, может значительно изменить диаграмму.
Это меню показывает действия для подключенного сервера MySQL. У меню есть эти пункты:
Для получения дополнительной информации об этом мастере см. здесь.
int8 к целевому типу данных MySQL
BIGINT.connections.xml, для получения дополнительной
информации об этом файле см.
раздел 3.3.Это меню показывает сценарии GRT и опции плагинов. У меню есть эти пункты:
Используйте меню , когда вы требуете поддержки, или когда вы хотите помочь улучшить MySQL Workbench. У этого меню есть следующие пункты:
wb.log
.About.
Это также показывает версию MySQL Workbench.Используйте пункт меню , , чтобы показать информацию о вашей системе. Этот пункт особенно полезен для определения режима рендеринга:
MySQL Workbench Community (GPL) for Windows version 6.1.4revision 11773 build 1454 Configuration Directory: C:\Users\philip\AppData\Roaming\MySQL\Workbench Data Directory: C:\Users\philip\Desktop\MySQL\MySQL Workbench 6.1.4 CE Cairo Version: 1.8.8 OS: Microsoft Windows 7Service Pack 1 (build 7601), 64-bit CPU: 4x Intel(R) Core(TM) i5-2400 CPU @ 3.10GHz, 8.0 GiB RAM Active video adapter NVIDIA GeForce GT 610 Installed video RAM: 1024 MB Current video mode: 1920 x 1080 x 4294967296 colors Used bit depth: 32 Driver version: 9.18.13.2049 Installed display drivers: nvd3dumx.dll,nvwgf2umx.dll,nvwgf2umx.dll,nvd3dum,nvwgf2um,nvwgf2um Current user language: English (United States)
Панель инструментов MySQL Workbench расположена ниже строки меню. Щелкните по инструментам на панели инструментов, чтобы выполнить следующие действия:
mwb).Другие инструменты появляются на панели инструментов в зависимости от контекста.
Когда лист диаграммы EER выбран, следующие символы появляются справа от значков стрелки:
Панель инструментов также изменяется, в зависимости от активного инструмента в вертикальной панели инструментов. Для обсуждения этих инструментов посмотрите раздел 9.1.2.1.
Если активен инструмент Table,
списки схем, типы хранения и сопоставления появляются на панели инструментов.
Свойства таблицы могут быть изменены, используя редактор свойств.
Когда объект выбран, свойства объекта, такие как цвет, могут быть изменены в редакторе свойств.
Используйте Add new Diagram в области
MySQL Model, чтобы создать диаграммы EER.
Когда вы добавляете диаграмму EER, новая вкладка появляется ниже панели
инструментов. Используйте ее, чтобы перейти к недавно созданной диаграмме
EER. Для дальнейшего обсуждения диаграмм EER посмотрите
раздел 9.1.2.
Панель Physical Schemata страницы
MySQL Model показывает активные схемы и объекты,
что они содержат.
Раскройте Physical Schemata
дважды щелкая по стрелке слева от заголовка окна
Physical Schemata. Когда секция
Physical Schemata расширена, она показывает все
в настоящее время загруженные схемы.
Каждая схема показывается как вкладка. Чтобы выбрать определенную схему,
щелкните по ее вкладке. Когда MySQL Workbench открыт, схема по умолчанию
mydb. Можно начать работать с этой схемой или
загрузить новый файл модели MySQL Workbench (расширение
.mwb).
Есть множество способов добавить схему к панели
Physical Schemata.
Можно открыть файл MWB, перепроектировать скрипт MySQL или, если вы
используете MySQL Workbench Commercial,
можно перепроектировать базу данных, соединившись с сервером MySQL.
Можно также добавить новую схему, щелкнув
справа вверху на панели
Physical Schemata. Чтобы удалить схему, щелкните
по ее вкладке и нажмите кнопку
слева от . Налево от этих кнопок есть три
кнопки, которые управляют, как показаны символы объекта базы данных:
Панель Physical Schemata
имеет следующие разделы:
Каждая секция содержит указанные объекты базы данных и символ, используемый для создания дополнительных объектов.
Любые объекты базы данных, добавленные к листу диаграммы EER,
также обнаруживаются в Physical Schemata.
Для получения информации о добавлении объектов к листу диаграммы EER
посмотрите раздел 9.1.2.
У панели Schema Privileges есть следующие
разделы, используемые, чтобы создать пользователей для ваших
схем и определить роли:
Рис. 9.4. Роли и привилегии

Чтобы добавить роль, дважды щелкните . Это создает роль с именем по умолчанию
role1. Щелчок правой кнопкой мыши по роли
открывает всплывающее меню со следующими пунктами:
Чтобы переименовать роль, щелкните по ролевому имени. Тогда вы будете в состоянии отредактировать текст.
Все определенные роли перечисляются под Roles на левой стороне ролевого редактора. Двойной щелчок по ролевому объекту открывает ролевой редактор внизу страницы.
Рис. 9.5. Редактор ролей

Выберите роль, к которой вы хотите добавить объекты. Можно перетащить
объекты из Physical Schemas в секцию
Objects ролевого редактора.
Чтобы назначить привилегии на роль, выберите ее из секции
Roles, затем выберите объект в секции
Objects. В секции
Privileges проверьте права, которые вы хотите
назначить на эту роль. Например, роль
web_user могла бы иметь только привилегию
SELECT и только для объектов из базы данных,
которые выставляются через веб-интерфейс. Создание ролей может сделать
процесс назначения прав новым пользователям намного легче.
Чтобы добавить пользователя, дважды щелкните
Add User. Это создает пользователя с именем по
умолчанию user1.
Двойной щелчок по этому пользователю открывает пользовательский редактор.
В User Editor установите имя и пароль
пользователя, используя поля Name и
Password. Назначьте одну роль или много ролей
пользователю, выбрав желаемые роли из области справа и затем щелкнув кнопку
. Роли могут быть отменены, переместив
их в противоположном направлении.
Щелчок правой кнопкой мыши по пользователю открывает всплывающее меню. Пункты и функции меню описаны в разделе 9.1.1.5.1.
Используйте панель SQL Scripts, чтобы
добавить скрипты SQL к модели для документации и организационных целей,
выполняя синхронизацию модели/схемы или прямую разработку.
Если вы создали свой проект из скрипта SQL и планируете создать скрипт
ALTER, можно хотеть добавить оригинальный
скрипт здесь, потому что будет необходимо создать скрипт
ALTER. См.
раздел 9.4.1.1.2.
Способность использовать приложения, выполняя прямую разработку и синхронизацию была добавлена в MySQL Workbench 6.2.0.
Рис. 9.6. Редактор скриптов SQL

Используйте панель Model Notes, чтобы
написать проектные записки. Любые скрипты или добавленные примечания будут
сохранены с вашим проектом.
Используйте палитру History, чтобы
рассмотреть меры, которые вы приняли. Нажатие на запись
открывает всплывающее меню с пунктом
.
Выберите этот пункт, чтобы выбрать один элемент.
Можно выбрать многократные смежные записи, нажав
Shift и щелкнув по записям,
которые вы хотите скопировать. Выберите записи состоящие из нескольких
несмежных участков при помощи
Control.
Только действия, которые изменяют модель MySQL или изменяют диаграмму EER,
захватываются палитрой History.
Панель Model Navigator или Bird's Eye предоставляет обзор объектов, помещенных на лист диаграммы EER, и поэтому является самой полезной, когда диаграмма EER активна. Любые объекты, которые вы поместили на лист, должны быть видимы в навигаторе.
Model Navigator показывает общую площадь диаграммы EER. Черный прямоугольный контур указывает на порт представления на видимую область листа. Чтобы изменить порт представления диаграммы EER, щелкните по этой черной схеме и тяните ее к желаемому местоположению. Можно увеличить масштаб отобранных областей диаграммы EER при помощи инструмента ползунка у основания этого окна. Размеры порта представления изменяются, как вы увеличиваете и уменьшаете масштаб. Если у инструмента ползунка есть центр, можно также изменить масштаб изображения с использованием клавиш курсора.
Рис. 9.7. Model Navigator: пример

Размер по умолчанию Model Navigator:
две страницы. Используйте страницу ,
, чтобы изменить
название диаграммы и размер. Следующие данные показывают пример
диалога Diagram Properties.
Рис. 9.8. Палитра Model Navigator

Палитра Catalog Tree показывает все схемы,
которые присутствуют в секции Physical Schemata
страницы MySQL Model. Расширьте представление об
объектах, содержавшихся в определенной схеме, щелкнув
слева от названия схемы.
Это показывает следующие значки папок:
Расширьте каждый из них в свою очередь, щелкнув слева от значка папки.
Палитра Catalog Tree прежде всего используется, чтобы перетащить объекты на лист диаграммы EER.
Эта палитра показывает все слои и рисунки на диаграмму EER. Если слой или
рисунок в настоящее время выбраны, X
появляется около названия объекта, и его свойства показаны в палитре
Properties. Это полезно, определяя выбранные
объекты, используя опции в меню . См.
раздел 9.1.1.1.2.
Отбор объекта в палитре Layers
также регулирует порт представления к области листа, где объект расположен.
При некоторых обстоятельствах можно хотеть сделать объект на диаграмме EER
невидимым. Выберите объект и в палитре Properties
установите свойство visible в
False.
Палитра Layer обеспечивает легкий способ
определить местонахождение объекта, такого как отношения, которые были
установлены в hidden. Откройте палитру
Layers и выберите объект, дважды щелкая по нему.
Можно тогда отредактировать объект и изменить его настройки
видимости к Fully Visible.
Палитра Properties используется, чтобы
показать и отредактировать свойства объектов на диаграмме EER.
Это особенно полезно для редактирования экранных объектов, таких
как слои и примечания.
Отбор объекта в диаграмме EER показывает свойства в палитре
Properties.
У всех объектов кроме связей есть следующие свойства за исключением отмеченного:
color:
Цветной акцент объекта показан как шестнадцатеричное значение.
Измените цвет объекта, изменив это значение.
Только знаки, которые законны для шестнадцатеричных значений,
могут быть введены. Можно также изменить цвет, щелкнув
, чтобы открыть диалоговое
окно изменения цвета.description:
Применимый только к слоям. Средство документирования цели слоя.expanded:
Этот признак относится к объектам, таким как таблицы, которые могут быть
расширены, чтобы показать колонки, индексы и триггеры.height: Высота объекта.
В зависимости от объекта, это свойство может быть только прочитано или
доступно чтение-запись.left: Число пикселей от объекта до
левой стороны листа.locked: Блокирован ли объект.
Значение для этого признака true или
false.manualSizing: Был ли объект вручную измерен.
Значение для этого признака true или
false.name: Название объекта.top: Число пикселей от объекта
до вершины листа.visible: Обнаруживается ли объект на листе.
Используйте 1 для true и
0 для false. Это в настоящее время используется
только для отношений.width: Ширина объекта.
В зависимости от объекта, это свойство может быть только прочитано или
доступно чтение-запись.У таблиц есть следующие дополнительные свойства:
indexesExpanded:
Показаны ли индексы, когда таблица помещается в лист.
Используйте 1 для true и
0 для false.triggersExpanded: Показаны ли триггеры,
когда таблица помещается в лист.
Используйте 1 для true и
0 для false.Для обсуждения свойств связи посмотрите раздел 9.1.4.3.
Диаграммы EER создаются, дважды щелкая Add
Diagram. Можно создать любое количество диаграмм EER, как можно
создать любое количество физических схем (баз данных).
Каждая диаграмма EER изображается схематически как вкладка под
панелью инструментов, определенная диаграмма EER выбрана, щелкнув
по ее вкладке.
Нажатие на вкладку диаграммы EER проводит к листу, используемому для того,
чтобы графически управлять объектами базы данных.
Vertical Toolbar находится на левой
стороне этой страницы.
Этот инструмент для создания и редактирования диаграмм EER для модели. Чтобы отредактировать существующую базу данных, перепроектируйте базу данных, чтобы создать модель, или синхронизируйте вашу модель с базой данных. Для получения дополнительной информации посмотрите разделы 9.4.2.2 и 9.5.
Вертикальная панель инструментов появляется на левой панели, когда вкладка диаграммы EER выбрана. Инструменты на этой панели инструментов помогают в создании диаграмм EER.
Рис. 9.9. Вертикальная панель инструментов

Нажатие на инструмент изменяет указатель мыши на указатель, который напоминает значок инструмента, указывая, какой инструмент активен. Эти инструменты могут также быть активированы с клавиатуры, нажав клавишу, связанную с инструментом. Проведение указателя мыши по символу панели инструментов покажет описание инструмента и его горячей клавиши.
Более подробное описание каждого из этих инструментов следует.
Стандартный указатель мыши, расположенный наверху вертикальной панели инструментов, является указателем мыши по умолчанию для вашей операционной системы. Используйте этот инструмент, чтобы вернуться к стандартному указателю мыши после использования других инструментов.
Чтобы вернуться к указателю по умолчанию с клавиатуры, используйте клавишу Esc.
Ручной инструмент используется, чтобы переместить всю диаграмму EER. Щелкните по этому инструменту и затем щелкните где угодно по листу диаграммы EER. Перемещение мыши, удерживая кнопку мыши изменяет порт представления листа.
Чтобы определить ваше положение на листе, посмотрите на панель
Model Navigator в верхнем правом углу. Если
панель Model Navigator не открыта, используйте
, ,
, чтобы ее открыть.
Чтобы активировать ручной инструмент с клавиатуры, используйте клавишу H.
Можно также изменить порт представления диаграммы EER, используя панель
Model Navigator, см.
раздел 9.1.1.9.
Используйте инструмент резинки, чтобы удалить объекты из листа диаграммы EER. Измените указатель мыши на инструмент резинки, затем щелкните по объекту, который вы хотите удалить. В зависимости от ваших параметров настройки, диалоговое окно должно открыться, прося, чтобы вы подтвердили тип удаления.
Действием инструмента резинки
управляет общее урегулирование выбора для удаления.
Перед использованием инструмента резинки надо быть уверенным, что вы
понимаете доступные параметры, описанные в
разделе 3.2.4.
Чтобы активировать инструмент резинки с клавиатуры, используйте клавишу D.
Можно также удалить объект, выбрав его и нажав Control+Delete или щелкнув правой кнопкой мыши по нему и выбрав из всплывающего меню.
Инструмент layer это прямоугольный символ с буквой
L в левом нижнем углу.
Используйте инструмент слоя, чтобы организовать объекты на
листе диаграммы EER. Это полезно для группировки подобных объектов.
Например, можно использовать его, чтобы сгруппировать все представления.
Щелкните по инструменту слоя и используйте его, чтобы потянуть прямоугольник на листе. Измените на стандартный инструмент указателя мыши и возьмите любые объекты, которые требуется поместить в недавно созданный слой.
Чтобы изменить размер слоя, сначала выберите его, щелкнув по нему. Когда слой выбран, маленькие прямоугольники появляются в каждом углу и посреди каждой стороны. Приспособьте размер, таща любой из этих прямоугольников.
Можно также внести изменения в слой, выбрав слой и изменив свойства в
панели Properties. Использование панель
Properties это единственный способ
изменить название слоя.
Чтобы активировать инструмент слоя с клавиатуры, используйте клавишу L. См. раздел 9.1.7.
Текстовый инструмент это квадратный значок с буквой
N в левом верхнем углу. Используйте этот
инструмент, чтобы поместить текстовые объекты на лист диаграммы EER.
Щелкните по инструменту, затем по желаемому местоположению на листе.
После того, как текстовый объект был помещен на лист, указатель мыши
возвращается к своему изначальному виду.
Чтобы добавить текст к текстовому объекту, щелкните правой кнопкой мыши по текстовому объекту и выберите или .
Можно управлять свойствами текстового объекта, выбирая его и затем изменяя
его свойства в панели Properties.
Чтобы активировать текстовый инструмент с клавиатуры, используйте клавишу N. См. see раздел 9.1.9.
Используйте инструмент изображения, чтобы поместить изображение на лист. Когда этот инструмент выбран, и вы щелкаете по листу, диалоговое окно предоставляет возможность выбрать желаемый графический файл.
Чтобы активировать инструмент изображения с клавиатуры, используйте клавишу I. См. раздел 9.1.10.
Используйте этот инструмент, чтобы составить таблицу на листе диаграммы EER.
Нажатие на лист составляет таблицу. Чтобы отредактировать таблицу редактором таблиц MySQL, щелкните правой кнопкой мыши по ней и выберите или из всплывающего меню. Можно также дважды щелкнуть по таблице, чтобы загрузить ее в редактор таблиц.
Чтобы активировать инструмент таблицы с клавиатуры, используйте клавишу T. См. раздел 8.1.10.
Используйте этот инструмент, чтобы создать представление на листе диаграммы EER. Когда инструмент стола активируется, список схем появляется на панели инструментов ниже главного меню, позволяя вам связать новое представление с определенной схемой. Можно также выбрать цвет для объекта, выбрав из списка цветов справа от списка схем.
После выбора этого инструмента, щелчок по листу создает новое представление. Чтобы отредактировать это представление, щелкните правой кнопкой мыши по нему и выберите или из всплывающего меню.
Чтобы активировать инструмент представления с клавиатуры, используйте клавишу V. См. раздел 9.1.5.
Используйте этот инструмент, чтобы создать хранимую подпрограмму на листе диаграммы EER. Когда этот инструмент активируется, список схемы появляется на панели инструментов ниже главного меню, позволяя вам связать подпрограмму с определенной схемой. Можно также выбрать цвет из списка цветов справа от списка схем.
После выбора этого инструмента, щелчок по листу создает новую подпрограмму. Чтобы ее отредактировать, щелкните правой кнопкой мыши по ней и выберите или из всплывающего меню.
Чтобы активировать инструмент с клавиатуры, используйте клавишу G. См. раздел 9.1.6.2.
Пять инструментов отношений используются, чтобы представлять следующие отношения:
Эти инструменты появляются внизу вертикальной панели инструментов. Проведите указатель мыши по каждому инструменту, чтобы видеть текст, который описывает функцию. См. раздел 9.1.4.
Двойной щелчок по значку
в части Physical Schemas вкладки
Model Overview
добавляет таблицу с именем по умолчанию table1.
Если таблица с этим именем уже существует, новую таблицу называют
table2.
Добавление новой таблицы автоматически открывает редактор таблиц, см. see раздел 8.1.10.
Щелчок правой кнопкой мыши по таблице открывает контекстное меню со следующими пунктами:
CREATE TABLE для таблицы.INSERT на основе вставок модели. Ничто не
копируется в буфер, если у таблицы нет определенных вставок.INSERT, который
основан на модели.Если редактор таблиц не открыт, открывает его. Если это уже открыто, выбранная таблица заменяет предыдущую. открывает дополнительную вкладку редактора таблиц.
Любые таблицы, добавленные к разделу
Physical Schemas, также обнаруживается в палитре
Catalog Tree во вкладке
EER Diagram. Они могут быть добавлены к
диаграмме EER перетаскиванием их из этой палитры.
Таблицы могут также быть добавлены к диаграмме EER, используя инструмент
table на вертикальной панели инструментов.
Удостоверьтесь, что вкладка EER Diagram
выбрана, затем щелкните правой кнопкой мыши по значку таблицы на вертикальной
панели инструментов. Значок таблицы это прямоугольный табличный символ.
Щелкание мышью на этом символе изменяет указатель мыши на указатель таблицы. Можно также изменить указатель мыши на указатель таблицы, нажав клавишу T.
Выбор инструмента table меняет содержание
панели инструментов, которая немедленно появляется ниже строки меню. Когда
указатель Tables активен, эта панель
инструментов содержит список схем, список механизмов хранения, список
сопоставлений и список цветовых схем. Используйте эти списки, чтобы выбрать
соответствующую схему, сопоставление и цветной акцент для новой таблицы.
Удостоверьтесь, что вы связываете новую таблицу с базой данных.
Механизм хранения и сопоставление таблицы могут быть изменены, используя
редактор таблиц. Цвет вашей таблицы может быть изменен, используя палитру
Properties. Значения
Default Engine и Default Collation
относятся к умолчаниям базы данных.
Составьте таблицу, щелкнув где угодно по листу диаграммы EER.
Это действие составляет новую таблицу с именем по умолчанию
table1. Чтобы вернуться к указателю мыши по
умолчанию, щелкните по значку стрелки наверху
вертикальной панели инструментов.
Рис. 9.10. Таблица на диаграмме EER

Как показано на предыдущем рисунке, первичный ключ обозначается значком ключа, а индексируемые поля обозначаются отличным цветным алмазным символом. Щелкните по стрелке справа от имени таблицы для показа полей. Можно таким же способом переключать показ триггеров и индексов.
Щелчок правой кнопкой мыши по таблице открывает всплывающее меню со следующими пунктами:
За исключением пункта удаления, эти пункты меню функционируют, как описано в разделе 9.1.3.1. Поведение удаления определяется вашими параметрами настройки MySQL Workbench, см. раздел 3.2.4 .
Ограничения внешнего ключа поддерживаются только для механизма хранения
InnoDB. Для других вариантов
синтаксис внешнего ключа правильно разобран, но не осуществлен.
Для получения дополнительной информации посмотрите
Foreign Key Differences.
Используя MySQL Workbench можно добавить внешний ключ из редактора таблиц или при помощи инструментов отношений на вертикальной панели инструментов диаграммы EER. Эта секция имеет дело с добавлением внешнего ключа, используя инструменты внешнего ключа. Чтобы добавить внешний ключ, используя редактор таблиц, посмотрите раздел 8.1.10.4.
Графические инструменты для добавления внешних ключей являются самыми эффективными, когда вы строите таблицы с нуля. Если вы импортировали базу данных, используя скрипт SQL и не должны добавлять столбцы к вашим таблицым, можно счесть более эффективным определить внешние ключи, используя редактор таблиц.
У вертикальной панели инструментов на левой стороне диаграммы EER есть шесть инструментов внешнего ключа:
one-to-one non-identifying relationship
one-to-many non-identifying relationship
one-to-one identifying relationshipone-to-many identifying relationshipmany-to-many identifying relationshipPlace a Relationship Using Existing Columns
Различия включают:
Отношения идентификации это то, где дочерняя таблица не может быть однозначно определена без ее родителя. Как правило, это происходит там, где посредническая таблица составлена, чтобы решить отношения много-много. В таких случаях первичный ключ обычно это составной ключ, составленный из первичных ключей от двух оригинальных таблиц.
Создайте или перетащите таблицы, которые вы хотите соединить.
Гарантируйте, что есть первичный ключ в таблице, которая будет на стороне
one
отношений. Нажмите на соответствующий инструмент для типа отношений, которые
вы хотите создать. Если вы создаете связь "один ко многим", сначала
щелкните по таблице, которая находится на стороне
many
отношений, затем на таблице, содержащей ключ, на который ссылаются.
Это создает столбец в таблице на стороне многих отношений. Имя по умолчанию
этого столбца table_name_key_name,
где имя таблицы и ключа относятся к таблице, содержащей ключ,
на который ссылаются.
Когда инструмент many-many активен, двойной щелчок по таблице составляет ассоциативную таблицу с many-many отношениями. Для этого инструмента должен быть первичный ключ, определенный в начальной таблице.
Используйте меню , чтобы установить определенное для проекта имя по умолчанию для столбца внешнего ключа (см. раздел 9.1.1.1.5.4). Чтобы изменить глобальное умолчание, посмотрите раздел 3.2.4.
Чтобы отредактировать свойства внешнего ключа, дважды щелкните где угодно по линии связи, которая присоединяется к этим двум таблицам. Это открывает редактор отношений.
Если навести ваш указатель мыши на соединитель отношений, подчеркиваются
соединитель и связанные ключи, как показано на следующем рисунке.
Таблицы film и
film_actor связаны полем
film_id, это поле подчеркнуто в обоих таблицах.
Начиная с поля film_id,
часть первичного ключа в таблице film_actor,
сплошная линия используется для соединителя между этими двумя таблицами.
Рис. 9.11. Соединитель отношений

Если размещение заголовка связи не подходит, можно сменить его положение,
таща его к иному месту. Если вы установили вторичный заголовок, его положение
может также смениться. Для получения дополнительной информации о вторичных
заголовках, посмотрите раздел
9.1.4.3. Где стиль примечания разрешает, например,
Classic, индикаторы количества элементов могут
также быть передвинуты.
Стиль примечания отношений на рис. 9.11 crow's foot, принятый по умолчанию. Можно изменить это, если вы используете Commercial Edition MySQL Workbench. См. раздел 9.1.1.1.5.4.
Можно выбрать многократные связи, удержав Control, когда вы щелкаете по связи. Это может быть полезно для выдвижения на первый план определенных отношений на диаграмме EER.
Двойной щелчок по отношениям на листе диаграммы EER открывает редактор отношений. У него есть две вкладки: Relationship и Foreign Key.
На вкладке Relationship
можно установить заголовок отношений, используя поле
Caption. Это имя показывается на листе и
является также именем, используемым для самого ограничения.
Значение по умолчанию для этого имени
fk_. Используйте меню
, , чтобы установить определенное для проекта имя по умолчанию
для внешних ключей. Чтобы изменить глобальное умолчание, посмотрите
раздел 3.2.4.
source_table_destination_table
Можно также добавить вторичный заголовок и заголовок к отношениям.
Секция Visibility Settings используется,
чтобы определить, как отношения показаны на листе диаграммы EER.
Fully Visible это умолчание, но вы также можете
скрыть линии связей или использовать линии разделения. Стиль линии разделения
показывают на следующем рисунке.
Рис. 9.12. Соединитель разделения

Соединитель прерывистой линии указывает на отношения без идентификации. Стиль линии разделения может использоваться с отношениями идентификации или с отношениями без идентификации. Это используется только в целях показа и ни на что не указывает в природе отношений.
Чтобы установить нотацию отношений используют меню , , см. раздел 9.1.1.1.5.4.
Вкладка Foreign Key содержит несколько секций: Referencing Table, Cardinality и Referenced Table.
Опции Mandatory используются, чтобы выбрать,
обязательны ли таблица ссылки и таблица, на которую ссылаются. По умолчанию
оба из этих ограничений true.
Секция Cardinality имеет ряд кнопок, которые позволяют вам выбрать отношения one-to-one или one-to-many. Есть также опция, которая позволяет вам определить, являются ли отношения отношениями с идентификацией.
Щелкните правой кнопкой мыши по связи, чтобы выбрать ее. Когда связь выбрана, она подчеркнута, и ее свойства показаны в палитре properties. Свойства связи отличаются от свойств других объектов. Следующий список описывает их:
caption: Название связи.
По умолчанию имя это название внешнего ключа, и значение центрировано
выше линии связи.captionXOffs: Смещение X заголовка.captionYOffs: Смещение Y заголовка.comment:
Комментарий, связанный с отношениями.drawSplit:
Показать ли отношения как сплошную линию.endCaptionXOffs:
Точка X завершения заголовка.endCaptionYOffs:
Точка Y завершения заголовка.extraCaption:
Вторичный заголовок. По умолчанию этот дополнительный заголовок центрирован
ниже линии связи.extraCaptionXOffs:
Смещение X второго заголовка.extraCaptionYOffs:
Смещение Y второго заголовка.mandatory:
Обязательны ли таблицы. Для получения дополнительной информации посмотрите
раздел 9.1.4.2.many: False, если отношения one-to-one.middleSegmentOffset:
Смещение среднего раздела соединителя.modelOnly: Установлено, когда связь не будет
размножена к DDL. Это просто логическая связь, продвинутая диаграмма.
Это используется, например, при рисовании таблиц
MyISAM с визуальными отношениями, но
без внешних ключей.name:
Имя, определяющее связь на листе диаграммы EER. Обратите внимание на то, что
это не название внешнего ключа.
referredMandatory: Обязательна ли ссылка.
startCaptionXOffs:
Начало X-смещения заголовка.startCaptionYOffs:
Начало Y-смещения заголовка.В большинстве случаев можно изменить свойства отношений, используя
редактор отношений, а не палитру Properties.
Если вы сделаете отношение невидимым, скрывая его, используя Visibility Settings редактора отношений, и затем закроете редактора отношений, вы больше не будете в состоянии выбрать отношения, чтобы что-то с ними сделать в редакторе отношений. Чтобы сделать отношения видимыми снова, необходимо расширить объект таблицы, касающийся отношений, в палитре Layers и выбрать объект связи. Чтобы отредактировать выбранный объект, щелкните правой кнопкой мыши по нему, затем выберите . Можно тогда установить Visibility Settings в Fully Visible. Отношения тогда будут видимы в окне EER Diagram.
Можно добавить представления в базу данных из секции
Physical Schemas страницы
MySQL Model или из диаграммы EER.
Чтобы добавить представление, дважды щелкните
Add View в секции
Physical Schemas страницы
MySQL Model. Имя по умолчанию представления:
view1. Если представление с этим именем уже
существует, новое представление называют view2.
Добавление нового представления автоматически открывает редактор представления, см. раздел 9.1.5.3.
Щелчок правой кнопкой мыши по представлению открывает всплывающее меню со следующими пунктами:
'view_name' вырезано только
из листа EER и не удалено из схемы.
Если редактор таблиц не открыт, открывает его. Если это уже открыто, выбранная таблица заменяет предыдущую. открывает новый редактор представления.
Пункты cut и copy полезны для копирования представлений
между различными схемами. копирует в буфер команду CREATE VIEW.
Используйте , чтобы удалить представление из базы данных. Не будет никакого диалогового окна подтверждения.
Любые представления, добавленные к секции
Physical Schemas также обнаруживаются в палитре
Catalog на левой стороне приложения.
Они могут быть добавлены к диаграмме EER во вкладке EER Diagram
перетаскиванием их от этой палитры.
Представления могут также быть добавлены к диаграмме EER, используя
инструмент View на вертикальной панели
инструментов. Удостоверьтесь, что вкладка
EER Diagram выбрана, затем щелкните по символу
представления на вертикальной панели инструментов. Символ представления это
два накладывающихся прямоугольника ниже значка таблицы.
Нажатие на этот символ изменяет указатель мыши на указатель представления. Чтобы изменить указатель мыши на указатель представления с клавиатуры, используйте клавишу V.
Выбор инструмента View
изменяет содержание панели инструментов, которая появляется ниже строки
главного меню. Когда указатель Views
активен, эта панель инструментов содержит список схем и список цветовых схем.
Используйте эти списки, чтобы выбрать соответствующую схему и цветной акцент
для нового представления. Удостоверьтесь, что вы связываете новое
представление с базой данных. Цвет вашей точки зрения может быть изменен,
используя палитру Properties.
Создайте представление, щелкнув где угодно по листу диаграммы EER.
Это создает новое представление с именем по умолчанию
view1. Чтобы вернуться к указателю мыши по
умолчанию, щелкните по значку стрелки наверху
вертикальной панели инструментов.
Щелчок правой кнопкой мыши по представлению открывает всплывающее меню. За исключением пункта delete, эти пункты меню функционируют, как описано в разделе 9.1.5.1. Поведение выбора delete определяется вашими параметрами настройки MySQL Workbench, см. раздел 3.2.4.
Чтобы вызвать редактор представления, дважды щелкните по объекту
представления на листе диаграммы EER или дважды щелкните по представлению в
секции Physical Schemas страницы
MySQL Model.
Это открывает редактор представления. Любое количество представлений может
быть открыто в то же время. Каждое дополнительное представление появляется
как вкладка наверху редактора представления.
Есть три вкладки у основания редактора представления: View, Comments и Privileges. Переходите между различными вкладками, используя мышь или с клавиатуры, нажав Control+Alt+Tab.
Вкладка View
Используйте вкладку View, чтобы выполнить следующие задачи:
Вкладка Comments
Вкладка позволяет вам ввести комментарии для конкретного представления.
Вкладка Privileges
Вкладка Privileges редактора представления функционирует точно таким же образом как, вкладка Privileges редактора подпрограмм, см. раздел 9.1.6.1.2.2.
Когда вы выбираете представление на листе диаграммы EER, его свойства
показаны в палитре Properties.
Большинство свойств, доступных из палитры
Properties,
относятся к появлению представления на листе диаграммы EER.
Для списка свойств, доступных через палитру
Properties см.
раздел 9.1.1.12.
Можно добавить группу подпрограмм к базе данных из секции Physical Schemata страницы MySQL Model или из диаграммы EER. Подпрограмма может быть добавлена только из секции Physical Schemata страницы MySQL Model.
Чтобы рассмотреть существующую схему, наряду с ее подпрограммами, выбирают , из главного меню. После того, как схема была добавлена к текущей модели, вы видите объекты схемы на панели Physical Schemata страницы MySQL Model.
MySQL Workbench объединяет сохраненные функции и процедуры в один логический объект, названный Routine. Routine Groups используется, чтобы сгруппировать связанные подпрограммы. Определите подпрограмму через Routine Group Editor , чтобы назначить определенную подпрограмму на группу, используя интерфейс перетаскивания.
Проектируя диаграмму EER, можно разместить Routine Groups на листе перетаскивая ее из Catalog Palette. Размещение отдельной подпрограммы на диаграмме не разрешено, поскольку это загромоздило бы лист.
Чтобы добавить подпрограмму, дважды щелкните Add
Routine в разделе Physical Schemata
страницы MySQL Model. Имя по умолчанию:
routine1. Если подпрограмма с этим именем уже
существует, новая называется routine2.
Добавление новой подпрограммы автоматически открывает редактор, см. раздел 9.1.6.1.2.
Щелчок правой кнопкой мыши по подпрограмме открывает всплывающее меню со следующими пунктами:
открывает редактор.
Пункты cut и paste полезны для копирования подпрограмм между различными схемами.
Удаление кода из вкладки Routines в Routine Group Editor приводит к удалению объекта из модели.
Чтобы удалить подпрограмму из группы, используйте вкладку Routine Group в Routine Group Editor.
Действие опции delete варьируется в зависимости от того, как вы формировали MySQL Workbench. См. раздел 3.2.4.
Чтобы вызвать редактор подпрограмм, дважды щелкните по подпрограмме в
разделе Physical Schemata на странице
MySQL Model. Это открывает редактор.
Любое количество подпрограмм может быть открыто в то же время.
Каждая дополнительная появляется как вкладка редактора.
Вкладки Routine и Privileges появляются внизу редактора. Перемещайтесь между вкладками, используя мышь или с клавиатуры, нажав Control+Alt+Tab.
Используйте вкладку Routine, чтобы выполнить следующие задачи:
Вкладка Privileges позволяет вам назначать роли и привилегии. Можно также назначить привилегии на роль, используя ролевой редактор. Для обсуждения этой темы, посмотрите раздел 9.1.1.5.1.
Когда эта вкладка открыта, все роли, которые были созданы, показаны в списке справа. Переместите роли, которые вы хотите связать с этой таблицей, в список Roles слева. Сделайте это, выбрав роль и затем щелкнув . Используйте клавишу Shift, чтобы выбрать многократные смежные роли и Control, чтобы выбрать роли из нескольких несмежных участков.
Чтобы назначить привилегии на роль, щелкните по роли в списке Roles. Это показывает все доступные привилегии в списке Assigned Privileges. Привилегии, которые показаны:
ALLCREATEDROPGRANT OPTIONREFERENCESALTERDELETEINDEXINSERTSELECTUPDATETRIGGERВы можете назначить все привилегии на определенную роль или любую другую
привилегию, как перечислено ранее. Привилегии, неподходящие определенной
таблице, такие как FILE, не показаны.
Если роли уже предоставили привилегии на определенной таблице, те привилегии показаны, как уже зарегистрированные в списке Assigned Privileges.
Двойной щелчок Add Routine Group в разделе
Physical Schemata страницы
MySQL Model добавляет группу с именем по
умолчанию routines1. Если группа с этим именем
уже существует, новую группу называют routines2.
Добавление новой группы автоматически открывает редактор групп, см. раздел 9.1.6.2.3.
Щелчок правой кнопкой мыши по обычной группе открывает всплывающее меню со следующими пунктами:
открывает редактор группы, который описан в разделе 9.1.6.2.3.
Пункты cut и paste полезны для копирования групп между различными схемами.
Удаление группы из страницы MySQL Model
удаляет группу, но не удаляет подпрограмм, содержавшихся в той группе.
Любые группы, добавленные к Physical
Schemata, также обнаружатся в палитре
Catalog на правой стороне приложения.
Они могут быть добавлены к диаграмме EER перетаскиванием их от этой палитры.
Чтобы добавить группы к диаграмме EER, используйте инструмент
Routine Groups
на вертикальной панели инструментов. Удостоверьтесь, что вкладка
EER Diagram выбрана, затем щелкните правой
кнопкой мыши по символу групп на вертикальной панели инструментов.
Символ групп находится над самым низким сепаратором панели инструментов.
Щелкание мышью на этом символе изменяет указатель мыши на указатель группы. Можно также изменить указатель мыши на указатель, нажав клавишу G.
Выбор инструмента Routine Group
изменяет содержание панели инструментов, которая появляется ниже строки меню.
Когда указатель Routine Groups активен,
эта панель инструментов содержит список схем и список цветовой схемы.
Используйте эти списки, чтобы выбрать соответствующую схему и цветной акцент
для новой группы. Удостоверьтесь, что вы связываете новую группу с базой
данных. Цвет вашей группы может быть изменен позднее с использованием
палитры Properties.
Создайте группу, щелкнув где угодно по листу диаграммы EER.
Это создает новую группу с именем по умолчанию
routines1. Чтобы вернуться к указателю мыши по
умолчанию, щелкните по значку стрелки наверху
вертикальной панели инструментов.
Щелчок правой кнопкой мыши по группе открывает всплывающее меню. За исключением пунктов delete и rename, эти опции меню функционируют как описано в разделе 9.1.6.2.1. Логика опции delete определяется вашими параметрами настройки MySQL Workbench, см. раздел 3.2.4 .
Чтобы вызвать редактора группы, дважды щелкните по объекту группы на листе
диаграммы EER или дважды щелкните по группе в секции
Physical Schemata страницы
MySQL Model.
Любое количество групп может быть открыто в то же время.
Каждая дополнительная группа появляется как вкладка наверху редактора.
Вкладки Routine group и Privileges появляются внизу редактора. Перемещайтесь между различными вкладками, используя мышь или с клавиатуры, нажав Control+Alt+Tab.
Используйте вкладку Routine Groups редактора групп, чтобы выполнить следующие задачи:
Вкладка Privileges редактора группы функционирует точно таким же образом, как вкладка Privileges редактора таблиц. Для получения дополнительной информации посмотрите раздел 9.1.6.1.2.2.
Когда вы выбираете группу на листе диаграммы EER, ее свойства показаны в
палитре Properties. Все свойства, доступные из
палитры Properties, относятся к появлению
группы на листе диаграммы EER.
Для списка свойств, доступных через палитру
Properties, см.
раздел 9.1.1.12.
Можно добавить слои к базе данных только из диаграммы EER. Слои используются, чтобы помочь организовать объекты на листе. Как правило, связанные объекты добавляются к тому же самому слою, например, вы можете добавить все ваши представления на один слой.
Чтобы добавить слои к диаграмме EER, используйте инструмент
Layer на вертикальной панели инструментов.
Выберите вкладку EER Diagram и щелкните по
символу слоя на вертикальной панели инструментов. Символ слоя это
прямоугольник с символом L
в левом нижнем углу, ниже символа резинки.
Щелкание мышью на этом символе изменяет указатель мыши на указатель слоя. Можно также изменить указатель мыши на указатель слоя, нажав клавишу L.
Выбор инструмента Layer
изменяет содержание панели инструментов, которая появляется ниже строки меню.
Когда указатель Layers активен, эта панель
инструментов содержит список цветовой схемы. Используйте этот список, чтобы
выбрать цветной акцент для нового слоя. Цвет вашего слоя может быть изменен
позднее с использованием палитры Properties.
Создайте слой, щелкнув где угодно по листу диаграммы EER и, удерживая
левую кнопку мыши, потяните прямоугольник подходящего размера.
Это создает новый слой с именем по умолчанию
layer1. Чтобы вернуться к указателю мыши по
умолчанию, щелкните по значку стрелки наверху
вертикальной панели инструментов.
Следующие данные показывают слой, названный "My Sakila Views" с несколькими представлениями:
Рис. 9.13. Ррасположенный на слое объект

Чтобы открыть редактора слоя, дважды щелкните по слою или щелкните правой кнопкой мыши по слою и выберите опцию edit. Доступные варианты контекстного меню:
Слой может также быть отредактирован с помощью Properties Editor на левой панели, это предлагает дополнительные опции.
Пункты cut и copy полезны для копирования слоев между различными схемами.
Так как слои не объекты схемы, никакое диалоговое окно подтверждения не открывается, когда вы удаляете слой независимо от того, как вы формировали MySQL Workbench. Удаление слоя не удаляет объекты схемы из каталога.
Чтобы добавить объект к слою, перетащите его непосредственно из палитры
Catalog в слой.
Если вы поднимаете объект из диаграммы EER, вы должны нажать
Control, когда
вы тянете его на слой, иначе это он будет
привязан к слою.
Привязка объектов к слою предотвращает их случайное удаление. Вы не можете удалить их, перетащив, чтобы удалить объект, также необходимо нажать Control, таща его.
Если вы тянете слой через таблицу, объект таблицы будет автоматически добавлен к слою. Это также работает с многократными объектами таблицы.
Слои не могут быть вложены. Таким образом, слой не может содержать другой расположенный на слое объект.
Выбор "Edit" позволяет вам редактировать имя слоя и цвет фона слоя, и "Properties Editor" предлагает дополнительные опции.
Когда вы выбираете слой на листе диаграммы EER, его свойства показаны в
палитре Properties. Свойства, доступные из
палитры Properties, относятся к появлению слоя
на листе диаграммы EER.
При некоторых обстоятельствах можно хотеть сделать слой невидимым.
Выберите слой и в палитре Properties
установите свойство visible в
False. Чтобы определить местонахождение
невидимого объекта, откройте палитру Layers
и выберите объект, дважды щелкая по нему. После того, как объект выбран,
можно сбросить свойство visible из палитры
Properties.
Для списка свойств, доступных через палитру
Properties, см.
раздел 9.1.1.12.
В дополнение к свойствам, перечисленным там, у слоя также есть свойство
description. Используйте его для
документирования назначения слоя.
Можно добавить примечания к базе данных только из раздела
Model Notes страницы
MySQL Model. Примечания, как правило,
используются, чтобы помочь зарегистрировать процесс проектирования.
Двойной щелчок по Add Note в секции
Model Notes страницы
MySQL Model добавляет примечание с именем по
умолчанию note1. Если примечание с этим именем
уже существует, новое примечание называют note2.
Добавление нового примечания автоматически открывает редактор примечания, см. раздел 9.1.8.2.
Щелчок правой кнопкой мыши по примечанию открывает всплывающее меню со следующими пунктами:
открывает редактор примечания. Для получения информации об использовании редактора посмотрите раздел 9.1.8.2.
Пункты cut и copy полезны для копирования примечаний между различными схемами.
Примечания могут быть добавлены только на странице
MySQL Model.
Чтобы вызвать редактор примечания, дважды щелкните по объекту примечания в
секции Model Note страницы
MySQL Model. Любое количество примечаний может
быть открыто в то же время. Каждое дополнительное примечание появляется как
вкладка наверху редактора примечаний.
Используйте редактор, чтобы изменить название примечания или его содержание.
Текстовые объекты применимы только к диаграмме EER. Они могут использоваться в целях документации, например, чтобы объяснить группировку объектов схемы. Они также полезны для создания названий для диаграммы EER.
Чтобы добавить текстовые объекты к диаграмме EER, используйте
инструмент Text Object
на вертикальной панели инструментов. Удостоверьтесь, что выбрана вкладка
EER Diagram, затем щелкните правой кнопкой мыши
по символу текстового объекта на вертикальной панели инструментов.
Щелкание мышью на этом символе изменяет указатель мыши на указатель текстового объекта. Можно также изменить указатель мыши на указатель текстового объекта, нажав клавишу N.
Выбор инструмента Text Object
изменяет содержание панели инструментов, которая появляется ниже строки меню.
Когда указатель Text Object активен, эта панель
инструментов содержит список цветовой схемы. Используйте этот список, чтобы
выбрать цветной акцент для нового текстового объекта. Цвет вашего текстового
объекта может быть изменен позднее с использованием палитры
Properties.
Создайте текстовый объект, щелкнув где угодно по листу диаграммы EER.
Это создает новый текстовый объект с именем по умолчанию
text1. Чтобы вернуться к указателю мыши по
умолчанию, щелкните по значку стрелки наверху
вертикальной панели инструментов.
Щелчок правой кнопкой мыши по текстовому объекту открывает всплывающее меню. Эти опции меню идентичны возможностям для других объектов. Однако, так как текстовый объект не объект базы данных, нет никакого диалогового окна подтверждения, когда вы удаляете текстовый объект.
Чтобы вызвать редактора текстового объекта, дважды щелкните по текстовому объекту на листе диаграммы EER. Это открывает редактор. Любое количество текстовых объектов может быть открыто в то же время. Каждый дополнительный текстовый объект появляется как вкладка наверху текстового редактора.
Используйте редактор, чтобы изменить название текстового объекта или его содержание.
Когда вы выбираете текстовый объект на листе диаграммы EER, его свойства
показаны в палитре Properties.
Большинство свойств, доступных из палитры
Properties, относится к появлению объекта на
листе диаграммы EER.
Для списка свойств, доступных через палитру
Properties, см.
раздел 9.1.1.12.
Нет никакого свойства в палитре Properties
для изменения шрифта, который используется текстовым объектом. Чтобы сделать
это, выберите вкладку Appearance диалога
Workbench Preferences. См.
Preferences: Modeling: Appearance.
Изображения существуют только на листе диаграммы EER, можно добавить их только из окна диаграммы EER.
Чтобы добавить изображения к диаграмме EER, используйте инструмент
Image на вертикальной панели инструментов.
Удостоверьтесь, что выбрана вкладка EER Diagram
, затем щелкните правой кнопкой мыши по значку изображения на
вертикальной панели инструментов. Значок изображения это символ чуть
выше значка таблицы.
Щелкание мышью на этом символе изменяет указатель мыши на указатель изображения. Можно также измениться, указатель мыши на указатель изображения, нажимая клавишу I.
Создайте изображение, щелкнув где угодно по листу диаграммы EER. Это открывает диалоговое окно открытия файла. Выберите желаемое изображение, затем закройте диалоговое окно, чтобы создать изображение на листе. Чтобы вернуться к указателю мыши по умолчанию, щелкните по значку стрелки наверху вертикальной панели инструментов.
Щелчок правой кнопкой мыши по этому объекту открывает всплывающее меню со следующими пунктами:
Эти пункты меню функционируют точно таким же образом, как для других объектов на диаграмме EER. Однако изображения не объекты базы данных, таким образом, нет никакого диалогового окна подтверждения, когда они удалены.
Чтобы вызвать редактор изображений, дважды щелкните по объекту изображения на листе диаграммы EER. Это открывает редактор изображений. Любое количество изображений может быть открыто в то же время. Каждое дополнительное изображение появляется как вкладка редактора.
Используйте вкладку Image редактора изображений, чтобы выполнить следующие задачи:
Когда вы выбираете изображение на листе диаграммы EER, его свойства показаны в палитре Properties. Большинство свойств, доступных из палитры Properties, относится к появлению изображения на листе диаграммы EER.
Для списка свойств, доступных через палитру Properties, см. раздел 9.1.1.12.
Дополнительные средства проектирования моделирования и особенности.
Параметры печати, используемые, чтобы создать распечатки ваших диаграмм EER, находятся меню . Чтобы создать документацию ваших моделей, посмотрите раздел 9.1.1.1.5.1.
Пункты меню печати недоступны, если диаграмма EER не активна. Эти пункты:
Позволяет вам выбрать формат бумаги, ориентацию и края.
Посылает вашу диаграмму EER на принтер. Этот выбор производит предварительный просмотр перед печатью. От предварительного просмотра можно приспособить масштаб представления, а также выбрать многостраничное представление. Щелчок по значку принтера наверху этого окна печатает в настоящее время выбираемую диаграмму EER. Закройте окно предварительного просмотра, если необходимо приспособить размещение объектов на листе диаграммы EER.
Создает файл PDF вашей диаграммы EER.
Создает файл PostScript вашей диаграммы EER.
Диалог DBDoc Model Reporting доступен при открытой модели из меню , .
Эта функциональность доступна только в MySQL Workbench Commercial Editions.
Использование диалога DBDoc-Model Reporting дает
возможности для создания документации ваших моделей базы данных.
Например, следующие данные показывают диалог с
HTML Detailed Frames
и стилем шаблонов Vibrant.
Рис. 9.14. Опции DBDoc Model Reporting

Вы можете выбрать из четырех доступных шаблонов отчета:
HTML Basic Frames:
Образцовая документация в формате HTML, который использует фреймы.HTML Basic Single Page:
Одностраничная документация HTML, не использует фреймы.HTML Detailed Frames:
Подробная документация HTML, используя фреймы.Text Basic:
Документация текстового файла.Когда вы щелкаете по шаблону, изображение предварительного просмотра
показывается на правой стороне страницы. Для шаблона
HTML Basic Frames можно выбрать
Colorful или
Restrained Colors из списка
Style. Шаблон
HTML Basic Single Page
предлагает только стиль Colorful.
Шаблон HTML Detailed Frames предлагает
стили Vibrant и
Coated. Шаблон
Text Basic предлагает только стиль
Fixed Size Font.
Из фрейма Base Options выбирают название отчета и целевой каталог для файлов отчета.
Следующие переменные могут использоваться, чтобы формировать путь:
~: Домашний каталог пользователя.
Доступен только на версиях Linux и macOS.%desktopfolder%: Рабочий стол пользователя.
%documentsfolder%: Папка Documents
пользователя. Следующая таблица показывает типичные значения для платформ.
| Платформа | Типичная папка Documents |
|---|---|
| Windows | C:\Users\ |
| Linux |
~/Documents |
| macOS |
Users/
|
%date%: Дата в формате YYYY-MM-DD.
%time%: Время в формате HHMM.%year%: Год в формате YYYY.%month%: Месяц в формате MM.
Январь 01, декабрь соответственно 12.%monthname%: Имя месяца, а не номер.%day%: Номер дня в формате DD.Варианты содержания могут также быть выбраны:
Нажатие создает каталог,
определенный в текстовом окне Output directory.
Если вы приняли решение создать
HTML Basic Frames, вы найдете следующие
файлы в этом каталоге:
basic.css: Таблица стилей для
страницы overview.html.index.html: Главная страница.overview.html:
Образцовый обзор, навигационные ссылки, показанные в боковой панели.restrained.css: Файл CSS, используемый,
если выбрана опция стиля Restrained Colors.table_details.html: Главный фрейм отчета.
Выбор опции HTML Basic Single Page
создает таблицу стилей и файл index.html.
Выбор опции HTML Detailed Frames
создает следующие файлы:
basic.css: Таблица стилей для страницы
overview.html. Это используется, если выбран
стиль vibrant.coated.css: Файл CSS, используемый, если
выбрана опция стиля Coated.index.html: Главная страница.overview.html:
Информация об обзоре для отчета, такая как название отчета,
название проекта и автор.overview_list.html:
Резюме схемы в модели наряду со списком таблиц в каждой схеме.routine_details.html:
Список всех хранимых подпрограмм для схемы.table_details.html:
Главные детали отчета.table_details_list.html:
Обзор схемы с деталями колонок, индексов и внешних ключей для каждой схемы.
table_element_details.html:
Детали для каждого элемента таблицы.top.html: Главный фрейм отчета.view_details.html:
Список всех колонок и индексов для схемы.Выбор опции Text Basic создает каталог,
содержащий один текстовый файл.
Можно щелкнуть index.html, чтобы
просматривать отчет. Следующие данные показывают пример вывода
HTML Detailed Frames для схемы
the world.
Рис. 9.15. DBDoc Model Report

Для получения дополнительной информации о создании шаблонов, посмотрите раздел 9.7.
MySQL Workbench обеспечивает модули проверки так, чтобы можно было проверить модели прежде, чем осуществить их. Эта функциональность доступна только в MySQL Workbench Commercial.
К плагинам проверки получают доступ из меню . Один плагин выполняет общую проверку для любой системы управления реляционными базами данных, другой определен для MySQL. Ниже этих пунктов меню много определенных тестов на проверку. Управление любым из этих тестов открывает окно вывода. Предупреждающие сообщения показаны на левой стороне этого окна, выполненные тесты показаны справа.
Следующие разделы обрисовывают в общих чертах задачи, выполненные модулями проверки.
Следующий список называет общие типы проверки и дает примеры определенных нарушений:
Таблица без колонок.
Table Efficiency Validation
Таблица без первичного ключа.
Duplicated Identifiers Validation
Двойные имена объектов.
Consistency Validation
Использование той же самой колонки с колонками отличающихся типов данных.
Logic Validation
Внешний ключ, который обращается к колонке кроме первичного ключа в исходной таблице.
Следующий список называет MySQL-определенные типы проверки и дает примеры определенных нарушений:
Имя объекта больше, чем максимум разрешено.
Syntax Violation
Хранимая подпрограмма, триггер или представление с неправильным синтаксисом SQL.
Эта глава содержит три коротких обучающих программы, предназначенные, чтобы ознакомить вас с основами MySQL Workbench. Эти обучающие программы показывают, как MySQL Workbench может использоваться и проектировать и документировать базы данных.
Создание базы данных с нуля является центром раздела 9.3.4, исследование возможностей графического дизайна MySQL Workbench затронуто в разделе 9.3.2. Обе этих обучающих программы показывают возможности проектирования баз данных MySQL Workbench.
Импортирование скрипта определения данных SQL является, вероятно, самым
быстрым способом ознакомить себя с MySQL Workbench,
эта обучающая программа использует базу данных
sakila и подчеркивает использование
MySQL Workbench как инструмент документации. Примеры, взятые из базы данных
sakila, используется всюду по документации,
таким образом, этот процесс установки рекомендуется.
Эта обучающая программа описывает, как создать новую модель базы данных и как перенести модель к живому серверу MySQL.
Альтернативно, можно создать модель из базы данных при помощи мастера инженерного анализа. Для получения дополнительной информации посмотрите раздел 9.4.2.2.
Запустите MySQL Workbench. На домашнем экране щелкните по представлению моделей из боковой панели и нажмите (+) рядом с Models. Альтернативно, можно нажать , затем из меню.
Рис. 9.16. Домашний экран
Модель может содержать многочисленные схемы. Обратите внимание на то, что,
когда вы создаете новую модель, она содержит схему по умолчанию
mydb. Можно поменять имя этой схемы по умолчанию
по мере необходимости или ее удалить.
new_schema1, которое можно теперь изменить,
например, на dvd_collection,
изменяя его поле Name.
Подтвердите это изменение в панели
Physical Schemas.
Теперь вы готовы добавить таблицу.
Рис. 9.17. Новая схема

Дважды щелкните Add Table в секции Physical Schemas.
table1. Отредактируйте поле
Table Name, чтобы изменить имя таблицы с
table1 на
movies.moviesid, так как по умолчанию MySQL Workbench
добавляет id к имени таблицы для начального
поля. Смените moviesid на
movie_id, сохраните
Datatype как INT и
выберите опции PK (PRIMARY KEY),
NN (NOT NULL) и
AI (AUTO_INCREMENT).movies.
| Имя столбца | Тип данных | Свойства столбца |
|---|---|---|
| movie_title | VARCHAR(45) | NN |
| release_date | DATE (YYYY-MM-DD) | None |
Рис. 9.18. Редактирование столбцов таблицы

Для визуального представления (диаграмма EER) этой схемы выберите и , чтобы создать диаграмму EER для модели. Следующие данные показывают новую вкладку EER Diagram, которая показывает представление диаграммы таблицы фильмов и столбцы.
Рис. 9.19. Диаграмма EER

В редакторе таблиц поменяйте имя столбца
movie_title на
title.
Обратите внимание на то, что диаграмма EER автоматически обновляется, чтобы
отразить это изменение.
Чтобы открыть редактор таблиц, перейдите назад на вкладку
MySQL Model и щелкните правой кнопкой мыши на
таблице movies или щелкните правой кнопкой мыши
на movies в диаграмме EER и выберите
.
Home_Media и нажмите
.Прежде, чем синхронизировать вашу новую модель с живым сервером MySQL, подтвердите, что вы уже создали подключение MySQL. Эта обучающая программа предполагает, что вы уже создали связь. В противном случае посмотрите раздел 5.2, чтобы создать подключение MySQL под названием MyFirstConnection, хотя альтернативная связь может также работать.
Теперь перенесите вашу модель к живому серверу MySQL следующим образом:
Выберите , из меню, чтобы открыть мастера Forward Engineer to Database.
Вы можете выбрать иное подключение MySQL здесь, но эта обучающая программа использует MyFirstConnection.
Рис. 9.20. Шаг Options

Выберите объект, который надо экспортировать в живой сервер MySQL.
В этом случае есть только одна таблица
(dvd_collection.movie). Отметьте опцию
Export MySQL Table Objects и нажмите
.
Рис. 9.21. Избранные объекты
Шаг Review SQL Script показывает скрипт SQL, который будет выполнен на живом сервере, чтобы создать вашу схему. Рассмотрите скрипт, чтобы удостовериться, что вы понимаете операции, которые будут выполнены.
Нажмите , чтобы выполнить процесс.
Рис. 9.22. Review SQL Script
Шаг Commit Progress подтверждает, что каждая задача была выполнена. Нажмите , чтобы смотреть журналы. Если никакие ошибки не присутствуют, нажмите и закройте мастер.
dvd_collection
теперь присутствует на сервере MySQL. Подтвердите это, открыв подключение
MySQL и просмотрев список схем или выполнив
SHOW DATABASES из MySQL Command Line
Client (mysql).Для получения дополнительной информации о моделировании данных см. главу 9.
На экране MySQL Model
дважды щелкните Add Diagram.
Это действие создает и открывает новый лист
EER Diagram.
Рис. 9.23. Добавление диаграммы EER

Со страницы диаграммы EER можно графически проектировать базу данных.
Инструменты на вертикальной панели инструментов слева от вкладки EER Diagram используются для проектирования диаграммы EER. Начните составлять таблицу, используя инструмент таблицы. Инструмент таблицы это прямоугольная сетка посреди вертикальной панели инструментов.
Нажатие на этот инструмент изменяет указатель мыши на руку с прямоугольной
сеткой. Составьте таблицу на листе, щелкнув где угодно по сетке
anywhere on the EER Diagram.
Щелкните правой кнопкой мыши по таблице и выберите из всплывающего меню. Это открывает редактор таблиц.
По умолчанию имя таблицы table1. Смените его,
введя invoice в поле
Name:. Изменения здесь затрагивают название
вкладки в редакторе таблиц и название таблицы на листе.
Нажим Tab или
Enter в то время, как курсор
находится в области имени таблицы, выбирает вкладку
Columns редактора таблиц и создает колонку,
названную по умолчанию idinvoice.
Нажим Tab или
Enter снова устанавливает
фокус на список Datatype с выбранным
INT.
Заметьте, что область была добавлена к таблице на листе EER.
Нажим Tab
снова переводит к добавлению второй колонки. Добавьте так столбцы
Description и
a Customer_id.
По окончании закрываете редактор таблиц, нажимая
в левом верхнем углу редактора таблиц.
Выберите инструмент таблицы снова и поместите другую таблицу на лист.
Назовите ее invoice_item. Далее нажмите на
1:n Non-Identifying Relationship.
Сначала щелкните таблицу invoice_item,
заметьте, что красная граница указывает, что эта таблица выбрана.
Затем щелкните таблицу invoice.
Это создает внешний ключ в invoice_item,
таблице на стороне many
отношений. Отношения между этими двумя таблицами показывают графически в
нотации crow's foot.
Вернитесь к указателю мыши по умолчанию, щелкнув по стрелке наверху
вертикальной панели инструментов. Нажмите таблицу
invoice_item и выберите вкладку
Foreign keys.
Нажмите на поле Foreign key Name. Таблица, на которую ссылаются, должна показаться в столбце Referenced Table и соответствующей колонке в Referenced Column.
Чтобы удалить отношения между двумя таблицами, щелкните по линии, присоединяющейся к таблицам, и затем нажмите Control+Delete.
Сохранит е свои изменения в файле MySQL Workbench
Models (расширение mwb) выбором
из меню или нажатием клавиш
Control+S.
Для этой обучающей программы используйте скрипт базы данных
sakila, который можно найти, посетив страницу
https://dev.mysql.com/doc/, выбрав вкладку
Other Docs и найдя секцию
Example Databases.
После загрузки файла, распакуйте его. Откройте MySQL Workbench, выберите
представление модели на домашнем экране щелкните
(>), следующий за
Models, и . Найдите и импортируйте файл
sakila-schema.sql.
Это скрипт, который содержит запросы определения данных для базы данных
sakila. Фильтр файла диалогового окна по
умолчанию *.sql таким образом, необходимо быть в
состоянии рассмотреть только файлы с расширением
sql.
Если файл был успешно импортирован, в статусной строке приложения будет
Import MySQL Create Script done.
Чтобы рассмотреть недавно импортированный скрипт, расширьте секцию
Physical Schemas дважды щелкнув по стрелке
слева от Physical Schemas.
Выберите вкладку sakila.
Можно также удалить вкладку схемы по умолчанию
mydb. Выберите ее, затем щелкните
в верхнем правом углу схемы
Physical Schemas.
Чтобы просмотреть все объекты в sakila,
вы, возможно, должны расширить панель
Physical Schemas.
Переместите указатель мыши куда угодно через серую область, которая
определяет нижний край панели Physical Schemas.
Удержите правую кнопку мыши и переместите мышь, чтобы
приспособить размер окна.
После того, как вы расширили окно, все объекты в
sakila должны быть видимы. Таблицы показаны
наверху. В этой схеме нет никаких подпрограмм, но можно увидеть часть
Routine Groups и значок
Add Group.
Для полного описания импортирования скрипта MySQL см. раздел 9.4.2.1.
Чтобы создать диаграмму EER для базы данных
sakila, сначала добавьте диаграмму EER, дважды
щелкнув Add Diagram в панели
EER Diagrams, чтобы создать и открыть
редактор EER Diagram.
Лист EER Diagram это то место, где объектное
моделирование происходит. Чтобы добавить таблица к листу, выберите вкладку
Catalog в средней панели на правой стороне
приложения, чтобы показать любые схемы, которые появляются во вкладке
MySQL Model. Найдите схему
sakila и расширьте представление объектов,
щелкая слева от названия схемы.
Расширьте список таблиц таким же образом.
Можно добавить таблицы к листу EER, таща их от панели
Catalog на лист. Перетащите таблицы
address и city на
лист примерно так:
Рис. 9.24. Добавление таблиц к листу

MySQL Workbench автоматически обнаруживает, что
address.city_id
был определен как внешний ключ, ссылающийся на поле
city.city_id. Перетащите таблицу
country на лист и немедленно можно увидеть
отношения между таблицами country и
city. Чтобы смотреть все отношения в
базе данных sakila см.
рис. 9.29.
Нажмите на вкладку Properties
в нижнем левом углу и затем щелкните по одной из таблиц на листе.
Это действие показывает свойства таблицы в оуне
Properties. В то время как таблица выбрана,
можно использовать окно Properties,
чтобы изменить свойства таблицы. Например, ввод
#FF0000 как значение цвета изменит цветной
акцент на красный.
Рис. 9.25. Просмотр Properties

Изменение цвета таблицы является хорошим способом определить таблицу в
панели Model Navigator.
Эта группа дает вид с высоты птичьего полета на весь лист EER.
Сохраните свои изменения в файл
MySQL Workbench Models
(расширение mwb) выбрав
из меню
или при помощи клавиш
Control +
S.
Когда вы сначала открываете MySQL Workbench, схема по умолчанию
mydb появляется как левая вкладка в секции
Physical Schemas MySQL Workbench.
Можно начать проектировать базу данных при помощи этой схемы по умолчанию.
Рис. 9.26. Схема по умолчанию

Чтобы изменить название схемы по умолчанию, дважды щелкните по вкладке схемы. Это открывает редактор схемы.
Чтобы переименовать схему, используйте поле Name. После того, как вы переименовали схему, значок молнии кажется выровненным по правому краю поля Name, указывая, что другие изменения находятся на рассмотрении. Щелкните по полю Comments, и диалоговое окно открывает запрос, хотите ли вы переименовать все копии схемы. Нажим гарантирует, что ваши изменения размножены всюду по приложению. Добавьте комментарии к базе данных и измените сопоставление, если желаете. Закройте редактор схемы, нажав .
Составьте новую таблицу двойным щелчком по Add Table на панели Physical Schemas.
Рис. 9.27. Model: составление новой таблицы

Первоначально, имя таблицы 'table1' в редакторе таблиц.
Рис. 9.28. Model: редактирование табличных значений

В предыдущем примере колонки были добавлены, используя вкладку Columns. Нажатие на пустую строку добавит новую колонку, и нажатие на существующий столбец начинает режим редактирования. Нажмите клавишу Tab, чтобы двинуться в следующую колонку и установить тип данных.
Изменение таблицы, добавляя индексы или другие особенности является также возможным с использованием редактора таблиц, щелкая по каждой вкладке в редакторе таблиц.
Дополнительные объекты, такие как представления или хранимые подпрограммы, могут быть добавлены таким же образом как таблицы.
Объекты перечисляются под палитрой Catalog справа. Чтобы рассмотреть эти объекты схемы, выберите вкладку Catalog в средней палитре справа. Рассмотрите все объекты, щелкнув слева от названия схемы.
Эта глава демонстрирует возможности MySQL Workbench как инструмента
документации при помощи базы данных sakila,
которая является образцом базы данных, обеспеченным MySQL. Можно найти этот
образец базы данных и другие, посетив страницу
https://dev.mysql.com/doc/, выбрав из меню
и найдя раздел
Example Databases.
Диаграмма EER предоставляет быстрый обзор и понимание базы данных. Вместо того, чтобы читать запрос определения таблицы, быстрый взгляд на диаграмму EER указывает, как связаны таблицы.
Можно также видеть, как связаны таблицы, внешние ключи и какова природа отношений.
Следующий рисунок показывает вывод, который был создан, используя меню , , .
Рис. 9.29. База данных sakila, диаграмма EER

Стиль объектной нотации, используемый на
рис. 9.29 это
Workbench (PKs only).
Этот стиль показывает только первичные ключи и никакие другие столбцы, что
особенно полезно, когда место ограничено. Нотация отношений Crow's Foot.
Как показывают линии связи, каждая таблица связана по крайней
мере с еще одной таблицей в базе данных (за исключением
film_text). У некоторых таблиц есть два внешних
ключа, которые касаются той же самой таблицы. Например, у таблицы
film есть два внешних ключа, которые касаются
таблицы language, а именно
fk_film_language_original и
fk_film_language.
Где существует больше, чем одно отношение между двумя таблицами, линии
связи, идут вместе.
Идентификация и неидентификация отношений обозначаются сплошными и
прерывистыми линиями соответственно. Например, внешний ключ
category_id это часть первичного ключа в
film_category, так что его отношения к таблице
category показаны сплошной линией.
С другой стороны, в таблице city внешний ключ
country_id не часть первичного ключа, таким
образом, связь использует прерывистую линию.
MySQL Workbench предоставляет возможности физическиго проектирования баз данных. Визуальная модель данных может быть преобразована в физическую базу данных по целевому MySQL Server, выполнив мастера прямой разработки. Весь код SQL автоматически произведен, чтобы помочь устранить нормальный подверженный ошибкам процесс ручного написания сложного кода SQL. MySQL Workbench также позволяет вам перепроектировать существующую базу данных и получить лучшее понимание проектирования. Кроме того, чтобы выполнить инженерный анализ существующих баз данных, это может также импортировать скрипты SQL, чтобы построить модели и экспортировать модели в скрипты DDL.
Возможно создать базу данных, используя скрипт SQL или соединяясь с живой базой данных.
Прямая разработка позволяет вам создать скрипт своей модели базы данных.
Можно экспортировать скрипт, чтобы изменить существующую базу данных или
создать новую, или скрипт, чтобы создать базу данных подобную созданной,
используя команду mysqldump
db_name.
Решение создать базу данных приводит к дополнительным опциям.
На вкладке MySQL Model
(model-name.mwb) нажмите
click ,
,
для
запуска мастера Forward Engineer SQL Script.
Следующие данные показывают первую страницу мастера.
Рис. 9.30. Опции SQL Export
Диалог SQL Export Options показывает следующие средства:
Чтобы определить имя выходного файла, введите его в поле Output SQL Script File или используйте кнопку , чтобы выбрать файл. Оставьте это поле пустым, чтобы смотреть, но не сохранять вывод.
Выберите эту опцию, что создать запрос, чтобы удалить каждый объект перед запросом, который создает его. Это гарантирует, что любой существующий экземпляр каждого объекта удален, когда вывод выполняется.
Когда эти опции выключены, таблицы отсортированы согласно ссылкам внешнего ключа.
Выберите эту опцию, чтобы произвести неквалифицированные имена объектов в SQL-операторах.
Выберите эту опцию, чтобы создать отдельные запросы для создания индекса
вместо включения определений индекса в
CREATE TABLE.
Выберите эту опцию, чтобы добавить
SHOW WARNINGS к выводу.
Это вызывает показ любых предупреждений, произведенных, когда вывод
выполняется, что может быть полезно для отладки.
Выберите эту опцию, чтобы обновить привилегии существующих пользователей,
в противоположность созданию новых пользователей. Экспорт привилегий для
несуществующих пользователей приведет к ошибкам, когда вы выполните
скрипт CREATE. Экспорт пользователей, которые
уже существуют, также приведет к ошибке.
Выберите эту опцию, если вы добавили какие-либо строки к таблице. Для получения дополнительной информации о вставке строк, посмотрите раздел 8.1.1.
Нажим откроет страницу SQL Object Export Filter, которая позволяет вам выбрать объекты для экспорта.
Рис. 9.31. SQL Object Export Filter

Используйте , чтобы точно настроить (фильтровать) объекты для экспорта. После отбора объектов, нажмите , чтобы скрыть панель фильтра.
После отбора объектов экспорта нажмите , чтобы просмотреть произведенный скрипт. Следующие данные показывают скрипт в качестве примера.
Рис. 9.32. Произведенный скрипт
Можно возвратиться к предыдущей странице, используя кнопку .
Кнопка сохранит файл скрипта и выйдет. Можно использовать сохраненный скрипт, чтобы создать базу данных.
Пункты меню для создания ALTER Script File: , . Как правило, этот выбор используется, когда скрипт SQL был импортирован в MySQL Workbench и изменен, а затем вы хотите создать скрипт, который может быть выполнен для базы данных, чтобы отразить приспособленную модель. Для получения инструкций относительно импортирования скрипта DDL посмотрите раздел 9.4.2.1.
Выебрите из меню , , чтобы начать мастера. Вам покажут первую страницу, показывая введение и затем доступные параметры для указания источника и мест назначения обновлений.
Рис. 9.33. Synchronize With Any Source: Options

Для получения дополнительной информации посмотрите раздел 9.5.1.
Используйте прямую разработку, чтобы экспортировать ваш дизайн схемы в сервер MySQL.
Выберите модель, которую вы хотите отправить на сервер, выберите , из главного меню.
Первый шаг процесса должен соединиться с сервером MySQL, чтобы создать новую схему базы данных. Как следующие данные показывают, эта страница позволяет вам использовать ранее сохраненную связь или войти в параметры связи.
Рис. 9.34. Установленные параметры для соединения
Нажмите после установки параметров связи. Следующая страница мастера показывает Catalog Validation. Проверка доступна только в Commercial Edition.
Рис. 9.35. Catalog Validation
Нажмите , чтобы утвердить каталог.
Нажмите для продолжения.
Следующая страница позволяет вам установить опции для создания базы данных. Эти варианты описаны в разделе 9.4.1.1.1.
Рис. 9.36. Опции создания
Выберите необходимые опции и нажмите .
Страница Select Objects позволяет вам выбрать объекты для работы: таблицы, представления, подпрограммы, триггеры и пользовательские объекты.
Рис. 9.37. Select Objects
Чтобы выбрать подмножество объектов, используйте кнопку /, затем выберите конкретные объекты. После того, как вы выберете свои объекты, нажмите .
На странице Review Script можно просмотреть и отредактировать скрипт SQL, который будет выполнен.
Рис. 9.38. Review Script
Нажмите , чтобы продолжить, если вы удовлетворены произведенным скриптом.
Следующая страница мастера показывает результаты процесса прямой разработки.
Рис. 9.39. Forward Engineering Progress
Можно подтвердить, что скрипт создал схему, соединившись с целевым
сервером MySQL и скомандовав SHOW DATABASES.
С MySQL Workbench можно перепроектировать базу данных, используя создающий скрипт или соединиться с живым сервером MySQL и импортировать единую базу данных или много баз данных.
Чтобы перепроектировать базу данных, используя создающий скрипт, сделайте одно из следующего:
Объекты могут быть импортированы из файла скрипта SQL. Импортированием объектов скрипта SQL можно управлять в MySQL Workbench.
Рис. 9.40. Ввод скрипта SQL

Select SQL script file:
Откройте файл с типом файла по умолчанию файл скрипта SQL, расширение
sql.
Импортируя большое количество (более 1000) объектов, можно не создать диаграмму EER, а вместо этого получить предупреждение с текстом "Too many objects are selected for auto placement. Select fewer elements to create the EER diagram." В этом случае выполните мастера инженерного анализа с отключением этой опции, вручную создайте диаграмму EER, и затем импортируйте объекты, используя просмотр каталога диаграммы EER.
Если ваш скрипт создает базу данных, MySQL Workbench создает новую область Physical Schemas в открытой вкладке MySQL Model.
Нажмите , чтобы перепроектировать скрипт SQL, проверить его результаты и произвольно поместить объекты в новую диаграмму EER.
Рис. 9.41. Скрипт SQL: выполнение
Нажмите , чтобы рассмотреть резюме результатов, затем .
Рис. 9.42. Результаты скрипта
-Прежде, чем выйти из MySQL Workbench, сохраните схему. Нажмите
и
из меню, чтобы сохранить перепроектированную базу данных как файл
MySQL Workbench с расширением mwb.
Для обучающей программы по инженерному анализу базы данных
sakila см.
раздел 9.3.3.
Можно создать скрипт определения данных (DDL), выполнив
mysqldump .
Использование опции
db_name --no-data >
script_file.sql--no-data гарантирует, что
скрипт содержит только запросы DDL. Однако, если вы работаете со скриптом,
который также содержит запросы DML, вы не должны удалять их,
они будут проигнорированы.
Если вы планируете перепроектировать базу данных в MySQL Workbench
и затем экспортировать изменения, несомненно, сохраните копию оригинального
скрипта DDL. Вам будет нужен оригинальный скрипт, чтобы создать скрипт
ALTER, см.
раздел 9.4.1.1.2.
Используйте --databases с
mysqldump,
если вы хотите создать базу данных, а также все ее объекты. Если нет
CREATE DATABASE в вашем файле скрипта, необходимо импортировать
объекты базы данных в существующую схему или, если нет никакой схемы, новая
неназванная схема создается.
db_name
Чтобы перепроектировать живую базу данных, нажмите и из меню.
Рис. 9.43. Мастер Reverse Engineer Database

Первый шаг мастера позволяет вам настроить связь с живой базой данных, которую вы намереваетесь перепроектировать. Можно настроить новую связь или выбрать ранее созданную сохраненную связь. Типичная информация, запрошенная для связи, включает имя хоста, имя пользователя и пароль.
После того, как эта информация была введена, или вы выбрали сохраненную связь, нажмите кнопку , чтобы перейти к следующему шагу.
Рис. 9.44. Подключение к DBMS
Рассмотрите показанную информацию, чтобы удостовериться, что связь не произвела ошибки, затем нажмите .
Следующий шаг показывает схемы, доступные на сервере. Выберите каждую схему, которую вы намереваетесь обработать.
Рис. 9.45. Выбор схемы
После того, как вы выберете желаемые схемы, нажмите кнопку .
Мастер показывает задачи, которые он выполнил и суммирует результаты операции.
Рис. 9.46. Полученные объекты
Просмотрите результаты прежде, чем нажать .
Следующий шаг открывает страницу Select Objects to Reverse Engineer. У нее есть секция для каждого типа объекта, существующего в схеме, которую можно импортировать. Все типы объектов выбраны по умолчанию. Опция Place imported objects on a diagram также выбрана по умолчанию.
Этот шаг особенно интересен, если вы не намереваетесь импортировать все объекты из существующей базы данных. Это дает вам выбор фильтрации, какие объекты импортируются. У каждой секции есть кнопка . Нажмите эту кнопку, если вы не хотите импортировать все объекты определенного типа. Следующие данные показывают пример секции объекта таблицы с открытым фильтром.
Рис. 9.47. Избранные объекты
Опции позволяют вам выбрать определенные таблицы для импорта. Выбрав желаемые таблицы, можно скрыть фильтр при нажатии .
Другие секции, такие как MySQL Routine Objects, имеют подобные фильтры в наличии.
Нажмите .
Мастер импортирует объекты, показывая задачи, которые были выполнены и была ли операция успешна. Если были ошибки, можно нажать , чтобы видеть природу ошибок.
Рис. 9.48. Прогресс Reverse Engineer
Заключительный шаг мастера предоставляет резюме перепроектированных объектов.
Рис. 9.49. Итоговые результаты

Нажмите .
Прежде, чем закрыть MySQL Workbench, сохраните схему. Нажмите из меню
и ,
чтобы сохранить перепроектированную базу данных как файл
MySQL Workbench с расширением mwb.
Во время инженерного анализа приложение проверяет таблицы и представления на двойные существующие имена и отвергают двойные названия при необходимости. При попытке импортировать объект, который дублирует название существующего объекта, вы будете уведомлены с сообщением об ошибке. Чтобы видеть любые ошибки, которые произошли во время инженерного анализа, нажмите . Это действие создаст панель, содержащую список сообщений, включая любые сообщения об ошибках. Нажмите , чтобы закрыть панель.
Если вы планируете импортировать объект с тем же самым именем как существующий объект, переименуйте существующий объект перед инженерным анализом.
Если вы импортируете объекты больше чем из одной схемы, будет вкладка в
области Physical Schemas страницы
MySQL Model для каждой схемы.
Вы не можете перепроектировать живую базу данных, у которой есть то же самое имя, как у существующей схемы. Чтобы снова использовать название схемы, необходимо сначала переименовать существующую схему.
Управление изменениями базы данных это сложный процесс, который включает поддержку различных версий схем базы данных и ручные изменения существующих баз данных. Чтобы помочь с этой задачей администрирования, MySQL Workbench включает синхронизацию схемы и утилиты сравнения. Можно сравнить две живых базы данных, две модели или модели с живыми базами данных, чтобы визуально видеть различия и произвольно выполнить синхронизацию.
Синхронизируйте данные между моделями, базами данных и файлами SQL. Эти три типа могут быть целью (место назначения), источник или обоими. Можно также выбрать или отсеять отдельные объекты и изменить их направление во время синхронизации. Например, можно синхронизировать таблицы от модели до базы данных, другие таблицы от базы данных до модели и пропустить несколько таблиц во время того же самого процесса синхронизации.
Знайте, что обратные несовместимые изменения синтаксиса MySQL вводятся со временем, поэтому важно поставить свойство модели Default Target MySQL Version согласно вашим потребностям. Например, экспорт результатов из MySQL 5.7 мог бы привести к недопустимому синтаксису, когда выполнен для MySQL 5.6. См. раздел 3.2.4.
Выберите из меню . Альтернативно выберите Synchronize Model, чтобы открыть того же самого мастера для модели. Модель или диаграмма EER должны быть выбраны для этих вариантов синхронизации
Рис. 9.50. Запуск мастера синхронизации

Поскольку базы данных MySQL соответствуют каталогам в рамках каталога
данных, необходимо рассмотреть чувствительность к регистру для имен базы
данных, таблицы и триггеров, которые следуют правилам чувствительности к
регистру основной файловой системы для операционной системы. Синхронизация
моделей с объектами, которые отличаются регистром, может привести к
MySQL Workbench, производящему команду DROP
для того объекта, прежде, чем воссоздать его в другом регистре.
Для получения дополнительной информации посмотрите
Identifier Case Sensitivity
Обходные приемы включают использование последовательного соглашения, где
большая часть портативного кода использует имена базы данных и таблиц в
нижнем регистре. Можно также удалить из произведенного запроса строку
DROP SCHEMA IF EXISTS.
MySQL Workbench позволяет контроль над объектами синхронизации и направлением синхронизации для каждого объекта. Варианты включают:
Есть два подобных мастера синхронизации базы данных, доступные из меню . Более простой Synchronize Model и более гибкий Synchronize with Any Source. Описания, которые следуют, относятся к обоим, если не указано иное.
Чтобы запустить мастер, откройте модель и выберите , из главного меню. Следуйте за последовательностью шагов, пока вы не достигнете Select Changes to Apply.
Рис. 9.51. Модель и различия в базе данных

В предыдущем примере живая база данных и модель имеют таблицы
movies shows.
В MySQL Workbench дополнительная таблица
educational была создана в модели, но она
испытывает недостаток в эквиваленте в живой базе данных. Далее
friends существует в живой базе данных, но это
не находится в модели. По умолчанию действия синхронизируют базу данных с
моделью, таким образом, в этом примере таблица
educational будет добавлена к источнику, и
friends будет удалена из источника.
Как описано в GUI, дважды щелкая по стрелкам, можно переключаться между действиями , и . Можно также выбрать строку и щелкнуть по одной из этих трех кнопок действий. Также обратите внимание на то, что нажатие на строку покажет связанный SQL-оператор.
Рис. 9.52. Управление направлением синхронизации
В этом случае направление синхронизации было изменено так, чтобы вместо
действия по умолчанию friends будучи исключенным
из живой базы данных, будет включено в модель MySQL Workbench.
Как прежде, educational
будет добавлена к живой базе данных (источнику).
Эти три действия доступны:
Нажим предлагает дополнительные варианты отображения.
Рис. 9.53. Отображение таблицы
Нажатие показывает SQL-оператор, чтобы выполнить синхронизацию формируемой модели и живой базы данных.
Рис. 9.54. Предварительный просмотр SQL-оператора синхронизации

Можно теперь сохранить SQL-оператор в файл или клипборд или его выполнить. Если вы принимаете решение выполнить изменение в MySQL Workbench, то вы произвольно можете пропустить "DB changes" так, чтобы только ваша модель была изменена.
Чтобы запустить мастер, откройте модель и выберите и из главного меню. Шаги подобны мастеру Synchronize Model, но с дополнительными опциями создать файлы скрипта SQL, использовать файлы скрипта SQL или обоими.
Рис. 9.55. Synchronize With Any Source: выбор источника

Заметьте, как источник и типы назначения могут быть изменены. Шаги зависят от типов источника и назначения, Synchronize Model описывает основную функциональность этого мастера.
Это средство позволяет вам создать отчет, детализирующий различия между вашей моделью MySQL Workbench, и живой базой данных или скриптом. Выберите , из главного меню, чтобы запустить мастер Compare and Report Differences in Catalogs.
Первый шаг в мастере позволяет вам определить, которые каталоги сравнить. Например, вы можете сравнить вашу живую базу данных с вашей текущей моделью MySQL Workbench.
Рис. 9.56. Исходный выбор каталога
Вы продолжаете двигаться по шагам мастера, предоставляя информацию о связи, получая доступ к живой базе данных. Мастер представляет отчет, показывая различия между сравненными каталогами.
Рис. 9.57. Отчет о различиях в каталогах
Определите шаблоны таблицы с обычно используемыми колонками и параметрами настройки, чтобы составить новые таблицы от живой связи или создавая модель EER.
Из редактора SQL выберите из контекстного меню Tables.
Рис. 9.58. Новый шаблон таблицы: редактор SQL

Или моделируя, нажмите "Open the table template editor" в Modeling Additions.
Рис. 9.59. Новый шаблон таблицы: моделирование

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

Чтобы открыть существующий шаблон из редактора SQL, из контекстного меню надо выбрать желаемый шаблон таблицы. Для моделирования дважды щелкните по шаблону в правой боковой панели моделирования.
Эта секция предоставляет обзор создания и изменения шаблонов DBDoc Model Reporting, как используется MySQL Workbench.
Система MySQL Workbench DBDoc Model Reporting основана на Google Template System. Это обсуждение не пытается объяснить подробно Google Template System. Для полезного обзора того, как Google Template System работает, см. документ Google, How To Use the Google Template System.
Шаблоны, используемые DBDoc Model Reporting, являются текстовыми файлами, которые содержат маркеры. Эти текстовые файлы обрабатываются системой шаблона, встроенной в MySQL Workbench, и маркеры заменены фактическими данными. Выходные файлы тогда произведены. Именно эти выходные файлы, как правило HTML или текст, рассматриваются пользователем.
Маркеры могут быть любым из следующих типов:
Последние два обычно используются в шаблонах MySQL Workbench, эти важные маркеры кратко описаны в следующих разделах.
Переменные
Переменные, обозначенные маркерами в файле шаблона, заменяются их соответствующими данными в произведенном выходном файле. Отображение между переменными и их соответствующими данными сохранено MySQL Workbench в словаре данных. В словаре данных имя переменной это ключ, соответствующие данные переменной это значение. MySQL Workbench создает словари данных и заполняет их данными, содержавшимися в обработанной модели.
Как пример, следующий фрагмент кода показывает часть файла шаблона:
Total number of Schemas: {{SCHEMA_COUNT}}
В произведенном выходном файле переменная
{{SCHEMA_COUNT}}
заменяется количеством схем в модели:
Total number of Schemas: 2
Переменная может появиться многократно в файле шаблона.
Секции используются, чтобы выполнить повторение в шаблонах. Когда MySQL Workbench меняет переменные в секции на данные, это делается многократно, используя все данные в словаре данных, в котором определяется переменная. MySQL Workbench создает словари данных согласно модели, в настоящее время обрабатываемой.
Рассмотрите следующий фрагмент кода:
{{#SCHEMATA}}
Schema: {{SCHEMA_NAME}}
{{/SCHEMATA}}
В предыдущем отрывке начало секции и конец обозначаются маркерами
{{#SCHEMATA}} и
{{/SCHEMATA}}. Когда MySQL Workbench
обрабатывает шаблон, оно отмечает секцию и повторяет это пока данные для
переменной {{SCHEMA_NAME}}
в соответствующем словаре данных не будут исчерпаны. Например, если
обрабатываемая модель содержит две схемы, вывод для секции мог
бы напоминать следующее:
Schema: Airlines Schema: Airports
Словари данных
Важно понять отношения между секциями и словарями данных более подробно. В словаре данных ключ для переменной это имя переменной, маркер. Значение переменной это данные переменной. Запись для секции в словаре данных отличается. Для записи секции в словаре данных ключ это имя секции, маркер. Однако, значение, связанное с ключом, является списком словарей данных. В MySQL Workbench каждая секция обычно связывается со словарем данных. Можно думать о секции как об активации ее связанного словаря (или словарей).
Когда шаблон обрабатывается, словари данных загружаются в иерархическом образце, формируя дерево словарей данных. Это иллюстрировано следующей таблицей.
Таблица 9.1. Дерево словарей данных
| Словарь данных | Загружаемые словари данных |
|---|---|
| MAIN | SCHEMATA |
| SCHEMATA | TABLES, COLUMNS (Детализация: true), FOREIGN_KEYS (Детализация: true), INDICES (Детализация: true) |
| TABLES | REL_LISTING, INDICES_LISTING, COLUMNS_LISTING, TABLE_COMMENT_LISTING, DDL_LISTING |
| COLUMNS_LISTING | COLUMNS (Детализация: false) |
| REL_LISTING | REL (Детализация: false) |
| INDICES_LISTING | INDICES (Детализация: false) |
Корень дерева это главный словарь. Дополнительные словари загружаются от корня, чтобы сформировать дерево словарей.
Если у шаблона нет секций, любые переменные, используемые в шаблоне, ищутся в главном словаре. Если переменная не найдена в главном словаре (который может рассматриваться как связанный с главной секцией), никакие данные не произведены в выходном файле для этого маркера.
Оценка переменных
Древовидная структура словарей данных важна относительно оценки переменной. Поскольку переменные определяются в словарях данных, у их присваиваемых значений есть значение только когда тот конкретный словарь данных активен, то есть когда секция, связанная с тем словарем данных, активна. Когда поиск переменной происходит, система проверяет словарь данных, связанный с текущей секцией. Если значение переменной может быть найдено там, замена сделана. Однако, если значение переменной не найдено в текущем словаре данных, родительский словарь данных проверяется на значение переменной и так далее все дерево, пока главный словарь данных или корень не достигнут.
Предположим, что мы хотим показать названия всех колонок в модели. Рассмотрите следующий шаблон как попытку достигнуть этого:
Report
------
Column Name: {{COLUMN_NAME}}
Этот шаблон не производит вывода даже для модели, которая содержит одну
или более колонок. В этом примере единственный активный словарь данных
является главным словарем. Однако, COLUMN_NAME
сохранена в словаре данных COLUMNS, который
связан с секцией COLUMNS.
С этим знанием шаблон может быть улучшен следующим образом:
Report
------
{{#COLUMNS}}
Column Name: {{COLUMN_NAME}}
{{/COLUMNS}}
Это все еще не производит вывод. Чтобы видеть почему, см.
раздел 9.1.
У словаря данных COLUMNS
есть родительский словарь COLUMNS_LISTING.
COLUMNS_LISTING имеет родителя
TABLES, у которого есть родитель
SCHEMATA, чей родитель это главный словарь.
Помните, что для словаря, который будет вовлечен в поиск переменной, его
связанная секция должна в настоящее время быть активной.
Чтобы достигнуть желаемого вывода, шаблон должен быть чем-то вроде:
Report
------
{{#SCHEMATA}}
{{#TABLES}}
{{#COLUMNS_LISTING}}
{{#COLUMNS}}
Column Name: {{COLUMN_NAME}}
{{/COLUMNS}}
{{/COLUMNS_LISTING}}
{{/TABLES}}
{{/SCHEMATA}}
Следующий шаблон это то же самое, но с добавленными пояснительными текстами:
Report
------
{{! Main dictionary active}}
{{#SCHEMATA}}{{! SCHEMATA dictionary active}}
{{#TABLES}}{{! TABLES dictionary active}}
{{#COLUMNS_LISTING}} {{! COLUMNS_LISTING dictionary active}}
{{#COLUMNS}}{{! COLUMNS dictionary active}}
Column Name: {{COLUMN_NAME}} {{! COLUMN_NAME variable is looked-up,
and found, in COLUMNS data dictionary}}
{{/COLUMNS}}
{{/COLUMNS_LISTING}}
{{/TABLES}}
{{/SCHEMATA}}
Вообразите теперь, когда для каждого имени столбца надо также показать его соответствующее название схемы, шаблон будет похож на это:
Report
------
{{#SCHEMATA}}
{{#TABLES}}
{{#COLUMNS_LISTING}}
{{#COLUMNS}}
Schema Name: {{SCHEMA_NAME}} Column Name: {{COLUMN_NAME}}
{{/COLUMNS}}
{{/COLUMNS_LISTING}}
{{/TABLES}}
{{/SCHEMATA}}
Когда поиск переменной выполняется для
SCHEMA_NAME,
проверяется словарь COLUMNS.
Поскольку переменная не найдена там, будет проверен родительский словарь
COLUMNS_LISTING и т.д.
пока переменная в конечном счете не найдена в словаре
SCHEMATA.
Если есть многочисленные схемы в модели, внешняя секция повторена
соответствующее число раз, и SCHEMA_NAME
соответственно имеет правильное значение на каждом повторении.
Важно всегда смотреть, какой словарь должен быть активным (и который родитель) для переменной, которая будет оценена правильно. У следующего раздела есть таблица, которая помогает вам определить требования секции.
Следующая таблица показывает поддержанные маркеры. Эти маркеры могут использоваться в любом шаблоне, включая заказные шаблоны.
Используя таблицу
Показывает, какие переменные определяются в который секции.
Переменная должна использоваться в ее правильной секции, или ее значение
не будет показано. Если type это переменная,
таблица описывает свой словарь данных и родительский словарь, если
type это секция. Также помните, что словари
данных раньше используются при формировании иерархического дерева, таким
образом, возможно использовать переменную в группе детей, которая
определяется в родительской секции.
Таблица 9.2. Поддержанные маркеры шаблона
| Текст маркера | Тип | Словарь данных или родительский словарь | Соответствующие данные |
|---|---|---|---|
| TITLE | Переменная | MAIN | Название отчета |
| GENERATED | Переменная | MAIN | Дата и время, когда отчет был произведен |
| STYLE_NAME | Переменная | MAIN | Название стиля, выбранного в MySQL Workbench, как правило, используется, чтобы загрузить соответствующий файл CSS, в зависимости от названия стиля, выбранного в MySQL Workbench |
| SCHEMA_COUNT | Переменная | MAIN | Количество схем в модели |
| PROJECT_TITLE | Переменная | MAIN | Название проекта, как установлено для модели в |
| PROJECT_NAME | Переменная | MAIN | Название проекта, как установлено для модели в |
| PROJECT_AUTHOR | Переменная | MAIN | Автор проекта, как установлено для модели в |
| PROJECT_VERSION | Переменная | MAIN | Версия проекта, как установлено для модели в |
| PROJECT_DESCRIPTION | Переменная | MAIN | Описание проекта, как установлено для модели в |
| PROJECT_CREATED | Переменная | MAIN | Автоматически установлено для проекта, но как показано в |
| PROJECT_CHANGED | Переменная | MAIN | Автоматически установлено для проекта, но как показано в |
| TOTAL_TABLE_COUNT | Переменная | MAIN | Количество таблиц во всех схемах в модели |
| TOTAL_COLUMN_COUNT | Переменная | MAIN | Количество колонок во всех таблицых во всех схемах в модели |
| TOTAL_INDEX_COUNT | Переменная | MAIN | Количество индексов в модели |
| TOTAL_FK_COUNT | Переменная | MAIN | Количество внешних ключей в модели |
| SCHEMATA | Секция | MAIN | Используется, чтобы отметить начало и конец секции SCHEMATA, словарь данных SCHEMATA становится активным в этой секции |
| SCHEMA_NAME | Переменная | SCHEMATA | Название схемы |
| SCHEMA_ID | Переменная | SCHEMATA | ID схемы |
| TABLE_COUNT | Переменная | SCHEMATA | Количество таблиц в текущей схеме |
| COLUMN_COUNT | Переменная | SCHEMATA | Количество колонок в текущей схеме |
| INDICES_COUNT | Переменная | SCHEMATA | Количество индексов в текущей схеме |
| FOREIGN_KEYS_COUNT | Переменная | SCHEMATA | Количество внешних ключей в текущей схеме |
| TABLES | Секция | SCHEMATA | Отмечает начало и конец секции TABLES, словарь данных TABLES становится активным в этой секции |
| TABLE_NAME | Переменная | TABLES | Имя таблицы |
| TABLE_ID | Переменная | TABLES | ID таблицы |
| COLUMNS_LISTING | Секция | TABLES | Отмечает начало и конец секции COLUMNS_LISTING, словарь данных COLUMNS_LISTING становится активным в этой секции |
| COLUMNS | Секция | COLUMNS_LISTING | Отмечает начало и конец секции COLUMNS, словарь данных COLUMNS становится активным в этой секции |
| COLUMN_KEY | Переменная | COLUMNS | Является ли колонка первичным ключом |
| COLUMN_NAME | Переменная | COLUMNS | Имя столбца |
| COLUMN_DATATYPE | Переменная | COLUMNS | Тип данных столбца |
| COLUMN_NOTNULL | Переменная | COLUMNS | Разрешает ли колонка значения NULL |
| COLUMN_DEFAULTVALUE | Переменная | COLUMNS | Значение столбца по умолчанию |
| COLUMN_COMMENT | Переменная | COLUMNS | Комментарий столбца |
| COLUMN_ID | Переменная | COLUMNS | ID столбца |
| COLUMN_KEY_PART | Переменная | COLUMNS (если детализировано) | Тип ключа столбца |
| COLUMN_NULLABLE | Переменная | COLUMNS (если детализировано) | Может ли столбец содержать
значения NULL |
| COLUMN_AUTO_INC | Переменная | COLUMNS (если детализировано) | Делается ли auto-increment в столбце |
| COLUMN_CHARSET | Переменная | COLUMNS (если детализировано) | Набор символов столбца |
| COLUMN_COLLATION | Переменная | COLUMNS (если детализировано) | Сопоставление столбца |
| COLUMN_IS_USERTYPE | Переменная | COLUMNS (если детализировано) | Является ли столбец пользовательским типом |
| INDICES_LISTING | Секция | TABLES | Отмечает начало и конец секции INDICES_LISTING, словарь данных INDICES_LISTING становится активным в этой секции |
| INDICES | Секция | INDICES_LISTING | Отмечает начало и конец секции INDICES, словарь данных INDICES становится активным в этой секции |
| INDEX_NAME | Переменная | INDICES | Имя индекса |
| INDEX_PRIMARY | Переменная | INDICES | Является ли это первичным ключом |
| INDEX_UNIQUE | Переменная | INDICES | Является ли это уникальным индексом |
| INDEX_TYPE | Переменная | INDICES | Тип индекса, например, PRIMARY |
| INDEX_KIND | Переменная | INDICES | Вид индекса |
| INDEX_COMMENT | Переменная | INDICES | Комментарий индекса |
| INDEX_ID | Переменная | INDICES | ID индекса |
| INDEX_COLUMNS | Секция | INDICES | Отмечает начало и конец секции INDEX_COLUMNS, словарь данных INDEX_COLUMNS становится активным в этой секции |
| INDEX_COLUMN_NAME | Переменная | INDEX_COLUMNS | Имя столбца индекса |
| INDEX_COLUMN_ORDER | Переменная | INDEX_COLUMNS | Порядок столбца индекса, например, ascending, descending |
| INDEX_COLUMN_COMMENT | Переменная | INDEX_COLUMNS | Комментарий индекса |
| INDEX_KEY_BLOCK_SIZE | Переменная | INDEX_COLUMNS (если детализировано) | Ключевой размер блока индекса |
| REL_LISTING | Секция | TABLES | Отмечает начало и конец секции REL_LISTING, словарь данных REL_LISTING становится активным в этой секции |
| REL | Секция | REL_LISTING | Отмечает начало и конец секции REL, словарь данных REL становится активным в этой секции |
| REL_NAME | Переменная | REL, FOREIGN_KEYS | Имя отношений |
| REL_TYPE | Переменная | REL, FOREIGN_KEYS | Тип связей |
| REL_PARENTTABLE | Переменная | REL, FOREIGN_KEYS | Родительская таблица отношений |
| REL_CHILDTABLE | Переменная | REL, FOREIGN_KEYS | Дочерняя таблица отношений |
| REL_CARD | Переменная | REL, FOREIGN_KEYS | Количество элементов отношений |
| FOREIGN_KEY_ID | Переменная | REL | ID внешнего ключа |
| FOREIGN_KEYS | Секция | SCHEMATA | Отмечает начало и конец секции FOREIGN_KEYS, словарь данных FOREIGN_KEYS становится активным в этой секции |
| FK_DELETE_RULE | Переменная | FOREIGN_KEYS | Правило удаления внешнего ключа |
| FK_UPDATE_RULE | Переменная | FOREIGN_KEYS | Правило обновления внешнего ключа |
| FK_MANDATORY | Переменная | FOREIGN_KEYS | Обязателен ли внешний ключ |
| TABLE_COMMENT_LISTING | Секция | TABLES | Отмечает начало и конец секции TABLE_COMMENT_LISTING, словарь данных TABLE_COMMENT_LISTING становится активным в этой секции |
| TABLE_COMMENT | Переменная | TABLE_COMMENT_LISTING | Комментарий таблицы |
| DDL_LISTING | Секция | TABLES | Отмечает начало и конец секции DDL_LISTING, словарь данных DDL_LISTING становится активным в этой секции |
| DDL_SCRIPT | Переменная | DDL_LISTING | Показать скрипт DDL в настоящее время активного окружения, например SCHEMATA, TABLES |
В самом простом случае шаблон состоит из двух файлов: файл шаблона, у
которого есть расширение .tpl, и
специальный файл info.xml. Файл
info.xml хранит важные метаданные о шаблоне.
Третий файл дополнительный, который является файлом изображения
предварительного просмотра. Этот файл предварительного просмотра
предоставляет изображение миниатюр, иллюстрирующих
появление произведенного отчета.
Один из самых легких способов создать шаблон состоит в том, чтобы сделать копию любого существующего шаблона.
Например, следующая процедура описывает, как сделать шаблон на основе
шаблона Text Basic.
Перейдите к папке, где шаблоны сохранены. Предполагая, что MySQL
Workbench установлен в местоположение по умолчанию на Windows, это будет
C:\Program Files\MySQL\MySQL Workbench 5.0
SE\modules\data\wb_model_reporting.
Text_Basic.tpl.
Копии можно дать любое подходящее имя, например,
Custom_Basic.tpl.info.xml, чтобы
отразить ваш шаблон. Неотредактированный файл в этом случае:
<?xml version="1.0"?>
<data>
<value type="object" struct-name="workbench.model.reporting.TemplateInfo"
id="{BD6879ED-814C-4CA3-A869-9864F83B88DF}" struct-checksum="0xb46b524d">
<value type="string" key="description">
A basic TEXT report listing schemata and objects.
</value>
<value type="string" key="name">HTML Basic Frame Report</value>
<value type="list" content-type="object"
content-struct-name="workbench.model.reporting.TemplateStyleInfo"
key="styles">
<value type="object" struct-name="workbench.model.reporting.TemplateStyleInfo"
id="{7550655C-CD4B-4EB1-8FAB-AAEE49B2261E}" struct-checksum="0xab08451b">
<value type="string" key="description">
Designed to be viewed with a fixed sized font.
</value>
<value type="string" key="name">Fixed Size Font</value>
<value type="string" key="previewImageFileName">
preview_basic.png
</value>
<value type="string" key="styleTagValue">fixed</value>
</value>
</value>
<value type="string" key="mainFileName">report.txt</value>
</value>
</data>
Файл определяет два объекта: TemplateInfo и
TemplateStyleInfo.
Эти объекты содержат информацию о шаблоне, который будет показан на главной
страницы мастера DBDoc Model Reporting.
id="{BD6879ED-814C-4CA3-A869-9864F83B88DF}"
...
id="{7550655C-CD4B-4EB1-8FAB-AAEE49B2261E}"
Произведите два новых GUIDs. Это сделано, используя подходящий инструмент
командной строки, и есть также бесплатные онлайн инструменты, которые
производят GUIDs. Функция MySQL UUID()
также производит GUIDs:
mysql> SELECT UUID();
+--------------------------------------+
| UUID() |
+--------------------------------------+
| 648f4240-7d7a-11e0-870b-89c43de3bd0a |
+--------------------------------------+
Как только вы имеете новые GUID, соответственно поправьте файл
info.xml.
TemplateInfo и
TemplateStyleInfo, чтобы отразить цель шаблона.
<?xml version="1.0"?>
<data>
<value type="object" struct-name="workbench.model.reporting.TemplateInfo"
id="{cac9ba3f-ee2a-49f0-b5f6-32580fab1640}" struct-checksum="0xb46b524d">
<value type="string"
key="description">
Custom basic TEXT report listing schemata and objects.
</value>
<value type="string" key="name">Custom Basic text report</value>
<value type="list" content-type="object"
content-struct-name="workbench.model.reporting.TemplateStyleInfo" key="styles">
<value type="object"
struct-name="workbench.model.reporting.TemplateStyleInfo"
id="{39e3b767-a832-4016-8753-b4cb93aa2dd6}" struct-checksum="0xab08451b">
<value type="string" key="description">
Designed to be viewed with a fixed sized font.
</value>
<value type="string" key="name">Fixed Size Font</value>
<value type="string" key="previewImageFileName">preview_basic.png</value>
<value type="string" key="styleTagValue">fixed</value>
</value>
</value>
<value type="string" key="mainFileName">custom_report.txt</value>
</value>
</data>
Создайте новый файл шаблона. Это также может лучше всего быть
достигнуто, в зависимости от ваших требований, редактируя существующий
шаблон. В этом примере файл шаблона
report.txt.tpl такой:
+--------------------------------------------+
| MySQL Workbench Report |
+--------------------------------------------+
Total number of Schemas: {{SCHEMA_COUNT}}
=============================================
{{#SCHEMATA}}
{{SCHEMA_NR}}. Schema: {{SCHEMA_NAME}}
----------------------------------------------
## Tables ({{TABLE_COUNT}}) ##
{{#TABLES}}{{TABLE_NR_FMT}}. Table: {{TABLE_NAME}}
{{#COLUMNS_LISTING}}## Columns ##
KeyColumnNameDatatypeNot NullDefaultComment
{{#COLUMNS}}{{COLUMN_KEY}}{{COLUMN_NAME}}{{COLUMN_DATATYPE}} б╩
{{COLUMN_NOTNULL}}{{COLUMN_DEFAULTVALUE}}{{COLUMN_COMMENT}}
{{/COLUMNS}}{{/COLUMNS_LISTING}}
{{#INDICES_LISTING}}## Indices ##
IndexNameColumnsPrimaryUniqueTypeKindComment
{{#INDICES}}{{INDEX_NAME}}{{#INDICES_COLUMNS}}{{INDEX_COLUMN_NAME}} б╩
{{INDEX_COLUMN_ORDER}}{{INDEX_COLUMN_COMMENT}}{{/INDICES_COLUMNS}} б╩
{{INDEX_PRIMARY}}{{INDEX_UNIQUE}}{{INDEX_TYPE}}{{INDEX_KIND}}{{INDEX_COMMENT}}
{{/INDICES}}{{/INDICES_LISTING}}
{{#REL_LISTING}}## Relationships ##
RelationshipNameRelationshipTypeParent TableChild Table Cardinality
{{#REL}}{{REL_NAME}}{{REL_TYPE}}{{REL_PARENTTABLE}}{{REL_CHILDTABLE}}{{REL_CARD}}
{{/REL}}{{/REL_LISTING}}
---------------------------------------------
{{/TABLES}}
{{/SCHEMATA}}
=============================================
End of MySQL Workbench Report
Этот шаблон показывает детали для всех схем в модели.
+--------------------------------------------+
| MySQL Workbench Custom Report |
+--------------------------------------------+
Total number of Schemata: {{SCHEMA_COUNT}}
=============================================
{{#SCHEMATA}}
Schema Name: {{SCHEMA_NAME}}
----------------------------------------------
## Tables ({{TABLE_COUNT}}) ##
{{#TABLES}}
Table Name: {{TABLE_NAME}}
{{/TABLES}}
{{/SCHEMATA}}
Report Generated On: {{GENERATED}}
=============================================
End of MySQL Workbench Custom Report
Этот упрощенный отчет просто перечисляет схемы и таблицы в модели.
Дата и время, когда отчет был произведен, также показаны в результате
использования переменной {{GENERATED}}.