Налаштування обладнання та програмного забезпечення

Mysql workbench Українська версія. Від моделі до фізичної БД до MySQL WorkBench


Яким би не був розробник баз даних: початківець (особливо) або бородатий професіонал, йому завжди простіше і наочніше уявляти те, над чим він працює, що розробляє. Особисто я відношу себе до першої категорії і для розуміння матеріалу мені хотілося б бачити візуально те, що я проектую/розробляю.

На сьогоднішній день існують різні програмита інструменти, які справляються з подібним завданням: якісь краще, якісь гірші. Але сьогодні я хотів би трохи розповісти про MySQL WorkBench - інструмент для візуального проектуваннябаз даних, що інтегрує проектування, моделювання, створення та експлуатацію БД в єдине безшовне оточення для системи баз даних MySQLякий є наступником DBDesigner 4 з FabForce.(c) Wikipedia. MySQL WorkBench поширюється у двох варіантах: OSS - Comunity Edition(поширюється під ліцензією LGPL) та SE - Standard Edition- версія, за яку розробники просять гроші. Але я думаю, що багатьом буде достатньо і OSSверсії (особливо новачкам і тим, хто не хоче або вважає недоцільним платити за ПЗ, а також прихильникам програм з відкритим вихідним кодом), Тим більше, що OSS версія має багатий функціонал.

Отже, як видно з назви, даний інструментпризначений для роботи з MySQL базами даних,підтримує велика кількість різних типівмоделей MySQL (див. скріншот нижче) і стане незамінним інструментом для кращого розуміння та вивчення реляційних БД (зокрема MySQL) для новачків:

Таким чином, будь-який розробник MySQL знайде те, що потрібно. Крім того MySQL WorkBenchдозволяє підключати існуючу базу даних, виконувати SQL запити і SQL скрипти, редагувати та керувати об'єктами БД. EER моделібази даних. Іншими словами - це візуальне уявлення всіх зв'язків між таблицями Вашої БД, яке, за необхідності, легко можна у вигляді SQL скрипта, відредагувати чи створити нове уявлення. Але про це трохи згодом. Для початку подивимося як виглядає головне око MySQL WorkBench(5.2.33 rev 7508)):
Для того щоб створити EER-модель Вашої БД вибираємо " Create New EER ModelУ результаті з'явиться вкладка, в якій ми можемо додавати/створювати діаграми, таблиці, види, процедури; задавати різні права доступу для користувачів; створювати модель за допомогою SQL скриптів. Виглядає дана вкладка таким чином:
Процес створення таблиць і БД не розглядатимемо, т.к. тут все просто. Наведу лише остаточний варіант готової моделі (див. на скріншотах нижче). Причому якщо навести курсор на лінію зв'язку (пунктирна лінія) таблиць, то "зв'язок", первинний ключ, а також зовнішній ключ виділяться іншим кольором. Якщо навести курсор на якусь таблицю, то виділиться сама таблиця, а також всі зв'язки, що належать до обраної таблиці.

Для того, щоб відредагувати таблицю, достатньо натиснути ПКМ по потрібній таблиці і вибрати " Edit Table...". В результаті внизу вікна з'явиться додаткова область редагування таблиці, в якій можна змінити ім'я таблиці, стовпці, зовнішні ключі та багато чого іншого. Для того, щоб експортувати таблицю в SQL-скрипт достатньо натиснути ПКМ за потрібною нам таблицею вибрати " Copy SQL to Clipboard", а потім із буфера обміну вставити в потрібне місце/програму/файл.

А тепер безпосередньо про установці MySQL WorkBench. Природно, що спочатку потрібно завантажити MySQL WorkBench. Для цього переходимо на сторінку завантаження MySQL WorkBench , внизу сторінки у списку вибираємо потрібну нам операційну систему. В результаті нам буде запропоновано кілька варіантів завантаження:

  • для ОС Windowsможна скачати MSI установщик, zip архівпрограми, а також архів із вихідним кодом. Для цієї ОС MySQL WorkBenchможна завантажити лише для 32-розрядної версії Windows;
  • для користувачів Ubuntuвибір трохи багатший, ніж для користувачів ОС Windows - нам пропонують завантажити MySQL WorkBenchдля Ubuntu версій 10.04, 10.10 (на момент написання статті) та 32- або 64-розрядних версій deb пакетів;
  • для rpm-basedдистрибутивів, а в даному випадку це Fedora, Suse Linux та RedHat/Oracle Linux, MySQL WorkBenchпредставлені збірки для 32- та 64-розрядної ОС;
  • не забули і користувачів Macintosh - для них є складання тільки для 32-розрядної ОС;
  • ну і природно можна завантажити вихідний кодпрограми;

