Евгений Колесников 1 жил өмнө
parent
commit
4c80282a99

+ 104 - 0
articles/mywb01.md

@@ -0,0 +1,104 @@
+# Использование MySQL Workbench для создания ER-диаграммы и DDL-скрипта
+
+## Создание ER-диаграммы
+
+1. Запустите **MySQL Workbench**, откройте вкладку **Модели** и создайте новую модель (иконка с плюсом)
+
+    ![](../img/mywb_01.png)
+
+1. Переименуйте модель. Название модели будет использоваться в DDL-скрипте как название базы данных, поэтому название должно соответствовать задаче: например, `ekolesnikov_test` для лабораторных работ и `user01` при выполнени демо-экзамена.
+
+    ![](../img/mywb_02.png)
+
+    двойной клик по названию модели откроет окно редактирования
+
+    ![](../img/mywb_03.png)
+
+    >Кнопку "Rename References" нужно жать, если у вас уже есть диаграмма или таблицы
+
+1. Добавьте диаграмму
+
+    ![](../img/mywb_04.png)
+
+    Левую и правую панели можно скрыть, чтобы было больше места для диаграммы
+
+    ![](../img/mywb_05.png)
+
+1. Для добавления таблиц и связей используется панель или быстрые клавиши (можно посмотреть, наведя курсор на иконку)
+
+    ![](../img/mywb_06.png)
+
+### Добавление сущностей (таблиц) в модель
+
+1. Кликните по иконке "Новая таблица" (или нажмите быструю клавишу `T`)
+
+    ![](../img/mywb_07.png)
+
+    В верхней панели появятся натройки таблицы, можно там ничего не менять и кликнуть мышкой в том месте диаграммы, куда вы хотите поместить новую таблицу
+
+1. Двойным кликом по таблице можно открыть окно свойств, где задать название таблицы, добавить поля и их свойства
+
+    ![](../img/mywb_08.png)
+
+    ![](../img/mywb_09.png)
+
+    >Двойной клик по свободному месту в конце списка полей добавляет новое поле
+
+1. Создайте таблицы "Пользователь" (поле для внешнего ключа пока создавать не нужно) и "Роль"
+
+### Создание связей 
+
+#### "Один ко многим"
+
+Кликните по иконке связи "один ко многим" (или нажмите быструю кнопку `4`), затем кликните сначала по той таблице, где "много" (Пользователь), а затем по той где "один" (Роль).
+
+![](../img/mywb_10.png)
+
+**MySQL Workbench** автоматически создаст поле для внешнего ключа, нужно только переименовать его в соответствии с используемыми соглашениями (для C# это **camelCase**, т.е. поле нужно назвать **roleId**)
+
+#### "Многие ко многим"
+
+Аналогично кликаете сначала по иконке связи, а затем по связываемым таблицам (я не стал создавать новые таблицы, использую существующие для примера). Система автоматически добавит таблицу связей и  все нужные связи
+
+![](../img/mywb_11.png)
+
+>Не забывайте переименовывать таблицы и поля в соответствии с используемыми соглашениями
+
+## Создание DDL-скрипта
+
+**MySQL Worbench** позволяет сгенерировать DDL-скипт для создания базы данных по модели
+
+1. Выберите пункт меню "Database - Forward Engineer..."
+
+    ![](../img/mywb_12.png)
+
+1. Введите параметры подключения к серверу (можно выбрать существующее подключение)    
+
+    ![](../img/mywb_13.png)
+
+1. В настройках пока ничего менять не нужно
+
+    ![](../img/mywb_14.png)
+
+1. В окне выбора объектов тоже оставляем как есть
+
+    ![](../img/mywb_15.png)
+
+1. На следующем экране можно посмотреть сгенерированный скрипт и при необходимости внести правки
+
+    ![](../img/mywb_16.png)
+
+    1. Если на сервере запрещено создавать базы данных, то можно удалить строчку `CREATE SCHEMA ...`
+
+
+1. Если при создании модели забыли дать ей нужное название, то можно вернуться на окно настроек и включить настройку "Ommit schema qualifier.."
+
+    ![](../img/mywb_17.png)
+
+1. Вернувшись в окно DDL-скрипта не забудьте вписать строку `USE database_name`
+
+    ![](../img/mywb_18.png)
+
+1. Можно скопировать получившийся скрипт в файл или буфер обмена, а можно сразу выполнить его в текущем сервере
+
+    ![](../img/mywb_19.png)

BIN
img/mywb_01.png


BIN
img/mywb_02.png


BIN
img/mywb_03.png


BIN
img/mywb_04.png


BIN
img/mywb_05.png


BIN
img/mywb_06.png


BIN
img/mywb_07.png


BIN
img/mywb_08.png


BIN
img/mywb_09.png


BIN
img/mywb_10.png


BIN
img/mywb_11.png


BIN
img/mywb_12.png


BIN
img/mywb_13.png


BIN
img/mywb_14.png


BIN
img/mywb_15.png


BIN
img/mywb_16.png


BIN
img/mywb_17.png


BIN
img/mywb_18.png


BIN
img/mywb_19.png


+ 1 - 5
readme.md

@@ -197,15 +197,11 @@ http://sergeyteplyakov.blogspot.com/2014/01/microsoft-fakes-state-verification.h
 ### Проектирование баз данных
 
 1. [Основы проектирования баз данных. ERD.](./articles/5_1_1_1_erd2.md)
-
 1. [Словарь данных](articles/5_1_1_1_data_dictionary.md)
-
 1. [Основы SQL](./articles/sql_for_beginner.md)
-
+1. [Использование MySQL Workbench для создания ER-диаграммы и DDL-скрипта](./articles/mywb01.md)
 1. [Создание базы данных. Импорт данных.](./articles/sql_import.md)
-
 1. [Представления (View)](./articles/sql_view.md)
-
 1. [Хранимые процедуры. Триггеры.](./articles/sql_trigger.md)
 
 <!--