ПРОФЕСІЙНЕ ВИКОРИСТАННЯ SQL ТА PL/SQL НА ПРИКЛАДІ РСУБД ORACLE11G - Робоча програма навчальної дисципліни (Силабус)

Реквізити навчальної дисципліни

Рівень вищої освіти Перший (бакалаврський)
Галузь знань 12 Інформаційні технології
Спеціальність 126 Інформаційні системи та технології
Освітня програма Інтегровані інформаційні системи, Інформаційне забезпечення робототехнічних систем, Інформаційні управляючі системи та технології
Статус дисципліни Вибіркова
Форма навчання очна(денна)/заочна/дистанційна
Рік підготовки, семестр 3 курс, весняний семестр; 4 курс, осінній семестр
Обсяг дисципліни 120 годин (36 годин – Лекції, 18 годин – Лабораторні, 66 годин – СРС)
Семестровий контроль/ контрольні заходи Залік/МКР
Розклад занять http://rozklad.kpi.ua
Мова викладання Українська
Інформація про керівника курсу / викладачів

Лектор, лабораторні: к.т.н., Ульяницька Ксенія Олександрівна

k.ulianytska@kpi.ua

моб. +38(050)355-62-15

Розміщення курсу https://campus.kpi.ua

Програма навчальної дисципліни

Опис навчальної дисципліни, її мета, предмет вивчання та результати навчання

Опис дисципліни

При проходженні даної дисципліни, студенти познайомляться з конструювання складних запитів, аналізом та оптимізацією відпрацювання SQL запитів на сервері РСУБД Oracle 11g. На лабораторних заняттях повторюватимуть етапи проектування реляційних баз даних, відпрацювання різних конструкцій SQL-запитів, відпрацюють на практиці методи де-нормалізації. В курсі передбачений контроль якості отриманих знань у вигляді експрес-контрольних та модульних контрольних робіт. На лекціях проводитимуться практичні заняття по опануванню принципів побудови складних запитів, застосуванню обмежень цілісності для оптимізації відпрацювання SQL-запитів.

Предмет навчальної дисципліни

Повний цикл проектування та реалізації баз даних, поняття цілісності даних, SQL запити в розділі DML та DQL, оптимізація планів відпрацювання запитів, де-нормалізація, супроводження баз даних.

Міждисциплінарні зв’язки

Дисципліна Бази даних базується на дисциплінах:

Мета навчальної дисципліни

Підготовка висококваліфікованих фахівців, які володіють методами, моделями та засобами побудови реляційних баз даних, методами оптимізації та підвищення ефективності роботи реляційних баз даних для відпрацювання складних SQL-запитів.

Основні завдання навчальної дисципліни

Знання
  • повного циклу розробки реляційних баз даних (РБД);
  • нормальних форм для коректної фізичної реалізації реляційних баз даних;
  • обмежень цілісності реляційних баз даних;
  • індекси, що застосовуються в реляційних системах управління базами даних (СУБД) (Oracle, MS SQL Server);
  • поняття транзакцій, журнали транзакцій, відпрацювання транзакцій в реляційних СУБД;
  • види та рівні блокування;
  • методи оптимізації та підвищення ефективності відпрацювання SQL-запитів.
Уміння
  • відпрацьовувати повний цикл етапів проектування реляційних баз даних на основі відомих методів побудови РБД та сучасних реляційних СУБД;
  • будувати складені запити, параметризовані запити мовою SQL, застосування оператору SELECT з різним конструктивним наповненням;
  • працювати та знати механізми відпрацювання запитів в реляційних СУБД, поняття транзакцій;
  • знати механізми блокування транзакцій, рівні блокування в реляційних СУБД;
  • застосовувати обмеження цілісності по даталогічній моделі та в результаті нормалізації бази даних;
  • застосування та обслуговування індексів реляційних СУБД;
  • аналізувати плани виконання SQL-запитів;
  • оптимізація виконання запитів в реляційних СУБД.

Пререквізити та постреквізити дисципліни (місце в структурно-логічній схемі навчання за відповідною освітньою програмою)

Пререквізити

Вміти проводити інфологічне та даталогічне моделювання; на базі нормалізованої даталогічної моделі вміти будувати фізичну модель даних в РСУБД Oracle 11g; виконувати прості однотабличні запити та бути ознайомленим з конструкцією JOIN для опанування більш складних запитів.

Постреквізити

Створення складних запитів з використанням конструкцій JOIN, GROUP BY; аналіз та методи оптимізації виконання SQL-запитів – підвищення ефективності роботи РСУБД.

Після проходження дисципліни студенти зможуть вільно працювати з інфологічними та даталогічними моделями, оптимізувати SQL-запити за певними методами, застосовувати складні конструкції про створенні SQL -запитів.

Зміст навчальної дисципліни

Очна форма

Лекційні заняття
  • Розділ 1. Оглядовий матеріал по спорідненому предмету.
  • Розділ 2. Відпрацювання різних видів запитів на тестовій базі даних.
  • Розділ 3. Реляційна СУБД на прикладі серверу Oracle 11g XE
  • Розділ 4. Обмеження цілісності реляційних баз даних.
  • Розділ 5. Механізми роботи реляційних баз даних.
  • Розділ 6. Адміністративні функції для роботи в реляційних СУБД
  • Розділ 7. Оптимізація виконання запитів в реляційних СУБД