Отже, вибираємо необхідний варіант завантаження та натискаємо DownLoad. Потім нас люб'язно попросять представитися: для зареєстрованих користувачів – ввести логін та пароль, для новачків – зареєструватися. Якщо Ви не хочете представлятися, то вибираємо трохи нижче варіант. » No thanks, just take me to the downloads!" і вибираємо найближче дзеркало для завантаження. Крім того, перед установкою подбайте про те, що б у вас було встановлено MySQL Client,.інакше MySQL WorkBench відмовиться встановлюватися.

Про що потрібно пам'ятати та знати користувачам Linux:

Звичайно, як і для випадку з ОС Windows не забуваємо про MySQL Client. Для користувачів Ubuntu - необхідно качати версію програми, відповідно до версії Вашої Ubuntu. Під час установки уважно дивимося на повідомлення про помилку, якщо такі з'явилися, в яких, напевно, буде сказано про те, яких пакетів не вистачає у Вашій ОС. Про це читаємо нижче.

Як справи з rmp-base дистрибутивами, я на жаль не знаю, т.к. жодного разу такими дистрибутивами не користувався, але думаю, що приблизно так само, як і з debian-based.

Можливо Ви помітили, що відсутня збірка MySQL WorkBenchдля ОС Debian GNU/Linux. Але, як показала практика – нічого страшного. Для установки MySQL WorkBenchу Debian 6.0 (Squeeze) ми скористаємося deb- пакетом для Ubuntu 10.04(Не забуваймо про розрядність Вашої ОС: x86 або x64). Нагадаю, для того, щоб встановити скачаний deb пакет можна скористатися утилітою gdebiабо ввести в консолі від імені рута команду:

# dpkg -i mysql-workbench-gpl-5.2.33b-1ubu1004-amd64.deb Наприклад, у мене під час установки MySQL WorkBench виникла така помилка:
dpkg: залежності пакетів не дозволяють настроїти пакет mysql-workbench-gpl:
mysql-workbench-gpl залежить від libcairomm-1.0-1 (>= 1.6.4), однак:
Пакет libcairomm-1.0-1 не встановлено.
mysql-workbench-gpl залежить від libctemplate0, однак:
Пакет libctemplate0 не встановлений.
mysql-workbench-gpl залежить від libgtkmm-2.4-1c2a (>= 1:2.20.0), однак:
Пакет libgtkmm-2.4-1c2a не встановлено.
mysql-workbench-gpl залежить від libpangomm-1.4-1 (>= 2.26.0), однак:
Пакет libpangomm-1.4-1 не встановлено.
mysql-workbench-gpl залежить від libzip1 (>= 0.9), однак:
Пакет libzip1 не встановлено.
mysql-workbench-gpl залежить від python-paramiko, однак:
Пакет python-paramiko не встановлено.
mysql-workbench-gpl залежить від python-pysqlite2, однак:
Пакет python-pysqlite2 не встановлено.
dpkg: не вдалося обробити параметр mysql-workbench-gpl (--install):
проблеми залежностей - залишаємо не налаштованим
При обробці таких пакетів відбулися помилки:
mysql-workbench-gpl

Для усунення цієї помилки мені достатньо було набрати в консолі команду для встановлення деяких пакетів:

# aptitude install libzip1 libcairomm-1.0-dev libctemplate0 libgtkmm-2.4-1c2a

Для установки, наведених вище пакетів, потрібно ще додаткові пакети, які менеджер aptлюб'язно запропонує завантажити. Після інсталяції всіх необхідних пакетів MySQL WorkBench встановлюється без проблем.

Все: MySQL WorkBench благополучно встановлений та готовий для вивчення роботи.

