БАЗИ ДАНИХ-3. КУРСОВА РОБОТА

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

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

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

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

k.ulianytska@kpi.ua,

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

Лабораторні: к.т.н., доцент, Бойко Олександра Володимирівна, alexbb14112016@gmail.com,

моб. +38(097)294-40-83

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

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

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

Опис дисципліни. При проходженні даної дисципліни, студенти познайомляться з поняттям «база даних», видами баз даних, та детальніше вивчатимуть реляційну модель даних. На лабораторних заняттях опанують етапи проектування реляційних баз даних. На рівні користувача з досвідом опанують систему управління базами даних Oracle Database 11g/18c. В курсі передбачений контроль якості отриманих знань у вигляді експрес-контрольних та модульних контрольних робіт. На лекціях проводитимуться практичні групові заняття по опануванню принципів побудови реляційної моделі даних.

Предмет навчальної дисципліни: основні поняття реляційної теорії, введення в реляційні бази даних, інфологічна модель, даталогічна модель, реляційні системи управління базами даних SQL на основі Oracle Databases.

Міждисциплінарні зв’язки. Дисципліна Бази даних базується на дисциплінах: Операційні системи; Програмування – 1. Основи програмування; Програмування – 2. Структури даних та алгоритми; Дискретна математика.

Мета навчальної дисципліни. Підготовка висококваліфікованих фахівців, які володіють основними поняттями реляційної теорії, термінами реляційних баз даних, моделюванням предметної області для побудови реляційних бази даних, нормалізацією, алгоритмом побудови реляційних баз даних, фізичною реалізацією спроектованих схем баз даних на реляційних системах управління базами даних, адмініструванням реляційних систем управління базами даних на рівні користувача з досвідом, а саме Oracle Databases.

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

Знання:

  • ролі та місця реляційних баз даних в інформаційно-технологічному середовищі їх використання;

  • реляційної моделі побудови реляційних баз даних;

  • етапів проектування реляційних баз даних;

  • нормальних форм;

  • мови SQL (Structured Query Language) для створення схеми баз даних та роботи з даними (запити на вибірку, модифікацію, оновлення, видалення).

Уміння:

  • аналізувати предметну область, визначену рамками певного проекту;

  • будувати концептуальну модель даних по результатам аналізу предметної області;

  • перетворювати концептуальну модель даних в даталогічну модель фізичної структури бази даних;

  • на основі даталогічної моделі здійснювати фізичну реалізацію бази даних – розроблювати скрипти та відпрацьовувати їх на вибраній системі управління базами даних (СУБД);

  • володіти мовою SQL в її розділах DDL (Data Definition Language) та однотабличні запити конструкції SELECT;

  • адмініструвати на рівні користувача з досвідом реляційну СУБД Oracle Server 11g XE.

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

Пререквізити: вміти користуватися комп’ютером на рівні адміністратора, вміти працювати з віртуальними машинами (створювати, налаштовувати, модифікувати), базові знання в області теорії множин, вміти будувати Use-Case моделі для подальшої можливості аналізувати та прогнозувати майбутній функціонал застосування для якого, власне, і буде проектуватися будь-яка реляційна база даних.

Постреквізити: проектування та реалізація реляційних БД на реляційних СУБД.

Після проходження дисципліни студенти зможуть відтворити базові етапи створення реляційних баз даних, а саме виконувати аналіз предметної області, будувати інфологічну або концептуальну модель предметної області, трансформувати концептуальну модель у фізичну модель бази даних, застосовувати нормалізації таблиць та формалізацію зв’язків. Писати скрипти (розділ DDL мови SQL) для фізичної моделі даних під реляційну СУБД Oracle Database 11g/18c. Виконувати прості SQL запити до створеної бази даних.

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

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

Розділ 1. Загальні положення

Розділ 2. Реляційні бази даних. Введення

Розділ 3. Моделювання реляційної бази даних

Розділ 4. Введення в мову SQL.

Розділ 5. Реляційна СУБД Oracle на прикладі серверу Oracle Database 11g XE.