Лабораторні заняття
  1. SQL Developer (інсталяція та налаштування). Обробка скриптів для створення тестової БД.
  2. Створення даталогічної моделі за варіантом.
  3. Робота в тестовій базі даних. Відпрацювання вибірки по одній та по декільком таблицям із застосуванням умов WHERE, сортування ORDER BY, та сполучень JOIN.
  4. Робота в тестовій базі даних. Відпрацювання вибірки по одній та по декільком таблицям із застосуванням GROUP BY… HAVING та усіх розглянутих агрегатних функцій.
  5. Робота в тестовій базі даних. Відпрацювання ієрархічних запитів.
  6. Відпрацювання конструкцій мови PL\SQL Oracle – TRIGGERs.
  7. Відпрацювання конструкцій мови PL\SQL Oracle – Stored Procedures; Functions.

Заочна форма

Лекційні заняття
  • Розділ 1. Оглядовий матеріал по спорідненому предмету
  • Розділ 2. Відпрацювання різних видів запитів на тестовій базі даних
  • Розділ 3. Обмеження цілісності реляційних баз даних
Лабораторні заняття
  1. SQL Developer (інсталяція та налаштування). Обробка скриптів для створення тестової БД.
  2. Створення даталогічної моделі за варіантом.
  3. Робота в тестовій базі даних. Відпрацювання вибірки по одній та по декільком таблицям із застосуванням умов WHERE, сортування ORDER BY, та сполучень JOIN.
  4. Робота в тестовій базі даних. Відпрацювання вибірки по одній та по декільком таблицям із застосуванням GROUP BY… HAVING та усіх розглянутих агрегатних функцій.
  5. Робота в тестовій базі даних. Відпрацювання ієрархічних запитів.
  6. Відпрацювання конструкцій мови PL\SQL Oracle – TRIGGERs.
  7. Відпрацювання конструкцій мови PL\SQL Oracle – Stored Procedures; Functions.

Навчальні матеріали та ресурси

Базова література

  1. Ребекка Райордан - Основы реляционных баз данных, 2001
  2. Вьескас Джон - SQL-запросы для простых смертных, 2003.
  3. Грабер Мартин - SQL для простых смертных, 2014.
  4. Гарсиа-Молина Г., Ульман Дж., Уидом Дж. Системы баз данных. Полный курс. — М.: Вильямс, 2003. — 1088 с.
  5. Кайт Том. Oracle PL/SQL для профессионалов. Практические решения. – ДиаСофтЮП: - 2005.
  6. Стерн Д., Гринвальд Р., Стаковьяк Р. Oracle 11g. Основы, 4-е издание. – Символ Плюс. – 2009.
  7. И. Бен-Ган Microsoft® SQL Server® 2012. Создание запросов. Учебный курс Microsoft: Пер. с англ. / И. Бен-Ган, Д. Сарка, Р. Талмейдж. — М.: Издательство «Русская редакция», 2014. — 720 с.
  8. SQL. Сборник рецептов. – Пер. с англ. – Спб: Символ-Плюс, 2009. – 672 с.

Допоміжна література

  1. Кузнецов С. Д. Основы баз данных. — 2-е изд. — М.: Интернет-Университет Информационных Технологий; БИНОМ. Лаборатория знаний, 2007. — 484 с.
  2. Дейт К. Дж. Введение в системы баз данных — 8-е изд. — М.: Вильямс, 2005. — 1328 с.
  3. Санжей Мишра, Алан Бьюли. Секреты Oracle SQL. – Символ Плюс. – 2006.
  4. Ицик Бен-Ган - Microsoft SQL Server 2008. Основы T-SQL. – БХВ П.: - 2009.

Навчальний контент

Методика опанування навчальної дисципліни (освітнього компонента)

Очна форма

Лекційні заняття

