Підсистеми зберігання даних
Лабораторна робота №4
Створення бази даних в СУБД MySQL.
Мета: набуття навиків створення баз даних та таблиць в СКБД MySQL.
Завдання для виконання
На основі розробленої під час попередньої лабораторної роботи EER-діаграми виконати наступне:
1. У середовищі MySQL Workbench (або у командному рядку) створити нову базу даних;
2. У базі даних створити потрібні таблиці зі стовпцями та правильно обраним типом даних стовпців, а також вказати первинний ключ (РК) в кожній таблиці;
Теоретичні відомості
Список термінів:
· Database engine, storage engine (движок бази даних, підсистема зберігання даних) - компонент СУБД, керуючий базами даних, або бібліотека, що підключається до програм і дає їм функції СУБД.
· InnoDB - одна з підсистем низького рівня в СУБД MySQL, входить у всі стандартні збірки для різних операційних систем. Основною відмінністю InnoDB від інших підсистем низького рівня MySQL є наявність механізму транзакцій і зовнішніх ключів.
· MyISAM - одна з основних (поряд зі InnoDB) систем зберігання даних в СУБД MySQL. Вона ґрунтується на принципах ISAM і має ряд корисних доповнень. Підтримується з версій MySQL 3.x, до версій MySQL 5.5 була системою зберігання за замовчуванням. MyISAM має можливості зі стиснення даних, та по створенню повнотекстових індексів. Однак не являється стійкою до збоїв і не виконує вимоги ACID.
· ACID (англ. Atomicity, Consistency, Isolation, Durability) - це набір властивостей, що гарантують надійну роботу транзакцій бази даних: атомарність, узгодженість, ізольованість, довговічність. Ці вимоги були сформульовані у 1970-х роках науковцем Джимом Греєм.
Сервер MySQL
MySQL ([maɪ ˌɛskjuːɛl]) – вільна реляційна система управління базами даних. Розробку і підтримку MySQL здійснює корпорація Oracle, що отримала права на торговельну марку разом з поглиненою Sun Microsystems, яка раніше придбала шведську компанію MySQL AB.
Продукт поширюється як під GNU General Public License, так і під власною комерційною ліцензією. Крім цього, розробники створюють функціональність за замовленням ліцензійних користувачів. Саме завдяки такому замовленню майже в самих ранніх версіях з'явився механізм реплікації.
MySQL є рішенням для малих і середніх додатків. Входить до складу серверів WAMP, AppServ, LAMP і в портативні збірки серверів Денвер, XAMPP, VertrigoServ. Зазвичай MySQL використовується як сервер, до якого звертаються локальні або віддалені клієнти, проте в дистрибутив входить бібліотека внутрішнього сервера, що дозволяє включати MySQL в автономні програми.
Гнучкість СКБД MySQL забезпечується підтримкою великої кількості типів таблиць: користувачі можуть вибрати як таблиці типу MyISAM, що підтримують повнотекстовий пошук, так і таблиці InnoDB, що підтримують транзакції на рівні окремих записів. Більш того, СУБД MySQL поставляється із спеціальним типом таблиць EXAMPLE, який демонструє принципи створення нових типів таблиць. Завдяки відкритій архітектурі і GPL-ліцензуванню, в СКБД MySQL постійно з'являються нові типи таблиць.
26 лютого 2008 компанія Sun Microsystems придбала MySQL AB за $ 1 млрд, 27 січня 2010 Oracle придбала Sun Microsystems за $ 7,4 млрд і включила MySQL в свою лінійку СКБД.
За замовчуванням сервер MySQL встановлюється у директорію – C:\Program Files\MySQL\MySQL Server 5.7, а данні у директорію – C:\ProgramData\MySQL\MySQL Server 5.7\Data. У папці Data зберігаються створені бази даних.
Підсистеми зберігання даних
Для початку поговоримо про типи таблиць в MySQL. Архітектура MySQL дозволяє підключати різні «движки» таблиць. На даний момент MySQL підтримує безліч різних типів таблиць, кожен з яких має свої переваги і недоліки. Деякі СКБД дозволяють одночасно використовувати декілька систем зберігання даних (движків). Наприклад, MySQL дозволяє використовувати системи зберігання даних: InnoDB, MyISAM, NDB та ін. Детальніше про них можна прочитати в даній статті.
Для того щоб подивитися які типи підтримує ваша інсталяція MySQL необхідно виконати наступний SQL запит: SHOW ENGINES;