upd:
Якщо не помиляюся, то починаючи з Ubuntu 12.04, MySQL WorkBench можна знайти в репозиторіях дистрибутива. Отже, процес установки проходить набагато простіше і без усяких милиць.
Для встановлення MySQL WorkBench достатньо в терміналі ввести команду:
sudo aptitude install mysql-workbench

Мета даного поста - допомогти розробнику-початківцю швидко освоїться і спроектувати простеньку базу за допомогою інструменту для візуального проектування баз даних MySQL Workbench від компанії Oracle і отримати її ER-модель і SQL-дамп.

Ну що ж, менше слів та більше сенсу! Зовнішній виглядвікна програми, розділ «Моделювання даних» виглядає так:

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

Для початку необхідно створити таблиці, для цього натисніть кнопку Add Table, з'явиться така форма:

Спочатку створимо таблицю users, яка зберігатиме дані про користувачів інформаційної системи, в полі table Nameвпишемо ім'я таблиці, у розділі форми Columnsстворимо поля таблиці:
- Перше поле idміститиме унікальний номер користувача, задамо йому властивості: Auto Increment, Not Null, Primary keyі Unique, в розділі Data typeвиберемо цілий тип integer.
- Друге поле fio, де зберігатиметься П.І.Б.користувача, встановимо полю якості: Not Null, Primary key, в розділі Data typeвиберемо рядковий тип VARCHAR 255 .
- Третє поле login, буде містити логін користувача, воно має бути унікальним, як і поле idтому встановимо йому властивість Uniqueі задамо кількість символів у 255 .
- Наступні поля: passwordщо містить пароль, e_mailмістить адресу електронної поштиі поле typeщо містить тип користувача будуть без особливих властивостей, з рядковим типом VARCHARдовгою в 255 символів, за винятком останнього поля typeякому вистачить з 45 символів.
Після виконаних маніпуляцій форма з ім'ям таблиці usersбуде виглядати так:

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

Аналогічним способом створимо таблицю settingsз налаштуваннями доступу до бази даних ІС, що містить поля id, hostдля вказівки імені хоста (адреси сервера), db- імені бази даних, userі passwordз ім'ям користувача та паролем, для встановлення ІС на віддалений сервер.

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

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

Створені нами таблиці settings, shopsі productsвиглядають наступним чином:

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

Вигляд таблиці такий:

Останні дві таблиці це ordersі deliveries, перша містить інформацію про замовлення клієнтів, а остання інформація про доставку продукції.

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

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

Таблиці ordersі deliveriesвиглядають так:

Зв'язки таблиць

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

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

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

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

У реляційної моделі ставлення завжди перебуває у першій нормальній формі визначення поняття ставлення. Що ж до різних таблиць, всі вони можуть бути правильними уявленнями відносин, і, можуть бути у першої нормальної формі. Змінна відношення знаходиться в другій нормальній формі тоді і тільки тоді, коли вона знаходиться в першій нормальній формі і кожен не ключовий атрибут непривідний (функціонально повно) залежить від її потенційного ключа. База даних буде знаходитися в третій нормальній формі, якщо вона приведена до другої нормальної форми і кожен не ключовий стовпець незалежний один від одного.

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

Більшість таблиць знаходяться у відношенні до одного, за винятком таблиць deliveriesі ordersперебувають у відношенні одні до одного, т.к. доставлений, можливо лише одні замовлення, тобто. в одного замовлення лише одна доставка. Інші зв'язки наочно вказані вище.

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

Потім заповнимо поля у вікні:

Вкажемо ім'я з'єднання у полі Connection Name, виберемо метод з'єднання у списку Connection Method, задамо ім'я хоста та порт у вкладці Parameters, вкажемо ім'я користувача та пароль, якщо він є і натиснемо на кнопку ОК. Потім відкриємо вкладку EER Diagram, на панелі виберемо пункт Databaseі натисніть на параметр Forward Engineer:

Після того як з'явиться вікно, натискаємо кнопку "Next", вибираємо параметр Export MySQL Table Objectsта натискаємо на кнопку "Next":

Після натискання кнопки з'явиться вкладка з SQL кодом, можна зберегти його, натиснувши кнопку "Save to file"якщо це необхідно, а потім натиснути кнопку "Next". З'явиться вікно з параметрами з'єднання:

Перевіряємо, чи правильні параметри підключення та натискаємо на кнопку "Execute"Якщо в SQL коді не міститься помилок, то після виконання коду ми побачимо вікно зі списком таблиць, інакше виведеться повідомлення про помилку. Тепер наша база завантажена на сервер.

Дякую за увагу, завантажити саму програму.

UPD:

Деяких хабравчан цікавила можливість відображення ліній зв'язків таблиць у режимі поле до поля

за порадою одного з користувачів я наведу невелике пояснення про те, як змінити вид зв'язків та таблиць, для цього необхідно вибрати наступний параметр у розділі меню Relationship Notation:

Після цього зв'язку таблиць набудуть вигляду:

Також є можливість змінити вид таблиць, для цього потрібно поставити галочку у вказаному вище розділі меню і в наступному Object Notation:

Ось так виглядає таблиця на діаграмі, наведена до стандарту IDEF1X:

Дякую за слушні коментарі!

Мета даного поста - допомогти розробнику-початківцю швидко освоїться і спроектувати простеньку базу за допомогою інструменту для візуального проектування баз даних MySQL Workbench від компанії Oralce і отримати її ER-модель і SQL-дамп.

Ну що ж, менше слів та більше сенсу! Зовнішній вигляд вікна програми, розділ "Моделювання даних" виглядає так:

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

Для початку необхідно створити таблиці, для цього натисніть кнопку Add Table, з'явиться така форма:


Спочатку створимо таблицю users, яка зберігатиме дані про користувачів інформаційної системи, у полі table Nameвпишемо ім'я таблиці, у розділі форми Columnsстворимо поля таблиці:
- Перше поле idміститиме унікальний номер користувача, задамо йому властивості: Auto Increment, Not Null, Primary keyі Unique, в розділі Data typeвиберемо цілий тип integer.
- Друге поле fio, де зберігатиметься П.І.Б.користувача, встановимо полю якості: Not Null, Primary key, в розділі Data typeвиберемо рядковий тип VARCHAR 255 .
- Третє поле login, буде містити логін користувача, воно має бути унікальним, як і поле idтому встановимо йому властивість Uniqueі задамо кількість символів у 255 .
- Наступні поля: passwordщо містить пароль, e_mailщо містить адресу електронної пошти та поле typeщо містить тип користувача будуть без особливих властивостей, з рядковим типом VARCHARдовгою в 255 символів, за винятком останнього поля typeякому вистачить з 45 символів.
Після виконаних маніпуляцій форма з ім'ям таблиці usersбуде виглядати так:


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

Аналогічним способом створимо таблицю settingsз налаштуваннями доступу до бази даних ІС, що містить поля id, hostдля вказівки імені хоста (адреси сервера), db- імені бази даних, userі passwordз ім'ям користувача та паролем, для встановлення ІС на віддалений сервер.

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

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

Створені нами таблиці settings, shopsі productsвиглядають наступним чином:

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

Вигляд таблиці такий:

Останні дві таблиці це ordersі deliveries, перша містить інформацію про замовлення клієнтів, а остання інформація про доставку продукції.

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

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

Таблиці ordersі deliveriesвиглядають так:

Зв'язки таблиць

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


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


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

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

У реляційної моделі ставлення завжди перебуває у першій нормальній формі визначення поняття ставлення. Що ж до різних таблиць, всі вони можуть бути правильними уявленнями відносин, і, можуть бути у першої нормальної формі. Змінна відношення знаходиться в другій нормальній формі тоді і тільки тоді, коли вона знаходиться в першій нормальній формі і кожен не ключовий атрибут непривідний (функціонально повно) залежить від її потенційного ключа. База даних буде знаходитися в третій нормальній формі, якщо вона приведена до другої нормальної форми і кожен не ключовий стовпець незалежний один від одного.

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


Більшість таблиць знаходяться у відношенні до одного, за винятком таблиць deliveriesі ordersперебувають у відношенні одні до одного, т.к. доставлений, можливо лише одні замовлення, тобто. в одного замовлення лише одна доставка. Інші зв'язки наочно вказані вище.

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

Потім заповнимо поля у вікні:


Вкажемо ім'я з'єднання у полі Connection Name, виберемо метод з'єднання у списку Connection Method, задамо ім'я хоста та порт у вкладці Parameters, вкажемо ім'я користувача та пароль, якщо він є і натиснемо на кнопку ОК. Потім відкриємо вкладку EER Diagram, на панелі виберемо пункт Databaseі натисніть на параметр Forward Engineer:

Після того як з'явиться вікно, натискаємо кнопку "Next", вибираємо параметр Export MySQL Table Objectsта натискаємо на кнопку "Next":

Після натискання кнопки з'явиться вкладка з SQL кодом, можна зберегти його, натиснувши кнопку "Save to file"якщо це необхідно, а потім натиснути кнопку "Next". З'явиться вікно з параметрами з'єднання:


Перевіряємо, чи правильні параметри підключення та натискаємо на кнопку "Execute"Якщо в SQL коді не міститься помилок, то після виконання коду ми побачимо вікно зі списком таблиць, інакше виведеться повідомлення про помилку. Тепер наша база завантажена на сервер.

Дякую за увагу, завантажити саму програму.

Відкрийте меню Пуск і наберіть Workbench. У списку виберіть MySQL Workbench.

Відкриється вікно, яке називається домашнім екраном.

Домашній екран

У верхній частині Ви можете побачити список з'єднань із СУБД. Ці елементи управління використовуються для підключення до СУБД та прямого управління.

У нижній частині знаходиться перелік моделей. Моделі застосовуються для візуального проектування баз даних.

Підключення

"Плитка" підключення

При наведенні курсору миші на підключення у “плитки” відгинається куточок. Якщо натиснути цей куточок, з'явиться інформація про підключення: версія СУБД, дата останнього використання, адреса сервера СУБД, логін, тощо.


Інформація про підключення

У правому нижньому куті є кнопка Connect, яка відкриє дане підключення.

Підключення також можна відкрити, натиснувши на саму “плитку”.

Відкрийте перше підключення у списку.

Редактор SQL-запитів

Після відкриття підключення відкривається вікно редактора SQL-запитів.


Вікно редактора SQL-запитів

У центрі бачимо вікно редагування запиту.

Назад до домашньому екраніможна повернутися, натиснувши на іконку у верхньому лівому куті вікна.

Зліва знаходиться навігатор, що відображає основні завдання та список об'єктів БД.

У нижньому лівому куті знаходиться вікно інформації про обраний об'єкт.

Справа знаходиться вікно допомоги.

Внизу вікно історії запитів.

У верхньому правому куті знаходяться елементи керування, що дозволяють приховати або відобразити бічні панелі.

Виконання запитів


Редактор SQL – Панель SQL-запиту

Виконаємо запит до бази world. По-перше, виберемо базу даних світу як активну.

Для цього знайдіть об'єкт world в навігаторі, і оберіть його подвійним кліком, або натиснувши правою кнопкоюмиші та в контекстному менюобравши Set as Default Schema.

Тепер можна виконувати запити до бази world.

Зауваження

Ви також можете вибрати активну базу, виконавши запит

USE schema_name;

Наприклад,

USE world;

Для початку запитаємо список таблиць у вибраній базі. Для цього у вікні редагування SQL-запиту напишемо

SHOW TABLES;

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

Потім натисніть кнопку виконання запиту (жовта блискавка), або виберемо в меню Query → Execute (All or Selection) . Клавіатурне скорочення – ctrl+shift+enter

Інші кнопки панелі вікна SQL-запиту

SQL Editor - Toolbar

Зліва направо, кнопки:

    Open an SQL Script File: Завантажує вміст попередньо збереженого запиту з файлу.

    Save SQL Script to File: Зберігає запит у файл

    Execute SQL Script: Виконує виділену частину запиту або весь запит, якщо нічого не виділено.

    Execute Current SQL script: Виконує вираз, на якому знаходиться текстовий курсор.