Назва теми лекції та перелік основних питань (перелік дидактичних засобів, посилання на літературу та завдання на СРС)
1 Тема 1.1. Структура та зміст курсу. РСО.
Тема 1.2. Повний цикл проектування баз даних. Нормалізація.
Лекція 1. Огляд базового курсу «Бази даних». Моделювання реляційних баз даних.
Етапи моделювання реляційних баз даних (РБД). Інфологічне та даталогічне моделювання. Формалізація зв’язків. Нормалізація відношень.
Література: [1, Ч.ІІ]
Завдання на СРС. Поглиблене повторення повного циклу моделювання РБД, проведення нормалізації відношень на практиці в рамках лабораторного циклу.
2 Тема 2.1. Схема даних. Класифікація зв’язків.
Тема 2.2. Тестова база даних СУБД Oracle. Відтворення тестових баз даних під власним користувачем СУБД Oracle.
Лекція 2. Схема даних в Oracle Database. Базові зв’язки фізичної моделі даних. Тестові бази даних Oracle Database.
Фізична реалізація базових видів зв’язків, схема даних реляційних систем управління базами даних (РСУБД), види тестових баз даних для Oracle Database.
Література: [1, Гл.3]
Завдання на СРС. Відпрацювання та налагодження тестових баз даних Oracle Database на своїй РСУБД.
3 Тема 3.1. Операції над множинами в СУБД Oracle.
Лекція 3. Поняття багатотабличних SQL-запитів. Види операцій над множинами в РСУБД.
Поняття множини, операції над множинами. Внутрішні та зовнішні об’єднання таблиць – визначення, різниця в застосуванні, особливості застосування на прикладах.
Література: [2, Ч.ІІІ], [3, Гл.5-8], [7, Гл.1]
Завдання на СРС. Практичне відпрацювання всіх видів JOIN на власній тестовій базі даних на власній РСУБД. Практичне застосування операцій із теорії множин (перетин, об’єднання, віднімання).
4 Тема 4.1. Відпрацювання різних видів JOIN.
Лекція 4. Поняття багатотабличних SQL-запитів. Види JOIN для поєднання відношень в РСУБД.
Внутрішні та зовнішні об’єднання таблиць – визначення, різниця в застосуванні, особливості застосування на прикладах.
Література: [2, Ч.ІІІ], [3, Гл.5-8], [7, Гл.1]
Завдання на СРС. Практичне відпрацювання всіх видів JOIN на власній тестовій базі даних на власній РСУБД. Практичне застосування операцій із теорії множин (перетин, об’єднання, віднімання).
5 Тема 5.1. Агрегатні функції реляційних СУБД
Тема 5.2. DML команди в СУБД Oracle
Лекція 5. Застосування та визначення агрегатних функцій. Відпрацювання команд модифікації даних в СУБД.
Практичні прийомі застосування DML конструкцій. Визначення та опис агрегатних функцій.
Література: [2, Ч.IV], [3, Гл.6], [7, Гл.1]
Завдання на СРС. Практичне відпрацювання конструкції GROUP BY … HAVING на власній тестовій РБД.
6 Тема 6.1. Відпрацювання конструкції GROUP BY … HAVING.
Лекція 6. Конструкція GROUP BY … HAVING в підмові SQL – DQL. Алгоритм побудови запитів з використанням групувань.
Практичні прийомі застосування конструкції GROUP BY … HAVING в РСУБД.
Література: [2, Ч.IV], [3, Гл.6], [7, Гл.1]
Завдання на СРС. Практичне відпрацювання конструкції GROUP BY … HAVING на власній тестовій РБД.
7 Лекція 7. Модульна контрольна робота
На контрольну роботу виноситься увесь попередній матеріал, що включає поняття, конструкції, побудови запитів та нормалізація для коректної роботи з мовою SQL.
Завдання включають теоретичну та практичну частини.
Завдання для СРС. Повторити матеріал 1-6 лекцій.
8 Тема 8.1. Відпрацювання окремих конструктивних операторів SELECT.
Тема 8.2. Відпрацювання складених та застосування параметризованих запитів.
Лекція 8. Складні вбудовані SQL-запити. Параметризовані SQL-запити. Поняття SQL-Injection.
Структури вкладених запитів, особливості застосування. Приклад відпрацювання параметризованих запитів в середовищі MS Visual Studio.
Література: [7, Гл.1], [2, Гл.10-11], [3, Гл.12-14]
Завдання для СРС. Відпрацювання викладеного матеріалу на практиці у власній тестовій базі даних.
9 Тема 9.1. Ієрархічні запити мови SQL та конструктивні особливості для СУБД Oracle.
Лекція 9. Ієрархічні запити SELF JOIN. Конструкція CONNECT для СУБД Oracle.
Визначення ієрархічних запитів, застосування, конструкції стандартного та спеціалізованого застосування. >
Література: [1, Гл.12], [2, Л.6], [3, Гл.9]
Завдання для СРС. Ієрархічні запити в поєднанні з DML конструкціями.
10 Тема 10.1. Введення в PLSQL. Основні конструкції.
Тема 10.2. Конструкція мови PLSQL – TRIGGER.
Лекція 10. Особливості застосування конструкцій мови Oracle - PLSQL. Практичне відпрацювання TRIGGER.
Головні можливості та структура програмних одиниць PLSQL. Види та визначення тригерів. Особливості застосування тригерів в СУБД Oracle.
Література: [1, Гл.1;Гл.4], [2, Гл.4;Гл.5]
Завдання для СРС. Написання комбінованих тригерів складних конструкцій для власної тестової бази даних.
11 Тема 11.1. Статичний та динамічний SQL.
Лекція 11. Статичний та динамічний SQL. Приклади використання.
Різниця в застосуванні динамічного та статичного SQL. Приклади використання в поєднанні з транзакційними командами.
Література: [1, Гл.1;Гл.4], [2, Гл.4;Гл.5]
Завдання для СРС. Застосування на практиці обох видів запитів на власній тестовій базі даних.
12 Тема 12.1. Узагальнена архітектура серверу Oracle
Лекція 12. Реляційні СУБД. Архітектура сервера БД Oracle Database.
Історія виникнення та розробки реляційної СУБД Oracle. Стеки технологій Oracle. Загальна структура сервера БД Oracle. Загальна архітектура бази даних Oracle.
Література: [7, Гл.2]
Завдання для СРС. Дослідження конфігураційних особливостей сервера СУБД Oracle на власному обладнанні.Дослідження структур пам'яті серверу.
13 Лекція 13. Модульна контрольна робота
На контрольну роботу виноситься увесь попередній матеріал, що включає поняття, конструкції, побудови запитів та нормалізація для коректної роботи з мовою SQL.
Завдання включають теоретичну та практичну частини.
Завдання для СРС. Повторити матеріал 7-12 лекцій.
14 Тема 14.1. Функції в PLSQL Oracle.
Тема 14.2. Процедури в PLSQL Oracle.
Лекція 14. Визначення та застосування основних програмних одиниць в PLSQL Oracle.
Поняття та застосування функцій та процедур. Особливості застосування, практичні рішення та приклади.
Література: [7, Гл.2;3]
Завдання для СРС. Створення складних програмних конструкцій в поєднанні з вивченими на попередніх лекціях елементами.
15 Тема 15.1. Поняття цілісності
Тема 15.2. Індекси. Основні поняття, введення.
Лекція 15. Обмеження цілісності в реляційних базах даних. Індексація в реляційних базах даних. Види індексів
Перелік обмежень цілісності для реляційних БД. Застосування, приклад. Класифікація зав’язків між таблицями. Поняття та застосування індексації в реляційних БД. Класифікація індексів.
Література: [1, Гл.9], [2, Л.9], [3, Гл.10], [7, Гл.11]
Завдання для СРС. Відпрацювання теоретичного матеріалу на сервері Oracle, для чого опанувати формалізацію зав’язків в специфіці серверу Oracle, а також види та застосування індексів серверу Oracle.
16 Тема 16.1. SQL запити в розділі DML
Лекція 16. Конструкція запитів SQL. Визначення словника метаданих.
Трирівнева схема представлення метаданих в реляційних системах управління базами даних. Поняття даних про дані. Запити по одній таблиці в конструкції SELECT.
Література: [1, Гл.4], [2, Л.13]
Завдання для СРС. Відпрацювання теоретичного матеріалу на сервері Oracle, визначення відповідних представлень, де відображені метадані Oracle. Табличний простір, де зберігаються метадані.
17 Тема 17.1. Поняття транзакцій
Лекція 17. Визначення транзакцій в РБД. Приклади.
Поняття транзакцій, приклади транзакцій на сервері Oracle Database 11g/18с XE. Поняття COMMIT та ROLLBACK.
*Література: [7, Гл.8]
Завдання для СРС. Самостійно потренуватись та опанувати поняття блокування транзакцій, застосування конструкції SAVEPOINT.
18 Тема 18.1. Оптимізація плану виконання запитів в Oracle.
Тема 18.2. Конструкція MERGE для Oracle.
Лекція 18. Визначення та варіанти застосування конструкції EXECUTION PLAN. Оптимізація відпрацювання запитів в реляційних СУБД.
Оптимізація та дослідження певних складних запитів з використанням конструкції EXECUTION PLAN. Опанування додаткової конструкції для маніпулювання данними - MERGE INTO
*Література: [7, Гл.12]
Завдання для СРС. Самостійно потренуватись та опанувати EXECUTION PLAN для певних складних запитів з попередніх лабораторних робіт. Застосувати конструкцію MERGE INTO та порівняти з конструкцією UPDATE.