Розділ 6. Введення в механізми роботи реляційних баз даних.

Розділ 7. Багато табличні запити мови SQL.

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

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

  1. Дейт К. Дж. Введение в системы баз данных — 8-е изд. — М.: Вильямс, 2005. — 1328 с.

  2. Кузнецов С. Д. Основы баз данных. — 2-е изд. — М.: Интернет-Университет Информационных Технологий; БИНОМ. Лаборатория знаний, 2007. — 484 с.

  3. Ребекка Райордан - Основы реляционных баз данных, 2001

  4. Гарсиа-Молина Г., Ульман Дж., Уидом Дж. Системы баз данных. Полный курс. — М.: Вильямс, 2003. — 1088 с.

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

  1. Санжей Мишра, Алан Бьюли. Секреты Oracle SQL. – Символ Плюс. – 2006.

  2. Стерн Д., Гринвальд Р., Стаковьяк Р. Oracle 11g. Основы, 4-е издание. – Символ Плюс. – 2009.

  3. Ицик Бен-Ган - Microsoft SQL Server 2008. Основы T-SQL. – БХВ П.: - 2009.

  4. Кайт Том. Oracle для профессионалов: архитектура и методики программирования. 3-е изд.: Пер. с англ. – М.: ООО «И.Д.Вильямс», 2016. – 960 с.

  5. SQL. Сборник рецептов. – Пер. с англ. – Спб: Символ-Плюс, 2009. – 672 с.

  6. Вьескас Джон - SQL-запросы для простых смертных, 2003.

  7. Грабер Мартин - SQL для простых смертных, 2014.

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

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

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

№ з/п Назва теми лекції та перелік основних питань
(перелік дидактичних засобів, посилання на літературу та завдання на СРС)
1

Тема 1.1. Структура та зміст курсу. РСО.

Тема 1.2. Загальні поняття дисципліни. Типи баз даних.

Лекція 1. Вступ. Загальні поняття. Типи баз даних.

Структура курсу Бази даних, РСО. Загальні поняття області баз даних. База даних як інформаційна модель предметної області проектування. Правило трьох НЕ. Загальні відомості про нереляційні бази даних. Типи БД.

Література: [1, Гл.1.1.4], [3, Гл.1]

Завдання на СРС. Нереляційні бази даних, BlockChain – загальні поняття, види, моделі.

2

Тема 1.3. Реляційні та нереляційні бази даних. Теорема CAP.

Тема 2.1. Принципи ACID.

Лекція 2. Реляційні та нереляційні бази даних. Теорема CAP. Принципи ACID.

Визначення реляційних та нереляційних баз даних, відмінності, моделі, принципи. Теорема САР – поєднання можливостей реляційних та нереляційних баз даних. Принципи реляційних баз даних з детальним поясненням.

Література: [1, Гл.1.1.6], [3, Гл.1]

Завдання на СРС. Теорема САР – детальний розгляд, порівняльний аналіз сторін «трикутника»

3

Тема 2.2. Основні терміни реляційних баз даних.

Лекція 3. Терміни реляційної теорії баз даних. Реляційна модель даних.

Існуючі терміни реляційних баз даних та реляційних систем управління базами даних. Схематичне представлення термінів. Трирівнева схема представлення метаданих.

Література: [1, Гл.1.1.2; Гл.3], [3, Гл.1]

Завдання на СРС. Реляційна модель даних, розроблена Е.Коддом – визначення, принципи.

4

Тема 3.1. Перелік етапів повного циклу побудови реляційних баз даних (РБД).

Лекція 4. Модель реляційної бази даних. Принципи побудови. Повний цикл проектування РБД.

Ключові моменти побудови РБД. Узагальнений та повний перелік етапів проектування реляційних баз даних.

Література: [1, Гл.5], [3, Гл.6]

5

Тема 3.2. Поняття інфологічного проектування баз даних.

Лекція 5. Приклад проектування інфологічної моделі бази даних «Видавництво».

Проведення аналізу предметної області та виявлення певних елементів для інфологічного проектування. Перелік існуючих взаємозв’язків між відношеннями. Побудова ER-діаграми за нотацією Чена.

