Бази даних
Анотація навчальної дисципліни
Мета дисципліни:
забезпечення теоретико-практичної підготовки студентів, яка буде основою для подальшого вивчення дисциплін, пов’язаних з технологіями розробки інформаційних систем, надбання студентами знань з теоретичних основ проектування моделі даних, основних прийомів проведення аналізу предметної області, побудови структури бази даних, витягнення інформації з реляційних таблиць за допомогою запитів.
Практичне значення та використання отриманих знань: ознайомлення з особливостями технології баз даних як однієї з основних інформаційних технологій, з тим, щоб розуміти тенденції розвитку сучасних інформаційних технологій, бачити їхні переваги й недоліки, особливості роботи в умовах конкретних технологій; ознайомлення з теоретичними й організаційними питаннями побудови й функціонування систем, заснованих на концепції баз даних, у тому числі різні методології моделювання й проектування баз даних; навчання практичній роботі (проектування, ведення й використання баз даних) у середовищі обраних цільових СУБД; навчання кваліфіковано використовувати можливості баз даних; уявлення про роль і місце баз даних в автоматизованих системах, про призначення й основні характеристики різних систем керування базами даних, їхніх функціональні можливості; підготовка до виконання професійних обов’язків розробника та адміністратора баз даних.
Основні результати навчання
ПРН02. Знати кодекс професійної етики, розуміти соціальну значимість та культурні аспекти інженерії програмного забезпечення і дотримуватись їх в професійній діяльності.
ПРН13. Знати і застосовувати методи розробки алгоритмів, конструювання програмного забезпечення та структур даних і знань.
ПРН18. Знати та вміти застосовувати інформаційні технології обробки, зберігання та передачі даних.
Тематика та види навчальних занять
1 тиждень
Лекція 1. Причини швидкого розвитку технології баз даних. Поняття інформаційної системи, її компоненти. Основні функції інформаційної системи Поняття предметної області, бази даних, системи управління базами даних. Ключові та не ключові атрибути. Групи користувачів баз даних.
Практичне заняття 1. Опис вимог для предметної області.
2 тиждень
Лекція 2. Основні поняття, зв’язані с моделлю «сутність-зв’язок» ( ER). Взаємозв’язки в моделях даних: один до одного, один до багатьох, багато до багатьох. Діаграмний метод відображення ER-моделі. Моделювання обмежень. Виявлення проблем, що можуть виникнути при створенні ER-моделі.
Лабораторне заняття 1. Дослідження предметної області.
3 тиждень
Лекція 3. Методологія концептуального проектування БД. Моделювання концептуальних і фізичних об’єктів. Об’єднання представлень даних. Приклад проектування концептуальної моделі даних.
Практичне заняття 2. Побудова концептуальної моделі даних.
4 тиждень
Лекція 4. Походження реляційної моделі. Термінологія реляційної моделі. Правила Кодда. Властивості відношень у БД. Перехід від ER-діаграм до реляційної схеми.
Лабораторне заняття 2. Побудова концептуальної моделі даних.
5 тиждень
Лекція 5. Класи реляційних мов. Операції реляцiйної алгебри. Приклади реалізації запитів за допомогою реляційної алгебри.
Практичне заняття 3. Проектування реляційної моделі даних та реляційна алгебра.
6 тиждень
Лекція 6. Мета нормалізації. Надмірність даних та аномалії. Поняття, використовувані при визначенні нормальних форм. Перша, друга та третя нормальні форми.
Лабораторне заняття 3. Визначення запитів до інформаційної системи та розробка структури реляційної БД.
7 тиждень
Лекція 7. Аномалії, які властиві кожній нормальній формі. Інші нормальні форми. Приклад проведення нормалізації відношень.
Практичне заняття 4. Проектування реляційної моделі даних з застосуванням нормалізації відношень.
8 тиждень
Лекція 8. Уявлення про стандарт SQL. Типи даних. Оператори INSERT, UPDATE та DELETE. Оператор CREATE TABLE. Обмеження цілісності даних, унікальності та інші. Оператор SELECT. Речення оператору SELECT. Предикати, що застосовуються в реченні WHERE.
Лабораторне заняття 4. Реалізація запитів за допомогою реляційної алгебри.
Модульна контрольна робота 1.
9 тиждень
Лекція 9. Агрегатні функції. Групування та сортування даних. Вкладені запити. Корельовані запити. Операція з’єднання та її різновиди. Операція UNION та інші операції над множинами. Оператор CREATE VIEW. Представлення, що модифікуються. Застосування представлень. Механізм привілеїв. Оператори GRANT та REVOKE.
Практичне заняття 5. Створення структури БД за допомогою SQL.
10 тиждень
Лекція 10.Створення збережених процедур і функцій. Прості форми виражень. Розвилка і цикли. Поняття тригера й особливості його оголошення. Таблиці new та old. Переваги та недоліки використання тригерів.
Лабораторне заняття 5. Створення таблиць та модифікація даних за допомогою SQL.
11 тиждень
Лекція 6. Види індексів. Проблеми, які виникають при використанні індексів. Правила вибору індексів для таблиць БД.
Практичне заняття 6. Групування даних в запитах SQL.
12 тиждень
Лекція 12. Методи денормалізації. Випадки використання. Аналіз поведінки системи для виявлення варіантів денормалізації.
Лабораторне заняття 6. Групування даних в запитах SQL.
13 тиждень
Лекція 13. Функції програми БД. Реалізація обмежень; безпека і контроль. Логіка програми.
Практичне заняття 7. Приклади збережених процедур.
14 тиждень
Лекція 14. Рекомендації з проектування користувальницького інтерфейсу. Проектування форм і звітів.
Лабораторне заняття 7. Створення тригерів та збережених процедур.
Модульна контрольна робота 2.
15тиждень
Лекція 15. Властивості і модель транзакції. Транзакції та робота в багатокористувачевому режимі. Рівні ізоляції.
Практичне заняття 8. Приклади використання тригерів.
Самостійна робота здобувача вищої освіти
Консультації.
Оцінювання результатів навчання
Оцінювання результатів навчання з дисципліни здійснюється за накопичувальною системою, яка дає можливість здобувачеві протягом семестру отримати максимально 100 балів.
Модуль 1
Повне виконання контрольного завдання – максимально 10 балів.
Оцінка за виконання лабораторних робіт – максимально 10 балів за модуль.
Модульна контрольна робота – бездоганне виконання 30 балів (в кожному завданні модульної контрольної роботи наведено максимальну кількість балів за виконання завдання).
Модуль 2
Повне виконання контрольного завдання – максимально 10 балів.
Оцінка за виконання лабораторних робіт – максимально 10 балів за модуль.
Модульна контрольна робота – бездоганне виконання 30 балів (в кожному завданні модульної контрольної роботи наведено максимальну кількість балів за виконання завдання).
Посилання на рекомендовані джерела
1. Date C. J. Database Design and Relational Theory: Normal Forms and All That Jazz 2nd Edition, Kindle Edition. -2019.- 474 p.
2. Берко А.Ю. Системи баз даних та знань, книга 1: Організація баз даних та знань. - 2-е вид. Навчальний посібник. / А.Ю. Берко, О.М. Верес, В.В. Пасічник. – Львів: Вид-во: «Магнолія-2006», 2020. – 440 с.
3. Берко А.Ю. Системи баз даних та знань, книга 2: системи управління базами даних та знань. Навчальний посібник. / А.Ю. Берко, О.М. Верес, В.В. Пасічник. – Львів: Вид-во: «Магнолія-2006», 2021. – 584 с.
4. Гайдаржи В., Ізварін І. Бази даних в інформаційних системах. – Університет "Україна". – 2018. – 418 с.
5. Ярцев В. П. Організація баз даних та знань: навчальний посібник / В. П. Ярцев.- К. ДУТ. 2018.- 214с.
Методична література
1. Зіноватна, С.Л. Конспект лекцій з дисципліни «Бази даних» для студентів спеціальності 121 – Інженерія програмного забезпечення, – Одеса: ОНПУ, 2019. - 70 с. (КЛ11068)
2. Зіноватна, С.Л. Зіноватна С.Л. Методичні вказівки до практичних занять з дисципліни «Бази даних» для студентів спеціальності 121 - Інженерія програмного. – Одеса: ОНПУ, 2019. - 32 с. (МВ11076)
3. Зіноватна, С.Л. Методичні вказівки до лабораторних робіт з дисципліни «Бази даних» для студентів спеціальності 121 «Інженерія програмного забезпечення». – Одеса, ОНПУ, 2019. – 23 с. (МВ11075)
Додаткова література
1. Hernandez Michael J. Database Design for Mere Mortals: 25th Anniversary Edition, 4th edition. – 2020. – 610 p.
2. Reed M. SQL: 3 books 1 - The Ultimate Beginner, Intermediate & Expert Guides To Master SQL Programming Quickly with Practical Exercises. - 2022. 346 p.