Лабораторні заняття

Назва лабораторної роботи Кількість ауд. годин
1 Лабораторна робота 1. SQL Developer (інсталяція та налаштування). Обробка скриптів для створення тестової БД. Інсталювати та налаштовувати SQL Developer, відпрацьовувати скрипти та створити нові схеми для роботи в Oracle Database XE через SQL Developer; відтворювати фізичну схему даних за фізичною моделлю (скриптами структури). Результатом виконання даної лабораторної роботи є налаштоване середовище проєктування БД та відтворена тестова база даних. Література: [3, Гл.6] 4
2 Лабораторна робота 2. Створення даталогічної моделі за варіантом. За отриманим варіантом розробити власну даталогічну модель; для власної структури створити окрему схему даних та відпрацювати перелік простіших запитів SQL. Результатом виконання даної лабораторної є інфологічна модель даних у вигляді ER-діаграми, даталогічна та фізична модель для реляційної СУБД. Література: [3, Гл.6] 2
3 Лабораторна робота 3. Робота в тестовій базі даних. Відпрацювання вибірки по одній та по декільком таблицям із застосуванням умов WHERE, сортування ORDER BY, та сполучень JOIN. Створити запити по конструкції SELECT із застосуванням вивчених механізмів. Література: [3, Гл.6] 2
4 Лабораторна робота 4. Робота в тестовій базі даних. Відпрацювання вибірки по одній та по декільком таблицям із застосуванням GROUP BY… HAVING та усіх розглянутих агрегатних функцій. Створити запити по конструкції SELECT із застосуванням вивчених механізмів. Література: [7] 2
5 Лабораторна робота 5. Робота в тестовій базі даних. Відпрацювання ієрархічних запитів. Створити запити із використанням конструкцій SELF JOIN та CONNECT BY… . Література: [7], [8] 2
6 Лабораторна робота 6. Відпрацювання конструкцій мови PL\SQL Oracle – TRIGGERs. Створити TRIGGERs різних типів та конструкцій для дотримання певних обмежень цілісності. Література: [7] 4
7 Лабораторна робота 7. Відпрацювання конструкцій мови PL\SQL Oracle – Stored Procedures; Functions. Створити збережувані процедури та функції, розуміти різницю та вміти застосовувати дані програмні одиниці на практиці. Література: [8] 2