- **Explain (All or Selection)**: Відображає інформацію про роботу оптимізатора для вибраної частини запиту або всього запиту.

    Stop the query being executed: Перериває поточний запит.

    Примітка, коли виконання SQL script повинен бути здійснений після failed statements: Перемикає поведінку при помилках. Якщо на кнопці відображено червоний кружок, виконання запиту переривається при помилці виконання одного з виразів.

    Інакше, якщо відображено зелену стрілку, вирази з помилками пропускаються і виконання запиту продовжується.

    Commit: Підтверджує поточну транзакцію.

    Rollback: Скасує поточну транзакцію

    Toggle Auto-Commit Mode: Якщо увімкнено, кожен вираз буде автоматично підтверджено.

    Set Limit for Executed Queries: Обмеження кількості результатів запиту

    Beautify SQL: Форматувати текст запиту

    Find panel: Відобразити панель пошуку у тексті запиту.

    Invisible characters: Відображення “невидимих” символів.

    Wrapping: Включити перенесення за словами

Відкриється вікно результату запиту.

У центрі вікна результату перебуває результат запиту – у разі, список назв таблиць. Праворуч – кнопки вибору стилю відображення:

  • Result Grid– у вигляді таблиці (за замовчуванням)
  • Form Editor- У вигляді форми. Кожен запис відкривається на окремій сторінці, у верхній частині вікна є стрілки для навігації за записами.
  • Field Types- Відображає типи атрибутів результату.
  • Query Stats- Відображає різну статистику запиту
  • Execution Path– показує алгоритм роботи оптимізатора

Подивимося, як влаштовано таблицю Country . Для цього, виконаємо команду

SELECT * FROM Country;

і виберемо стиль відображення результату Field Types.

Зауваження

Запуск запиту на виконання запускає Усе вирази, написані у вікні запиту. Якщо у вікні запиту написано кілька виразів, розділених крапкою з комою, вони виконуються послідовно. Тому видаляйте або коментуйте вже виконані запити.

Коментарі в SQL починаються з подвійного дефісу, наприклад:

Коментар -- SHOW TABLES; SELECT * FROM Country;

В даний моментнас цікавлять атрибути (колонки) Name – назви країни та LifeExpectancy – середня тривалість життя громадян.

Виведемо список країн із середньою тривалістю життя громадян понад 80 років. Для цього виконаємо запит

Інший запит, який можна виконати до таблиці Country – кількість країн формою правління.

SELECT GovernmentForm, COUNT (Name) FROM Country GROUP BY GovernmentForm;

Створення бази даних

Для створення бази даних можна виконати запит

CREATE DATABASE db_name;

Створіть базу даних під назвою myFirstDatabase:

CREATE DATABASE myFirstDatabase;

Щоб відобразити створену БД у списку об'єктів, натисніть правою кнопкою миші на порожнє місце і виберіть Refresh All .

Виберіть myFirstDatabase як активну.

Створення таблиці

Створимо таблицю People , що складається з колонок id , name , birthday:

CREATE TABLE People ( id BIGINT AUTO_INCREMENT PRIMARY KEY , name TINYTEXT NOT NULL , birthday DATE );

Примітка Існує графічний інструмент створення таблиць. Розберемо його, коли працюватимемо з інструментом графічного проектування БД.

Перевіримо, що таблиця створилася:

SHOW TABLES;

* FROM People;

Додавання та редагування даних

При виборі всіх стовпців таблиці Workbench дозволяє редагувати записи безпосередньо через інтерфейс результату запиту. Виберіть стиль відображення результату Form Editor і введіть значення атрибутів name і birthday . Останнє вводиться у форматі YYYY-MM-DD, наприклад для 1 вересня 2015 введіть 2015-09-01.

Поле id залиште порожнім.

У правому нижньому куті вікна результату можна побачити кнопки Apply та Revert. Перша згенерує та виконає SQL-запит INSERT, а друга скасує зміни.

Натисніть Apply , перегляньте згенерований запит і застосуйте його. Якщо все зроблено правильно, то таблицю вставлено новий запис. Виконайте запит

SELECT * FROM People;

ще раз, щоб у цьому переконатись.

Примітка Можна також додавати та редагувати записи в табличному відображенні результату.

Видалення даних

Дані можна видаляти з вікна результатів за допомогою кнопки панелі Delete selected rows .

Інший спосіб - виконання SQL-запиту

Наприклад, видалимо з таблиці People запис з будь-яким значенням id:

Підставте замість одного з існуючих значень.

