Mysql workbench додати дані. Розробка та моделювання у програмі Electronics Workbench. Додавання та редагування даних

Головна / Корисне ПЗ

Увага, оскільки WorkBench оновився, то я написав , Що складається з теорії та практики побудови БД з WorkBench.

В розділі "Foreign Key Options"налаштовуємо поведінку зовнішнього ключапри зміні відповідного поля (ON UPDATE)та видаленні (ON DELETE)батьківського запису:

  • RESTRICT– видавати помилку при зміні / видаленні батьківського запису
  • CASCADE– оновлювати зовнішній ключ при зміні батьківського запису, видаляти дочірній запис при видаленні батьків
  • SET NULL– встановлювати значення зовнішнього ключа NULLпри зміні / видаленні батька (неприйнятно для полів, у яких встановлено прапор NOT NULL!)
  • NO ACTION- не робити нічого, проте за фактом ефект аналогічний RESTRICT

Збереження з моделі в реальну/фізичну базу даних

“File → Export→ Forward Engineer MySQL Create Script…”

Зазначаємо необхідні галочки, мені потрібна була лише одна Generate INSERT Statements for Tables. Якщо потрібно зберегти скрипт у файл, пропишіть директорію в полі зверху.

У наступному вікні можна налаштувати – які об'єкти ми експортуватимемо. Якщо уважно придивитися, то у нас створено лише 2 таблиці.

Виконання скрипту – створення бази даних та таблиць

Тиснемо на “будиночок” у верхньому лівому кутку програми…

Потім 2 рази натискаємо на MyConnection….

Перед нами відкривається така вкладка.

Це наше з'єднання з сервером, тут ми будемо виконувати наш скрипт. Зверніть увагу зліва бази даних, які були створені в програмі WorkBench….

Тепер, потрібно дати команду цей скрипт виконати, для цього тиснемо у верхньому меню Query Execute (All or Selection)

Отже, якщо все нормально, то в нижньому вікні output ви побачите всі "зелені галочки". А коли натиснете Refresh у контекстному менюУ списку баз даних, то побачите новостворену базу mydatabase1.

Насамкінець, побудуємо ER діаграму. ER розшифровується як Entity Relation - вдала модель "Сутність - зв'язок", яка, зокрема, розроблялася Пітером Ченом. Отже, повертаємось на вкладку моделі та тиснемо на Add Diagramm…

Ми створили зв'язок один до багатьох. На одному факультеті можуть навчатися кілька студентів. Зверніть увагу, що зв'язок біля таблиці Students розщеплюється – це означає “до багатьох”.

Отже, ми створили модель з неї через виконання скрипта – реальну базу з таблицями. Також створили діаграму ER.

MySQL Workbench – програмний продукт, Створений для проектування БД. В наявності каталог інструментів для оперування та моделювання бази даних. Засіб характеризується високою продуктивністю.

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

Завантажити безкоштовно повну російську версію MySQL Workbench з офіційного сайту без реєстрації та смс.

Системні вимоги

  • Підтримувані ОС: Windows 10, Vista, 8.1, XP, 7, 8
  • Розрядність: 64 bit, 32 bit, x86

Мета даного посту - допомогти розробнику-початківцю швидко освоїться і спроектувати простеньку базу за допомогою інструмента для візуального проектуваннябаз даних 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 коді не міститься помилок, то після виконання коду ми побачимо вікно зі списком таблиць, інакше виведеться повідомлення про помилку. Тепер наша база завантажена на сервер.

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

Мета даного посту - допомогти розробнику-початківцю швидко освоїться і спроектувати простеньку базу за допомогою інструменту для візуального проектування баз даних 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:

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

© 2022 androidas.ru - Все про Android