Заочна форма

Лекційні заняття

Назва теми лекції та перелік основних питань (перелік дидактичних засобів, посилання на літературу та завдання на СРС)
1 Тема 1.1. Структура та зміст курсу. РСО.
Тема 1.2. Повний цикл проектування баз даних. Нормалізація.
Лекція 1. Огляд базового курсу «Бази даних». Моделювання реляційних баз даних.
Етапи моделювання реляційних баз даних (РБД). Інфологічне та даталогічне моделювання. Формалізація зв’язків. Нормалізація відношень.
Література: [1, Ч.ІІ]
Завдання на СРС. Поглиблене повторення повного циклу моделювання РБД, проведення нормалізації відношень на практиці в рамках лабораторного циклу.
2 Тема 3.1. Операції над множинами в СУБД Oracle.
Лекція 3. Поняття багатотабличних SQL-запитів. Види операцій над множинами в РСУБД.
Поняття множини, операції над множинами. Внутрішні та зовнішні об’єднання таблиць – визначення, різниця в застосуванні, особливості застосування на прикладах.
Література: [2, Ч.ІІІ], [3, Гл.5-8], [7, Гл.1]
Завдання на СРС. Практичне відпрацювання всіх видів JOIN на власній тестовій базі даних на власній РСУБД. Практичне застосування операцій із теорії множин (перетин, об’єднання, віднімання).
3 Тема 10.1. Введення в PLSQL. Основні конструкції.
Тема 10.2. Конструкція мови PLSQL – TRIGGER.
Лекція 10. Особливості застосування конструкцій мови Oracle - PLSQL. Практичне відпрацювання TRIGGER.
Головні можливості та структура програмних одиниць PLSQL. Види та визначення тригерів. Особливості застосування тригерів в СУБД Oracle.
Література: [1, Гл.1;Гл.4], [2, Гл.4;Гл.5]
Завдання для СРС. Написання комбінованих тригерів складних конструкцій для власної тестової бази даних.
4 Тема 14.1. Функції в PLSQL Oracle.
Тема 14.2. Процедури в PLSQL Oracle.
Лекція 14. Визначення та застосування основних програмних одиниць в PLSQL Oracle.
Поняття та застосування функцій та процедур. Особливості застосування, практичні рішення та приклади.
Література: [7, Гл.2;3]
Завдання для СРС. Створення складних програмних конструкцій в поєднанні з вивченими на попередніх лекціях елементами.
5 Тема 18.1. Оптимізація плану виконання запитів в Oracle.
Тема 18.2. Конструкція MERGE для Oracle.
Лекція 18. Визначення та варіанти застосування конструкції EXECUTION PLAN. Оптимізація відпрацювання запитів в реляційних СУБД.
Оптимізація та дослідження певних складних запитів з використанням конструкції EXECUTION PLAN. Опанування додаткової конструкції для маніпулювання данними - MERGE INTO
*Література: [7, Гл.12]
Завдання для СРС. Самостійно потренуватись та опанувати EXECUTION PLAN для певних складних запитів з попередніх лабораторних робіт. Застосувати конструкцію MERGE INTO та порівняти з конструкцією UPDATE.

Лабораторні заняття

Назва лабораторної роботи Кількість ауд. годин
1 Лабораторна робота 1. SQL Developer (інсталяція та налаштування). Обробка скриптів для створення тестової БД. Інсталювати та налаштовувати SQL Developer, відпрацьовувати скрипти та створити нові схеми для роботи в Oracle Database XE через SQL Developer; відтворювати фізичну схему даних за фізичною моделлю (скриптами структури). Результатом виконання даної лабораторної роботи є налаштоване середовище проєктування БД та відтворена тестова база даних. Література: [3, Гл.6] 4
2 Лабораторна робота 2. Створення даталогічної моделі за варіантом. За отриманим варіантом розробити власну даталогічну модель; для власної структури створити окрему схему даних та відпрацювати перелік простіших запитів SQL. Результатом виконання даної лабораторної є інфологічна модель даних у вигляді ER-діаграми, даталогічна та фізична модель для реляційної СУБД. Література: [3, Гл.6] 2
3 Лабораторна робота 3. Робота в тестовій базі даних. Відпрацювання вибірки по одній та по декільком таблицям із застосуванням умов WHERE, сортування ORDER BY, та сполучень JOIN. Створити запити по конструкції SELECT із застосуванням вивчених механізмів. Література: [3, Гл.6] 2
4 Лабораторна робота 4. Робота в тестовій базі даних. Відпрацювання вибірки по одній та по декільком таблицям із застосуванням GROUP BY… HAVING та усіх розглянутих агрегатних функцій. Створити запити по конструкції SELECT із застосуванням вивчених механізмів. Література: [7] 2
5 Лабораторна робота 5. Робота в тестовій базі даних. Відпрацювання ієрархічних запитів. Створити запити із використанням конструкцій SELF JOIN та CONNECT BY… . Література: [7], [8] 2
6 Лабораторна робота 6. Відпрацювання конструкцій мови PL\SQL Oracle – TRIGGERs. Створити TRIGGERs різних типів та конструкцій для дотримання певних обмежень цілісності. Література: [7] 4
7 Лабораторна робота 7. Відпрацювання конструкцій мови PL\SQL Oracle – Stored Procedures; Functions. Створити збережувані процедури та функції, розуміти різницю та вміти застосовувати дані програмні одиниці на практиці. Література: [8] 2

