Евгений Колесников пре 1 година
родитељ
комит
4c80282a99
21 измењених фајлова са 105 додато и 5 уклоњено
  1. 104 0
      articles/mywb01.md
  2. BIN
      img/mywb_01.png
  3. BIN
      img/mywb_02.png
  4. BIN
      img/mywb_03.png
  5. BIN
      img/mywb_04.png
  6. BIN
      img/mywb_05.png
  7. BIN
      img/mywb_06.png
  8. BIN
      img/mywb_07.png
  9. BIN
      img/mywb_08.png
  10. BIN
      img/mywb_09.png
  11. BIN
      img/mywb_10.png
  12. BIN
      img/mywb_11.png
  13. BIN
      img/mywb_12.png
  14. BIN
      img/mywb_13.png
  15. BIN
      img/mywb_14.png
  16. BIN
      img/mywb_15.png
  17. BIN
      img/mywb_16.png
  18. BIN
      img/mywb_17.png
  19. BIN
      img/mywb_18.png
  20. BIN
      img/mywb_19.png
  21. 1 5
      readme.md

+ 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)




















+ 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)
 
 <!--