Література: [1, Гл.14], [3, Гл.6;Гл.9], [6, Гл.2]

Завдання для СРС. Дослідження повного переліку елементів моделі інфологічного проектування. Виконання ER-діаграми іншої нотації (на вибір, IDEF0, Yordana чи ін.).

6

Тема 3.3. Поняття даталогічного проектування баз даних

Лекція 6. Приклад проектування даталогічної моделі бази даних «Видавництво».

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

Література: [1, Гл.5;Гл.6], [3, Гл.10], [6, Гл.3;Гл.4]

Завдання для СРС. Дослідження інших способів та засобів побудови логічних моделей предметної області за концептуальною діаграмою.

7

Тема 3.4. Нормалізація та введення в де-нормалізацію.

Лекція 7. Нормалізація даталогічної моделі. Денормалізація – застосування, наслідки.

Визначення термінів нормалізації. Вісім нормальних форм (3 обов’язкові). Випадки застосування де-нормалізації. Наслідки де-нормалізації.

Література: [1, Гл.12], [2, Л.6], [3, Гл.9]

Завдання для СРС. Дослідження нормальних форм починаючи з 4НФ.

8

Тема 4.1. Дванадцять правил Кодда.

Тема 4.2. Конструкція мови SQL – основні типи запитів відповідних мов DDL, DML, DCL, TCL.

Лекція 8. Передісторія мови SQL. Правила Е. Кодда. Конструкція мови SQL – основні типи запитів.

Історія виникнення єдиної структурованої мови, якою наразі користуються усі реляційні системи управління базами даних. Правила Кодда – визначення, обґрунтування. Анатомія реляційних баз даних. Згадуємо правила Кодда, нормалізацію/де-нормалізацію. Класифікація зав’язків між відношеннями. Класифікація SQL-команд.

Література: [1, Гл.1;Гл.4], [2, Гл.4;Гл.5]

Завдання для СРС. Опрацювання усіх дванадцяти правил Кодда. Приклади застосування. Підготовка до контрольної роботи по усьому попередньому матеріалу.

9

Лекція 9. Модульна контрольна робота

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

Завдання включають теоретичну та практичну частини, а також додаткове завдання, в разі вчасного відпрацювання основних питань.

Завдання для СРС. Повторити матеріал 1-8 лекцій.

10

Тема 5.1. Узагальнена архітектура серверу Oracle

Лекція 10. Реляційні СУБД. Архітектура сервера БД Oracle Database.

Історія виникнення та розробки реляційної СУБД Oracle. Стеки технологій Oracle. Загальна структура сервера БД Oracle. Загальна архітектура бази даних Oracle.

Література: [7, Гл.2]

Завдання для СРС. Завантажити відповідну версію сервера Oracle. Встановити програмне забезпечення та порожню базу даних для подальшого вивчення та використання.

11

Тема 5.2. Структури пам’яті серверу Oracle

Лекція 11. Структури бази даних Oracle. Узагальнена структура пам’яті.

Схематичне представлення структур бази даних Oracle. Логічні та фізичні структури пам’яті.

Література: [7, Гл.4]

Завдання для СРС. Самостійно опанувати матеріали по управлінню структурами зберігання бази даних – уточнення фізичної структури.

12

Тема 5.3. Основні поняття в Oracle для роботи та створення баз даних

Лекція 12. Управління екземпляром Oracle. Основні моменти.

Поняття екземпляра Oracle. Узагальнене управління екземпляром Oracle (структури пам’яті та процеси).

Література: [7, Гл.2;3]

Завдання для СРС. Спрощений супровід параметрів ініціалізації. Запуск та зупинка екземпляра бази даних Oracle.

13

Тема 6.1. Поняття цілісності

Тема 6.2. Індекси. Основні поняття, введення.

Лекція 13. Обмеження цілісності в реляційних базах даних. Індексація в реляційних базах даних. Види індексів

Перелік обмежень цілісності для реляційних БД. Застосування, приклад. Класифікація зав’язків між таблицями. Поняття та застосування індексації в реляційних БД. Класифікація індексів.

