Слайд 1Заняття 1. Основні поняття баз даних. MySQL – як СУБД
для баз даних
Слайд 2Визначення бази даних
База даних – це сукупність логічно зв’язаних
даних (і опис цих даних), яка відображає стан об’єктів та
їх зв’язків в певній предметній області, динамічно змінюється у процесі свого функціонування і використання багатьма користувачами [Дейт].
База даних – це єдине велике сховище даних, яке один раз визначається, а потім функціонує у багатокористувацькому режимі [Ульман].
Слайд 3Інші визначення
Схема (зміст) бази даних – це опис бази даних.
Стан
(деталізація) бази даних – це сукупність інформації, що зберігається в
базі даних в будь-який певний момент часу.
«Дані» в концепції баз даних – це набір конкретних значень, параметрів, які характеризують об’єкт, умову, ситуацію або інші фактори.
Модель даних – це представлення «реальних» об’єктів, подій та існуючих між ними зв’язків.
«Модель даних» в концепції баз даних – це інтегрований набір понять для опису даних, зв’язків між ними та обмежень, які накладаються на дані.
Слайд 4Система управління базами даних
СУБД – це програне забезпечення підтримки інтегрованої
сукупності даних, призначене для створення, зберігання, ведення і використання бази
даних багатьма користувачами (додатками).
Примітка: «Базою даних» часто з метою спрощення чи навіть помилково називають СУБД. Потрібно розрізняти набір даних (тобто БД) та програмне забезпечення, що призначене для організації та супроводження бази даних.
Слайд 5Система баз даних
Система баз даних – це певна прикладна система,
яка використовує базу даних і СУБД, що підтримує цю БД,
призначена для вирішення конкретних завдань зберігання і опрацювання даних.
Слайд 6Розподіл обов’язків в системах з базами даних
Слайд 7Архітектор (розробник) БД
логічної БД: вимагає знання предметної області та визначення
бізнес-правил;
фізичної БД:
вимагає знання можливостей СУБД;
перетворення логічної БД у фізичну
БД (таблиці, ключі, обмеження);
забезпечення рівня продуктивності;
забезпечення захисту даних.
Прикладні програмісти
Створення користувацького програмного забезпечення з графічним інтерфейсом.
Слайд 8Користувачі БД
«Чайники»: вміють вносити та переглядати дані. Вони нічого не
знають про наявність СУБД;
Досвідчені користувачі: знайомі зі структурою БД та
можливостями СУБД. Можуть написати складний запит на вибірку даних.
Адміністратори БД
Відповідають за супроводження:
розгорнення СУБД та клієнтського програмного забезпечення;
інтеграції БД в СУБД;
забезпечення безпеки даних та їхньої цілісності;
резервне архівування та відновлення даних у випадку збоїв;
забезпечення максимальної продуктивності;
взаємодія з адміністратором мережі.
Слайд 9Функції СУБД
Визначення структури бази даних, її ініціалізація і проведення
початкового завантаження даних;
Зберігання, вибір та оновлення даних;
Наявність каталогу (бази метаданих);
Служба підтримки цілісності даних;
Підтримка транзакцій;
Сервіс контролю за доступом до даних;
Служба підтримки незалежності програм від даних;
Підтримка обміну даними;
Сервіс відновлення бази даних;
Сервіс керування паралельністю.
Слайд 10Функції СУБД.
Додаткові служби, утиліти
утиліти імпортування та утиліти експортування
бази даних;
засоби моніторингу, які слідкують за функціонуванням та використанням бази
даних;
програми статистичного аналізу, які дозволяють оцінити продуктивність системи;
інструменти збору «сміття» та перерозподілу пам’яті.
Слайд 11Трирівнева архітектура організації бази даних
Існує трирівнева система організації СУБД
ANSI-SPARC, при якій існує незалежний рівень для ізоляції програми від
особливостей представлення даних на нижчому рівні.
Рівні:
Зовнішній – представлення БД з точки зору користувача.
Концептуальний – узагальнене представлення БД, описує які дані зберігаються в БД і зв'язки між ними. Підтримує зовнішні представлення, підтримується внутрішнім рівнем.
Внутрішній – фізичне представлення БД в комп'ютері.
Слайд 12Трирівнева архітектура ANSI-SPARC
Слайд 13Зовнішній рівень
описує ту частину бази даних, яка відноситься до кожного
користувача;
складається з декількох різних зовнішніх схем (представлень) бази даних;
зовнішні схеми можуть по-різному відображати одні і ті ж дані;
Слайд 14Концептуальний рівень
здійснюється інтегрований опис предметної області;
містить логічну структуру всієї бази
даних:
опис усіх сутностей, їх атрибутів і зв’язків;
підтримку цілісності даних;
обмеження, які
накладаються на дані;
формалізовану інформація про дані;
підтримує кожну зовнішню схему;
об’єднує дані, які використовуються усіма додатками, що працюють з базою даних;
не містить ніяких відомостей про методи зберігання даних.
Слайд 15Внутрішній рівень
описує фізичну реалізацію бази даних з урахуванням способів зберігання
даних і методів доступу до них
містить наступну інформацію:
розподіл дискового
простору для зберігання даних та індексів;
відомості про розміщення записів;
інформація про міри безпеки даних;
відомості про стиснення даних та методи їх шифрування.
Слайд 16Відображення
«концептуальний – зовнішній» і «концептуальний – внутрішній»
дають змогу вирішувати
проблему логічної та фізичної незалежності даних:
будь-які зміни на одному
з рівнів не повинні спричиняти зміни на інших рівнях, а лише має змінитися відповідне відображення.
Слайд 17Логічна та фізична незалежність даних
Логічна незалежність даних:
повна захищеність зовнішніх
схем від змін, що вносяться в концептуальну схему;
можливість змінювати
логічне представлення бази даних без необхідності змінювати фізичні структури зберігання даних.
Фізична незалежність даних:
захищеність концептуальної схеми від змін, що вносяться у внутрішню схему;
зміни помітні лише в загальній продуктивності системи.
Слайд 18Моделі даних ANSI-SPARC
Концептуальна модель даних, яка відображає логічне (або
узагальнене) представлення даних, що не залежить від типу вибраної СУБД.
Зовнішня модель даних – це засоби зображення концептуальної моделі предметної області з врахуванням інтересів конкретних користувачів або прикладних програм.
Внутрішня модель даних відображає концептуальну модель предметної області з врахуванням способів зберігання даних і методів доступу до них.
Слайд 19Основні поняття
концептуальної моделі
Предметна область (ПО) – частина реального світу,
для якої здійснюється концептуальне моделювання.
Концептуальна модель ПО – формальне зображення
сукупності думок, які характеризують можливі стани ПО, а також переходи з одного стану в інший, включаючи класифікацію наявних у ПО сутностей, чинних правил, законів, обмежень.
Концептуальна схема – це фіксація концептуальної моделі ПО засобами конкретних мов моделей даних. В СУБД концептуальна модель подається у вигляді концептуальної схеми.
Слайд 21Сучасна трирівнева архітектура бази даних
Рівень представлення інформації забезпечує інтерфейс з
користувачем (людиною або програмою).
Рівень опрацювання даних (рівень бізнес-логіки) визначає
функціональність і працездатність системи в цілому.
Рівень зберігання даних забезпечує фізичне зберігання, додавання, модифікацію і вибірку даних; перевіряється цілісність і узгодженість даних; реалізація транзакцій.
Слайд 22Архітектури програмно-технічних засобів
файл-сервер;
клієнт-сервер з бізнес-логікою на клієнті;
клієнт-сервер з бізнес-логікою на
сервері;
N-рівнева архітектура.
Слайд 23Відповідність логічної архітектури БД і програмно-технічної архітектури
Слайд 24Архітектура файл-сервер
усі рівні системи представляють єдине і неподільне ціле;
БД зберігається у вигляді файлу або набору файлів на файл-сервері;
уся логіка вибірки, зберігання і забезпечення узгодженості даних покладається на клієнтську частину;
опрацювання інформації ведеться на рівні окремих кортежів (записів).
Слайд 25Переваги:
простота логіки;
низькі вимоги до апаратного забезпеченню і малий об’єм
необхідної пам’яті;
не вимагає надійних багатозадачних і багатокористувацьких ОС;
невисока ціна
СУБД.
Недоліки:
обмеженість мови і негнучкість середовища розробки додатків;
слабка масштабованість;
не забезпечує багатокористувацький режим роботи;
важко підтримувати цілісність і узгодженість даних;
необхідно вручну блокувати записи або таблиці;
низький рівень захищеності як зовнішньої (від зламу), так і внутрішньої (від програмних помилок), наприклад, індекси окремо від таблиць;
не має засобів шифрування мережевого трафіку;
створює велике навантаження на мережу.
Слайд 26Архітектура клієнт-сервер з бізнес-логікою на клієнті
зберігання та вибірка, підтримка узгодженості
даних покладається на сервер БД;
вся бізнес-логіка і логіка представлення
інформації виконуються на клієнтських машинах;
продуктивність і збереженість даних залежить від сервера БД;
клієнтська частина обмінюється даними з сервером за допомогою запитів SQL;
опрацювання інформації ведеться на рівні множини кортежів (записів);
процес розробки розділяється на створення БД і написання клієнтської частини з бізнес-логікою.
Слайд 27Переваги:
висока продуктивність, стабільність і надійність при багатокористувацькому режимі роботи;
легко організовується
захист даних (шифрування мережевого трафіку SSH, SSL);
універсальність мови визначення та
маніпулювання даними.
Недоліки:
більша ціна СУБД (сервер БД продається окремо);
достатньо високі вимоги до кваліфікації розробників;
необхідні навички адміністрування сервера БД;
підвищені вимоги до пропускної здатності мережі;
підвищені вимоги до клієнтських місць (на них виконується рівень бізнес-логіки).
Слайд 28Архітектура клієнт-сервер з бізнес-логікою на сервері
на сервер переноситься максимально можлива
частина бізнес-логіки;
можливість сучасних серверів БД виконувати збережені процедури на
сервері.
Переваги:
знижені, порівняно з попереднім класом систем, вимоги до пропускної здатності мережі та до клієнтських машин;
простіший процес створення бізнес-логіки.
Недоліки:
підвищені вимоги до сервера БД, оскільки кожний сеанс «з’їдає» пам’ять з розрахунком граничного навантаження;
невисока мобільність системи на інші сервери БД.
Слайд 29N- рівнева архітектура
основними елементами є сервери БД, сервер (кластер)
прикладних програм і клієнтська частина;
максимальне спрощення клієнта і сервера
БД;
тонкий клієнт являє собою деякий термінал типу браузера;
уся бізнес-логіка оформляється у вигляді набору прикладних програм, які запускаються на сервері-кластері;
сервери БД займаються лише задачами зберігання, додавання, модифікації та підтримки узгодженості даних;
сервер програм з’єднаний з сервером БД окремим високошвидкісним сегментом мережі.
Слайд 30Переваги:
підвищена захищеність;
висока продуктивність;
гнучкість розвитку та модифікації;
простота адміністрування;
можливість створення системи з
масовим паралелізмом, оскільки серверів БД може бути декілька, а сервером
програм можуть служити декілька з’єднаних в кластер комп’ютерів.
Недоліки:
велика складність архітектури;
висока ціна рішення;
у деяких випадках поступається в продуктивності клієнт-серверним системам з бізнес-логікою на сервері.
Слайд 31СУБД MySQL
MySQL (SQL англ. Structured query language — мова структурованих
запитів) – вільна реляційна СУБД, яка працює як сервер для
забезпечення багатокористувацького доступу до великої кількості баз даних.
MySQL характеризується великою швидкістю, стійкістю і простотою використання.
СУБД є мережевою. Тобто є сервер, де фізично зберігаються дані БД та клієнт, який може знаходитися не в «одній кімнаті» з сервером. Для того, щоб клієнт мав змогу використовувати дані потрібно, щоб сервер та користувач були в одній мережі.
СУБД використовує текстовий метод керування даними, тобто користувач відправляє рядок записаний на зрозумілій системі мові, а система повертає потрібні користувачу дані, або ж виконує певну операцію. Цей текстовий рядок називають запитом.
Слайд 32Використання MySQL
Проекти на основі безкоштовного ПЗ, які вимагають повнофункціональної системи
керування базами даних часто використовують MySQL. До таких проектів відносяться,
наприклад, WordPress, phpBB, Drupal та інше програмне забезпечення, побудоване на стеку продуктів LAMP (Linux, Apache, MySQL, PHP/Perl/Python). MySQL також використовується в багатьох гучних великомасштабних Web-продуктах, включаючи Wikipedia, Google (для програми AdWords), Facebook, YouTube, Flickr, Yahoo!, Digg, LiveJournal, Nokia тощо.
Переваги використання:
простота у встановленні та використанні;
підтримується необмежена кількість користувачів, що одночасно працюють із БД;
кількість рядків у таблицях може досягати 50 млн.;
висока швидкість виконання команд;
наявність простої і ефективної системи безпеки.
Слайд 33MySQL Workbench
MySQL Workbench – інструмент для візуального проектування баз даних,
що інтегрує проектування, моделювання, створення й експлуатацію БД в єдине
оточення для системи баз даних MySQL.
MySQL Workbench пропонується в двох редакціях:
Community Edition – поширюється під вільною ліцензією GNU GPL;
Standard Edition – доступна за щорічною передплатою. Ця версія включає в себе додаткові функції, які підвищують продуктивність для розробників та адміністраторів БД.
Слайд 34Можливості:
Дозволяє наочно представити модель бази даних в графічному вигляді.
Наочний і
функціональний механізм установки зв'язків між таблицями, в тому числі «багато
до багатьох» із створенням таблиці зв'язків.
Reverse Engineering – відновлення структури таблиць з вже існуючої на сервері БД.
Зручний редактор SQL запитів, що дозволяє відразу ж відправляти їх серверові і отримати відповідь у вигляді таблиці.
Можливість редагування даних у таблиці в візуальному режимі.
Слайд 36phpMyAdmin
phpMyAdmin – веб-застосунок з відкритим кодом на мові PHP із
графічним веб-інтерфейсом для адміністрування СУБД MySQL. phpMyAdmin дозволяє через браузер
здійснювати адміністрування сервера MySQL, запускати запити SQL, переглядати та редагувати вміст таблиць баз даних. Ця програма користується великою популярністю у веб-розробників, оскільки дозволяє керувати СУБД MySQL без безпосереднього вводу SQL команд через дружній інтерфейс і з будь-якого комп'ютера, під'єднаного до інтернету, без необхідності встановлення додаткового програмного забезпечення.
Програма розповсюджується під ліцензією GNU General Public License і тому деякі інші розробники інтегрують його у свої розробки, наприклад XAMPP, Denwer.
Слайд 38Завдання 1. Встановлення MySQL
Скачати MySQL Installer (http://dev.mysql.com/downloads/windows/installer/).
Установити необхідні утиліти.
Переконатися в
працездатності СУБД.
Слайд 42Завдання 2. Створити схему концептуальної моделі на вибрану тему