Примітка За промовчанням Workbench виконує запити з параметром SQL_SAFE_UPDATES . Цей параметр не дозволяє виконувати запити UPDATE та DELETE без вказівки умови WHERE з первинним ключем (в даному випадку id).

Імпорт та експорт

Експорт

У навігаторі виберіть Data Export. Виберіть бази даних та таблиці, які потрібно експортувати. При необхідності, позначте інші об'єкти, які хочете експортувати: Dump Stored Procedures and Functions, Dump Events, Dump Triggers.

Виберіть Export to Self-Contained File та файл, до якого буде збережено експорт.

Не відзначайте Include Create Schema: ця опція включить в експорт вираз CREATE DATABASE .

Натисніть кнопку Start Export.

Імпорт

У навігаторі виберіть Data Import/Restore . Виберіть Import from Self-Contained File .

Виберіть базу даних, в яку буде здійснено імпорт у списку Default Target Schema . Можна також створити нову БД, натиснувши на кнопку New…

Натисніть Start Import.

Видалення таблиць

Для видалення таблиць використовується запит

DROP TABLE tbl_name;

Видалимо таблицю People

DROP TABLE People;

Видалення БД

Для видалення БД використовується запит

DROP DATABASE tbl_name;

Видалимо таблицю myFirstDatabase

DROP DATABASE myFirstDatabase;

Як створити структуру бази даних MySQL? Як створювати таблиці MySQL? Програма створення бази даних MySQL Workbench!

Як створити структуру бази даних MySQL, використовуючи MySQL Workbench

Хочете створити свою власну базу даних, але ви втомилися від створення таблиць і зв'язків між ними за допомогою SQL? Використовуйте вільне програмне забезпечення MySQL Workbench, яка була створена, щоб візуально створювати бази даних.

MySQL Workbench дозволяє моделювати базу даних MySQL, використовуючи візуальне представлення таблиць. Це усуває необхідність ретельно описувати структуру бази даних, в SQL, програма MySQL Workbench генеруватиме код за вас! Завантажити програму можна безкоштовно на веб-сайті: http://www.mysql.com/downloads/workbench, ви можете завантажити як настановну версію, так і ту, яка вимагає тільки розпакування ( доступні системивключають: Windows, Ubuntu Linux, Fedora, Mac OS Х).

Як використовувати програму для створення бази даних MySQL?

Відкрийте MySQL Workbench, виберіть пункт File -> New Model, або натисніть CTRL + N. область моделювання баз даних, що відображається на зображенні нижче:

Перше, що ви повинні зробити, це створити таблицю з атрибутами - тому натисніть кнопку "Додати таблицю".

Заповніть відповідні поля: ім'я таблиці, атрибути (пам'ятайте, що один із них має бути головним ключем – позначеним прапорцем, PK "первинний ключ".).

Коли ви створюєте таблиці, ви повинні думати, як вони будуть пов'язані один з одним.

Якщо ви заповнили всі таблиці, натисніть кнопку "Додати діаграму", щоб визначити відносини між суб'єктами.

Ви побачите вікно, схоже на наведене нижче, де показана створена таблиця В робочій області діаграми.

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

Тепер об'єднайте таблицю, щоб сформувати відносини.

Припустимо, вони будуть виглядати таким чином:

Книга може належати до одного читача

Читач може зайняти кілька книг

Як правило, використовуються три опції, які дозволяють створити журнал (1: 1, 1 для багатьох, і багато хто до багатьох):

Таким чином, ми створюємо з'єднання, як показано на малюнку:

Якщо двічі клацніть на відносини, ви зможете встановити додаткові параметри.

Коли ви закінчите створення структури, ви можете створити базу даних SQLпросто імпортувавши її. Щоб зробити це, виберіть меню Файл -> Експорт -> і виберіть потрібний варіант, дані в основному є таблиці, і користувачів (якщо такі створені). Файл, який я створив, показаний нижче.

Сподобалась стаття? Поділіться з друзями!
Чи була ця стаття корисною?
Так
Ні
Дякую за ваш відгук!
Щось пішло не так і Ваш голос не було враховано.
Спасибі. Ваше повідомлення відправлено
Знайшли у тексті помилку?
Виділіть її, натисніть Ctrl+Enterі ми все виправимо!