Література: [1, Гл.9], [2, Л.9], [3, Гл.10], [7, Гл.11]

Завдання для СРС. Відпрацювання теоретичного матеріалу на сервері Oracle, для чого опанувати формалізацію зав’язків в специфіці серверу Oracle, а також види та застосування індексів серверу Oracle.

14

Тема 6.3. SQL запити в розділі DML

Лекція 14. Конструкція запитів SQL. Визначення словника метаданих.

Трирівнева схема представлення метаданих в реляційних системах управління базами даних. Поняття даних про дані. Запити по одній таблиці в конструкції SELECT.

Література: [1, Гл.4], [2, Л.13]

Завдання для СРС. Відпрацювання теоретичного матеріалу на сервері Oracle, визначення відповідних представлень, де відображені метадані Oracle. Табличний простір, де зберігаються метадані.

15

Лекція 15. Модульна контрольна робота

На контрольну роботу виноситься увесь попередній матеріал, що включає роботу в реляційній СУБД Oracle 11g/18c на рівні користувача із досвідом. Теоретичні питання по цілісності, індексам та запитам SQL в розділах DDL, DML.

Завдання включають теоретичну частину, тестове питання та практичну частини, де потрібно буде написати один з запитів SQL з розділів DDL та/чи DML.

Завдання для СРС. Повторити матеріал 10-14 лекцій.

16

Тема 7.1. Робота з таблицями в Oracle

Лекція 16. Конструкції мови SQL. Підмова DDL.

Перелік відомих команд підмови DDL з прикладами та практичним відпрацюванням на сервері Oracle Database 11g/18с XE.

Література: [7, Гл.10]

Завдання для СРС. Локально-керовані табличні простори та табличні простори, керовані словником. Визначення, застосування.

17

Тема 7.2. Команди мови DDL, DML

Лекція 17. Конструкції мови SQL. Підмова DМL. Багатотабличні запити.

Перелік відомих команд підмови DМL з прикладами та практичним відпрацюванням на сервері Oracle Database 11g/18с XE. Алгоритм утворення складних багатотабличних запитів. Приклад відпрацювання на сервері Oracle.

Література: [7, Гл.10], [8]

Завдання для СРС. Схеми даних та облікові записи в сервері Oracle. Робота з параметрами безпеки.

18

Тема 7.3. Поняття транзакцій

Лекція 18. Визначення транзакцій в РБД. Приклади.

Поняття транзакцій, приклади транзакцій на сервері Oracle Database 11g/18с XE. Поняття COMMIT та ROLLBACK.

Література: [7, Гл.8]

Завдання для СРС. Самостійно потренуватись та опанувати поняття блокування транзакцій, застосування конструкції SAVEPOINT.

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

№ з/п

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

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

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

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

  • відвідування лекційних та лабораторних занять є обов’язковою складовою вивчення матеріалу;

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

  • на лекції заборонено відволікати викладача від викладання матеріалу, усі питання, уточнення та ін. студенти задають в кінці лекції у відведений для цього час;

  • заохочувальні бали виставляються за: активну участь на лекціях; участь у факультетських та інститутських олімпіадах з навчальних дисциплін, участь у конкурсах робіт, підготовка оглядів наукових праць; презентацій по одній із тем СРС дисципліни тощо. Кількість заохочуваних балів на більше 10;

  • штрафні бали виставляються за: невчасну здачу лабораторної роботи. Кількість штрафних балів на більше 10.

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

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

Заохочувальні бали

– за виконання творчих робіт з кредитного модуля (наприклад, участь у факультетських та інститутських олімпіадах з навчальних дисциплін, участь у конкурсах робіт, підготовка оглядів наукових праць тощо); за активну роботу на лекції (питання, доповнення, зауваження за темою лекції, коли лектор пропонує студентам задати свої питання) 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 Незадовільно
Не виконані умови допуску Не допущено

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

  • перелік теоретичних питань, які виносяться на семестровий контроль наведено в Додатку 1;

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

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

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

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

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

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