Бази даних
Мета вивчення дисципліни: забезпечення теоретико-практичної підготовки студентів, яка буде основою для подальшого вивчення дисциплін, пов’язаних з технологіями розробки інформаційних систем, надбання студентами знань з теоретичних основ проектування моделі даних, основних прийомів проведення аналізу предметної області, побудови структури бази даних, витягнення інформації з реляційних таблиць за допомогою запитів.
Практичне значення та використання отриманих знань: ознайомлення з особливостями технології баз даних як однієї з основних інформаційних технологій, з тим, щоб розуміти тенденції розвитку сучасних інформаційних технологій, бачити їхні переваги й недоліки, особливості роботи в умовах конкретних технологій; ознайомлення з теоретичними й організаційними питаннями побудови й функціонування систем, заснованих на концепції баз даних, у тому числі різні методології моделювання й проектування баз даних; навчання практичній роботі (проектування, ведення й використання баз даних) у середовищі обраних цільових СУБД; навчання кваліфіковано використовувати можливості баз даних; уявлення про роль і місце баз даних в автоматизованих системах, про призначення й основні характеристики різних систем керування базами даних, їхніх функціональні можливості; підготовка до виконання професійних обов’язків розробника та адміністратора баз даних.
Тематика та види навчальних занять
Для денної форми здобуття освіти
Лекційні заняття
Лекція 1. Причини швидкого розвитку технології баз даних. Поняття інформаційної системи, її компоненти. Основні функції інформаційної системи Поняття предметної області, бази даних, системи управління базами даних. Ключові та не ключові атрибути. Групи користувачів баз даних.
Лекція 2. Основні поняття, зв’язані с моделлю «сутність-зв’язок» ( ER). Взаємозв’язки в моделях даних: один до одного, один до багатьох, багато до багатьох. Діаграмний метод відображення ER-моделі. Моделювання обмежень. Виявлення проблем, що можуть виникнути при створенні ER-моделі.
Лекція 3. Методологія концептуального проектування БД. Моделювання концептуальних і фізичних об’єктів. Об’єднання представлень даних. Приклад проектування концептуальної моделі даних.
Лекція 4. Походження реляційної моделі. Термінологія реляційної моделі. Правила Кодда. Властивості відношень у БД. Перехід від ER-діаграм до реляційної схеми.
Лекція 5. Класи реляційних мов. Операції реляцiйної алгебри. Приклади реалізації запитів за допомогою реляційної алгебри.
Лекція 6. Мета нормалізації. Надмірність даних та аномалії. Поняття, використовувані при визначенні нормальних форм. Перша, друга та третя нормальні форми.
Лекція 7. Аномалії, які властиві кожній нормальній формі. Інші нормальні форми. Приклад проведення нормалізації відношень.
Лекція 8. Уявлення про стандарт SQL. Типи даних. Оператори INSERT, UPDATE та DELETE. Оператор CREATE TABLE. Обмеження цілісності даних, унікальності та інші. Оператор SELECT. Речення оператору SELECT. Предикати, що застосовуються в реченні WHERE.
Лекція 9. Агрегатні функції. Групування та сортування даних. Вкладені запити. Корельовані запити. Операція з’єднання та її різновиди. Операція UNION та інші операції над множинами. Оператор CREATE VIEW. Представлення, що модифікуються. Застосування представлень. Механізм привілеїв. Оператори GRANT та REVOKE.
Лекція 10.Створення збережених процедур і функцій. Прості форми виражень. Розвилка і цикли. Поняття тригера й особливості його оголошення. Таблиці new та old. Переваги та недоліки використання тригерів.
Лекція 6. Види індексів. Проблеми, які виникають при використанні індексів. Правила вибору індексів для таблиць БД.
Лекція 12. Методи денормалізації. Випадки використання. Аналіз поведінки системи для виявлення варіантів денормалізації.
Лекція 13. Функції програми БД. Реалізація обмежень; безпека і контроль. Логіка програми.
Лекція 14. Рекомендації з проектування користувальницького інтерфейсу. Проектування форм і звітів.
Лекція 15. Властивості і модель транзакції. Транзакції та робота в багатокористувачевому режимі. Рівні ізоляції.
Практичні заняття
Практичне заняття №1. Опис вимог для предметної області
Мета заняття: Навчитися на основі зібраної інформації про предметну область формувати вимоги до цієї системи.
Практичне заняття №2. Побудова концептуальної моделі даних
Мета заняття: Навчитися будувати концептуальну модель даних ER
Практичне заняття №3. Проектування реляційної моделі даних та реляційна алгебра
Мета заняття: Навчитися будувати реляційну модель даних з зовнішніми ключами та реалізовувати запити до БД з використанням операцій реляційної алгебри
Практичне заняття №4. Проектування реляційної моделі даних з застосуванням нормалізації відношень
Мета заняття: Навчитися будувати реляційну модель даних, яка відповідає вимогам нормалізації відношень
Практичне заняття №5. Створення структури БД за допомогою SQL
Мета заняття: Навчитися формувати запити SQL для створення таблиць БД з реалізацією обмежень цілісності; навчитися формувати запити SQL для отримання даних з таблиць БД з використанням операції з’єднання
Практичне заняття №6. Групування даних в запитах SQL
Мета заняття: Навчитися формувати запити SQL для отримання згрупованих даних
Практичне заняття №7. Використання тригерів та збережених процедур
Мета заняття: Навчитися формувати запити SQL для створення тригерів та збережених процедур та використовувати спеціальні таблиці для тригерів; навчитися будувати логіку в тригерах та збережених процедурах
Практичне заняття №8. Програма обробки запитів до БД
Мета заняття: в універсальної мови програмування встановлювати з'єднання із БД й і створювати набори записів на основі інформації, збереженої в БД
Лабораторні заняття
Лабораторне заняття №1. Дослідження предметної області
Мета заняття: Одержати навички аналізу предметної області й виявлення її об'єктів; навчитися на основі зібраної інформації про предметну область формувати вимоги до цієї системи.
Лабораторне заняття №2. Побудова концептуальної моделі даних
Мета заняття: Одержати навички побудови концептуальної моделі даних ER.
Лабораторне заняття №3. Визначення запитів до інформаційної системи та розробка структури реляційної БД
Мета заняття: Навчитися створювати реляційні таблиці на основі моделі предметної області. Одержати навички виявлення функціональних вимог до інформаційної системи; навчитися формувати вимоги до інформаційної системи у вигляді запитів на добування даних із БД.
Лабораторне заняття №4. Реалізація запитів за допомогою реляційної алгебри
Мета заняття: Одержати досвід використання операцій реляційної алгебри для одержання інформації із БД.
Лабораторне заняття №5. Створення таблиць та модифікація даних за допомогою SQL
Мета заняття: Навчитися писати запити CREATE TABLE та додавати, оновлювати та видаляти дані за допомогою SQL.
Лабораторне заняття №6. Виведення даних за допомогою запитів SQL
Мета заняття: Навчитися вибирати дані з таблиць БД із використанням оператора SELECT із з'єднанням декількох таблиць й угрупованням; навчитися вибирати дані з таблиць БД із використанням реляційних операцій об'єднання, перетинання й віднімання й вкладених запитів.
Лабораторне заняття №7. Створення тригерів та збережених процедур
Мета заняття: Навчитися створювати тригери для обробки бізнес-правил і підтримки обмежень цілісності БД; навчитися створювати збережені процедури й одержати досвід у використанні розширеної мови SQL.
Для заочної форми здобуття освіти
Лекційні заняття
Лекція 1. Основні поняття, зв’язані с моделлю «сутність-зв’язок» ( ER). Взаємозв’язки в моделях даних: один до одного, один до багатьох, багато до багатьох. Діаграмний метод відображення ER-моделі. Моделювання обмежень. Виявлення проблем, що можуть виникнути при створенні ER-моделі. Реляційна модель даних. Нормалізація відношень.
Лекція 2. Оператори мови SQL. Створення тригерів та збережених процедур.
Практичні заняття
Практичне заняття №1. Побудова концептуальної моделі даних.
Мета заняття: Навчитися моделювати дані та зв’язки між ними та визначати структуру бази даних.
Лабораторні заняття
Лабораторне заняття №1. Побудова реляційної моделі даних
Мета заняття: Навчитися визначати структуру бази даних.
Лабораторне заняття №2. Створення таблиць та модифікація даних за допомогою SQL. Виведення даних за допомогою запитів SQL
Мета заняття: Навчитися писати запити до бази даних за допомогою SQL.
Індивідуальна робота
Для здобувачів очної форми здобуття освіти індивідуальна робота відсутня за планом
Для заочної форми здобуття освіти
Завдання для виконання контрольної роботи здобувач отримує на установчій лекції.
Робота містить 6 теоретичних питання, 5 практичних завдань та звіт з лабораторних робіт.
Обсяг відповіді на кожне теоретичне питання не менше, ніж 1 сторінки машинописного тексту. Текст відповіді має бути виконаний самостійно, а не скопійованим з конспекту лекцій.
Практичні завдання наведені в текстовій формі і присвячені питанням розробки бази даних та маніпулювання даними.
Термін надання виконаної контрольної роботи на перевірку – не менше, ніж за місяць до початку сесії.
Форми контрольних заходів та оцінювання результатів навчання
Для денної форми здобуття освіти
Поточний контроль полягає у виконанні:
1) 3-х індивідуальних поточних завдань для практичних занять. Індивідуальні поточні завдання виконуються письмово і полягають в розв’язуванні типових задач відповідно до мети та завдань практичних занять. Бездоганне виконання кожного індивідуального поточного завдання оцінюється у 5 бали;
2) 7-ми індивідуальних поточних завдань для лабораторних робіт. Індивідуальні поточні завдання виконуються письмово і полягають в розв’язуванні типових задач відповідно до мети та завдань лабораторних занять. Бездоганне виконання завдання №1 та №2 оцінюється у 5 балів, завдання №3 та №4 оцінюється у 2,5 балів, за завдання № 5 – 3 бали, завдань № 6 – у 8 балів, завдань № 7 – у 4 бали;
3) двох модульних контрольних робіт. Модульні контрольні роботи складаються з теоретичної і практичної частин та проводяться у формі написання програми з коментарями відносно прийнятих рішень. Бездоганне виконання 1 модульної контрольної роботи становить 25 балів, 2 модульної контрольної роботи - 30 балів.
Підсумковий контроль – іспит. Підсумковий контроль з дисципліни складається з двох частин: теоретичної та практичної. Мінімальна кількість балів, що зараховується як позитивний результат, дорівнює 60 (за 100-бальною шкалою).
Бали розподіляються наступним чином: 40 балів – теоретична частина та 60 балів – практична.
Екзаменаційний білет містить 2 теоретичних питання рівної складності, практична – 6 питань рівної складності.
За бездоганну відповідь на кожне теоретичне питання здобувач отримує – 20 балів. При цьому відповідь вважається бездоганною, якщо здобувач повністю розкрив суть питання, послідовно і логічно його доповів, навів приклади. Кожне завдання практичної частини іспиту вважається виконаним бездоганно, якщо при його розв’язанні коректно виконано розрахунки показників у відповідності до завдання.
Для заочної форми здобуття освіти
Захист контрольної роботи. Бездоганне виконання контрольної роботи оцінюється у 50 балів. Під час її захисту здобувач може отримати до 20 балів, за виконання практичного завдання – 10 балів, за виконання двох лабораторних робіт – 20 балів.
Підсумковий контроль – іспит. Іспит усний. Максимальна оцінка, яку можу отримати здобувач – 100 балів.
ПРН02. Знати кодекс професійної етики, розуміти соціальну значимість та культурні аспекти інженерії програмного забезпечення і дотримуватись їх в професійній діяльності.
ПРН13. Знати і застосовувати методи розробки алгоритмів, конструювання програмного забезпечення та структур даних і знань.
ПРН18. Знати та вміти застосовувати інформаційні технології обробки, зберігання та передачі даних.