Самостійна робота студента/аспіранта

Очна форма

Назва теми, що виноситься на самостійне опрацювання Кількість годин СРС
1 Нереляційні бази даних, BlockChain – загальні поняття, види, моделі. 2
2 Теорема САР – детальний розгляд, порівняльний аналіз сторін «трикутника» 2
3 Реляційна модель даних, розроблена Е.Коддом – визначення, принципи. 4
4 Дослідження повного переліку елементів моделі інфологічного проєктування. Виконання ER-діаграми іншої нотації (на вибір, IDEF0, Yordana чи ін.). 4
5 Дослідження інших способів та засобів побудови логічних моделей предметної області за концептуальною діаграмою. 4
6 Дослідження нормальних форм починаючи з 4НФ. 2
7 Опрацювання усіх дванадцяти правил Кодда. Приклади застосування. Підготовка до контрольної роботи по усьому попередньому матеріалу. 4
8 Завантажити реляційну СУБД. Встановити програмне забезпечення та порожню базу даних для подальшого вивчення та використання. 4
9 Самостійно опанувати матеріали по управлінню структурами зберігання бази даних – уточнення фізичної структури. 4
10 Спрощений супровід параметрів ініціалізації. Файлова структура та архітектура відповідного сервера реляційної СУБД. 4
11 Відпрацювання теоретичного матеріалу на реляційній СУБД, для чого опанувати формалізацію зав’язків в специфікації реляційної СУБД, а також види та застосування індексів. 8
12 Відпрацювання теоретичного матеріалу на реляційній СУБД, визначення відповідних представлень, де відображені метадані Oracle. Табличний простір, де зберігаються метадані. 4
13 Локально-керовані табличні простори та табличні простори, керовані словником. Визначення, застосування. 4
14 Схеми даних та облікові записи в реляційній СУБД. Робота з параметрами безпеки. 4
15 Самостійно потренуватись та опанувати поняття блокування транзакцій, застосування конструкції SAVEPOINT. 2
16 Підготовка до заліку по всьому матеріалу модуля. 10

Заочна форма

Назва теми, що виноситься на самостійне опрацювання Кількість годин СРС
1 Нереляційні бази даних, BlockChain – загальні поняття, види, моделі. 8
2 Теорема САР – детальний розгляд, порівняльний аналіз сторін «трикутника» 8
3 Реляційна модель даних, розроблена Е.Коддом – визначення, принципи. 15
4 Дослідження повного переліку елементів моделі інфологічного проєктування. Виконання ER-діаграми іншої нотації (на вибір, IDEF0, Yordana чи ін.). 15
5 Дослідження інших способів та засобів побудови логічних моделей предметної області за концептуальною діаграмою. 15
6 Дослідження нормальних форм починаючи з 4НФ. 15
7 Опрацювання усіх дванадцяти правил Кодда. Приклади застосування. Підготовка до контрольної роботи по усьому попередньому матеріалу. 18
16 Підготовка до заліку по всьому матеріалу модуля. 10

Політика та контроль

Політика навчальної дисципліни (освітнього компонента)

Система вимог, які ставляться перед студентом:

  • відвідування лекційних та лабораторних занять є обов’язковою складовою вивчення матеріалу;
  • на лекції викладач користується власним презентаційним матеріалом; відпрацьовує практичну частину на віртуальній машині з встановленою відповідною РСУБД; використовує гугл-диск для викладання матеріалу поточної лекції, додаткових ресурсів, лабораторних робіт та інше; викладач відкриває доступ до певної директорії гугл-диска для скидання електронних лабораторних звітів та відповідей на МКР;
  • на лекції заборонено відволікати викладача від викладання матеріалу, усі питання, уточнення та ін. студенти задають в кінці лекції у відведений для цього час;
  • лабораторні роботи захищаються у два етапи – перший етап: студенти виконують завдання на допуск до захисту лабораторної роботи; другий етап – захист лабораторної роботи. Бали за лабораторну роботу враховуються лише за наявності електронного звіту;
  • модульні контрольні роботи пишуться на лекційних заняттях без застосування допоміжних засобів (мобільні телефони, планшети та ін.); результат пересилається у файлі до відповідної директорії гугл-диску;
  • заохочувальні бали виставляються за: активну участь на лекціях; участь у факультетських та інститутських олімпіадах з навчальних дисциплін, участь у конкурсах робіт, підготовка оглядів наукових праць; презентацій по одній із тем СРС дисципліни тощо. Кількість заохочуваних балів не більше 10;
  • штрафні бали виставляються за: невчасну здачу лабораторної роботи. Кількість штрафних балів не більше 10.

Види контролю та рейтингова система оцінювання результатів навчання (РСО)

Рейтинг студента з дисципліни складається з балів, що він отримує за:

  • виконання контрольних робіт (2 експрес-контрольні на лабораторних заняттях);
  • виконання та захист 7 лабораторних робіт;
  • виконання 2 модульних контрольних робіт (МКР);
  • заохочувальні та штрафні бали.

Система рейтингових балів та критерії оцінювання

Експрес-контрольні роботи
  • «відмінно» – повна відповідь (не менше 90% потрібної інформації) – 5 балів;
  • «добре» – достатньо повна відповідь (не менше 75% потрібної інформації) або повна відповідь з незначними недоліками – 4 балів;
  • «задовільно» – неповна відповідь (не менше 60% потрібної інформації) та незначні помилки – 1-3 бали;
  • «незадовільно» – відповідь не відповідає вимогам до «задовільно» – 0 балів.
Лабораторні роботи
  • «відмінно», повна відповідь на питання під час захисту (не менш ніж 90% потрібної інформації) та оформлений належним чином електронний протокол до лабораторної роботи – 10/9 балів;
  • «добре», достатньо повна відповідь на питання під час захисту (не менш ніж 75% потрібної інформації) та оформлений належним чином електронний протокол до лабораторної роботи – 8/7 бали;
  • «задовільно», неповна відповідь на питання під час захисту (не менш ніж 60% потрібної інформації), незначні помилки та оформлений належним чином електронний протокол до лабораторної роботи – 6/4 бал;
  • «незадовільно», незадовільна відповідь та/або не оформлений належним чином електронний протокол до лабораторної роботи – 0/3 балів.

За кожне заняття запізнення з поданням лабораторної роботи до захисту від встановленого терміну оцінка знижується на 1 бал.

Модульні контрольні роботи
  • «відмінно», повна відповідь (не менш ніж 90% потрібної інформації) – 9-10 балів;
  • «добре», достатньо повна відповідь (не менш ніж 75% потрібної інформації), або повна відповідь з незначними помилками – 7-8 балів;
  • «задовільно», неповна відповідь (але не менш ніж 60% потрібної інформації) та незначні помилки – 5-6 бали;
  • «незадовільно», незадовільна відповідь (неправильний розв’язок задачі), потребує обов’язкового повторного написання в кінці семестру – 0-4 балів.
Заохочувальні бали
  • за виконання творчих робіт з кредитного модуля (наприклад, участь у факультетських та інститутських олімпіадах з навчальних дисциплін, участь у конкурсах робіт, підготовка оглядів наукових праць тощо); за активну роботу на лекції (питання, доповнення, зауваження за темою лекції, коли лектор пропонує студентам задати свої питання) 1-2 бали, але в сумі не більше 10;
  • презентації по СРС – від 1 до 5 балів.
Міжсесійна атестація

За результатами навчальної роботи за перші 7 тижнів максимально можлива кількість балів – 37 балів (2 лабораторні, МКР-1, 2 експрес-контрольні, 7 заохочувальних балів). На першій атестації (8-й тиждень) студент отримує «зараховано», якщо його поточний рейтинг не менший ніж 15 балів.

За результатами 13 тижнів навчання максимально можлива кількість балів – 53 балів (4 лабораторні, МКР-2, 2 експрес-контрольні, 13 заохочувальних балів). На другій атестації (14-й тиждень) студент отримує «зараховано», якщо його поточний рейтинг не менший ніж 25 балів.

Максимальна сума вагових балів контрольних заходів протягом семестру складає:

RD = 7*rлаб+2*rмкр+5*rек + (rз - rш)=7*10+2*10+2*5+ (rз - rш)=100 + (rз - rш), де rлаб – бал за лабораторну роботу (0…10); rмкр – бал за написання МКР (0…10); rек – бал за написання експрес-контрольної роботи (0…5); rз – заохочувальні бали за активну участь на лекціях, презентації, участь в олімпіадах, конкурсі роботи, наукові роботи за тематикою дисципліни (0…10); rзш – штрафні бали.

Залік

Студенти, які виконали всі умови допуску до семестрової атестації (не мають заборгованостей з лабораторних робіт, наявні усі електронні звіти) та набрали протягом семестру необхідну кількість балів (RD ≥ 60), отримують залікову оцінку (залік) так званим «автоматом» відповідно до набраного рейтингу (табл. 1, що наведена нижче). У такому разі до заліково-екзаменаційної відомості вносяться бали RD та відповідні оцінки.

Студенти, які набрали протягом семестру менше ніж 60 балів та не мають заборгованостей, зобов’язані виконувати залікову контрольну роботу.

На заліку студенти виконують письмову контрольну роботу. Кожне завдання містить три теоретичних питання і два практичних. Перелік питань наведений у методичних рекомендаціях до засвоєння кредитного модуля. Кожне питання оцінюється у 20 балів.

Студентам, які протягом семестру набрали більш ніж 60 балів та виконали всі умови допуску, надається можливість виконувати залікову контрольну роботу з метою підвищення оцінки. В такому разі, попередній рейтинг студента з кредитного модуля скасовується і він отримує оцінку з урахуванням результатів залікової контрольної роботи (табл. 1, що наведена нижче).

Система оцінювання питань
  • «відмінно», повна відповідь (не менше 90% потрібної інформації) – 18-20 балів;
  • «добре», достатньо повна відповідь (не менше 75% потрібної інформації, або незначні неточності) – 13-17 балів;
  • «задовільно», неповна відповідь (не менше 60% потрібної інформації та деякі помилки) – 7-12 балів;
  • «незадовільно», незадовільна відповідь – 0-6 балів.

Сума набраних балів RD або балів за залікову роботу переводиться до залікової оцінки згідно з таблицею:

Таблиця 1. Переведення рейтингових балів до оцінок за університетською шкалою
Кількість балів Оцінка
100-95 Відмінно
94-85 Дуже добре
84-75 Добре
74-65 Задовільно
64-60 Достатньо
Менше 60 Незадовільно
Не виконані умови допуску Не допущено

Додаткова інформація з дисципліни (освітнього компонента)

  • передбачена можливість закривати частину лабораторного та лекційного матеріалу шляхом здобування сертифікатам по online курсам (наприклад, COURSERA) відповідних розділів та тем дисципліни;
  • перелік теоретичних питань, які виносяться на семестровий контроль наведено в Додатку 1;
  • на початку семестру викладач аналізує існуючі курси по тематиці дисципліни та пропонує пройти відповідні безкоштовні курси студентам. Після отриманням студентом сертифікату проходження дистанційних чи онлайн курсів за відповідною тематикою, викладач закриває відповідну частину курсу (лабораторні чи лекції) за попередньою домовленістю з групою.

Робочу програму навчальної дисципліни (Силабус):

Складено доцент, к.т.н., Ульяницька Ксенія Олександрівна

Ухвалено кафедрою ІСТ (протокол № 1 від 30.08.2022 р.)

Погоджено Методичною комісією факультету[1] (протокол № 1 від 30.08.2022 р.)

Додаток 1 - Перелік теоретичних питань на залік

  1. Підзапит. Визначення. Де в конструкції SELECT можна додати запит в якості аргументу (рівні запиту)? Приклад для FROM.
  2. Підзапит. Визначення, де в конструкції SELECT можна додати запит в якості аргументу (рівні запиту)? Приклад для WHERE.
  3. Підзапит. Визначення, де в конструкції SELECT можна додати запит в якості аргументу (рівні запиту)? Приклад в SELECT перед FROM.
  4. Підзапит із застосуванням IN. Як такі підзапити можна сформувати без IN, використовуючи лише JOIN? Приклад.
  5. Підзапит із застосуванням EXIST/NOT EXIST. Як такі підзапити можна сформувати без EXIST/NOT EXIST, використовуючи лише JOIN? Приклад.
  6. Види підзапитів SQL. Описати.
  7. Однорядкові підзапити SQL. Приклад, опис.
  8. Багаторядкові підзапити SQL. Приклад, опис.
  9. Багатостовпчикові підзапити SQL. Приклад, опис.
  10. Корельовані підзапити SQL. Приклад, опис.
  11. Пов’язувані змінні :name або @name. Опис, приклад.
  12. Параметризовані запити. Опис, приклад, застосування.
  13. Параметризовані запити. Опис. Поняття SQL Injection.
  14. Цілісність бази даних. Визначення. Перелік обмежень цілісності.
  15. Перелік обмежень цілісності. PRIMARY, FOREIGN – приклади застосування.
  16. Перелік обмежень цілісності. PRIMARY, UNIQUE – приклади застосування, відмінності.
  17. Типи обмежень цілісності даних. Розписати корпоративні обмеження.
  18. Типи обмежень цілісності даних. Розписати обмеження для доменів полів.
  19. Типи обмежень цілісності даних. Розписати цілісність сутностей. Приклад.
  20. Типи обмежень цілісності даних. Розписати посилальну цілісність. Приклад.
  21. Індекси. Визначення. Застосування.
  22. Індекси як механізм обмежень цілісності. Визначення.
  23. Визначення індексів. Коли необхідно впроваджувати індекси?
  24. Визначення індексів. Коли індекси шкідливі?
  25. Транзакція. Визначення. Незавершена транзакція. Приклад.
  26. Транзакція. Визначення. Принципи ACID для транзакції.
  27. Транзакція. Визначення. AUTOCOMMIT – принцип дії в Oracle.
  28. Управління транзакціями Oracle. Перелік команд. Приклад.
  29. Неявні блокування в Oracle при відпрацюванні DML-конструкцій.
  30. Розшифруйте та надайте приклади та опис роботи конструкцій підрозділу SQL – TCL.
  31. Денормалізація. Визначення. Застосування.
  32. Денормалізація. Визначення. Втрати при денормалізації?
  33. Застосування індексів. Опишіть ситуації, коли індекси необхідно використовувати.
  34. Застосування індексів. Коли індекси використовувати неможна? Опишіть ситуації.
  35. B-Tree індекси. Визначення, застосування.
  36. Bitmap індекси. Визначення, застосування.
  37. Напишіть скрипт на створення таблиці з двох полів – ідентифікатора та текствого атрибуту. Додайте індекс до текстового поля. Скріншоти наведіть.
  38. Напишть скрипт на створення будь-якої HEAP таблиці, додайте 3 записи. Виконайте запит та включіть до атрибутів ROWID. Що це за атрибут?
  39. Напишть скрипт на створення будь-якої IOT таблиці, додайте 3 записи. Розшифруйте та опишіть термін “IOT-таблиця”.

[1] Методичною радою університету – для загальноуніверситетських дисциплін.