Організація баз даних та знань

Спеціальність: Прикладна математика та інформатика
Код дисципліни: 6.113.00.O.019
Кількість кредитів: 6.00
Кафедра: Прикладна математика
Лектор: Алєксєєв Владислав Ігорович, к.т.н., доц., доцент кафедри ПМ
Семестр: 4 семестр
Форма навчання: денна
Мета вивчення дисципліни: Метою вивчення дисципліни є практичне засвоєння концепції реляційних баз даних, теоретичних основ і принципів реляційної моделі роботи з даними, вивчення мови структурованих запитів (SQL), знайомство із особливостями реалізації реляційної моделі і синтаксисом мови SQL у різних СУБД (Oracle, MS SQL Server, MySQL/MariaDB, PostgreSQL), знайомство із процедурними розширеннями різних СУБД (Oracle PL\SQL, MS Transact-SQL тощо), у т.ч. збереженими процедурами і тригерами, розуміння транзакцій, проблем забезпечення цілісності даних і організації одночасного доступу до даних, формування уявлення про розширені можливості СУБД у роботі із спеціальними типи даних (XML, JSON, GIS тощо), отримання знань про підходи і особливості застосування нереляційних баз даних, формування розуміння понять «знання» і «база знань», у т.ч. формування уявлення про експертні системи, онтології та системи побудовані на правилах, семантичні мережі, системи керування вмістом (контентом), а також знайомство із інструментарієм проектування і роботи з базами даних та базами знань.
Завдання: Вивчення навчальної дисципліни передбачає формування у здобувачів освіти компетентностей: загальні компетентності: ЗК3 – базові знання в області інформаційних технологій, алгоритмів та їх програмної реалізації, необхідні для освоєння професійно-орієнтованих дисциплін. ЗК5 – здатність до застосування знань на практиці. ЗК8 – мати навички розроблення та управління проектами. ЗК12 – уміння працювати як індивідуально, так і в команді. ЗК13 – уміння ефективно спілкуватися на професійному та соціальному рівнях. ЗК15 – потенціал до подальшого навчання. фахові компетентності: ФК2 – базові знання наукових понять, теорій та методів, необхідних для розуміння принципів збору, обробки та збереження інформації, розробки та програмної реалізації побудованих алгоритмів. ФК4 – здатність використовувати та впроваджувати нові технології, брати участь в модернізації систем та комплексів з метою підвищення їх ефективності. ФК6 – здатність застосовувати професійно-профільовані знання та практичні навички для розв’язання типових задач спеціальності, а також експлуатації програмно-інформаційних комплексів.
Результати навчання: Розуміння принципів реляційних і нереляційних БД, володіння мовами програмування у реляційних БД, зокрема SQL, уміння проектувати реляційну БД для заданої предметної області, обирати та застосовувати на практиці обрану СУБД, будувати та застосовувати на практиці базу знань чи експертну систему. Готовність до вивчення інших дисциплін за напрямом інформаційних технологій.
Необхідні обов'язкові попередні та супутні навчальні дисципліни: Пререквізити: Алгоритми та програмування ч.1, Алгоритми та програмування ч.2 Кореквізити: Програмування WEB-додатків ч.2, Хмарні технології та обчислення, Проектування та розробка інформаційних систем, Крос-платформне програмування, Надвеликі бази даних
Короткий зміст навчальної програми: Навчальна дисципліна «Організація баз даних та знань» є складовою освітньо-професійної програми підготовки фахівців за першим рівнем вищої освіти «бакалавр» галузі знань 11 – «Математика та статистика» зі спеціальності 113 – «Прикладна математика» за освітньою програмою «Прикладна математика та інформатика». Дана дисципліна є обов’язковою. Викладається в другому семестрі 2-го курсу (4-й навчальний семестр) в обсязі – 180 год. (6 кредитів ECTS) зокрема: лекції – 45 год., лабораторні заняття – 30 год., самостійна робота – 85 год. У курсі передбачено 2 контрольних роботи у ВНС. Завершується дисципліна – іспитом. Завданням дисципліни є практичне засвоєння концепції реляційних баз даних, теоретичних основ і принципів реляційної моделі роботи з даними, вивчення мови структурованих запитів (SQL), знайомство із особливостями реалізації реляційної моделі і синтаксисом мови SQL у різних СУБД (Oracle, MS SQL Server, MySQL/MariaDB, PostgreSQL), знайомство із процедурними розширеннями різних СУБД (Oracle PL\SQL, MS Transact-SQL тощо), у т.ч. збереженими процедурами і тригерами, розуміння транзакцій, проблем забезпечення цілісності даних і організації одночасного доступу до даних, формування уявлення про розширені можливості СУБД у роботі із спеціальними типи даних (XML, JSON, GIS тощо), отримання знань про підходи і особливості застосування нереляційних баз даних, формування розуміння понять «знання» і «база знань», у т.ч. формування уявлення про експертні системи, онтології та системи побудовані на правилах, семантичні мережі, системи керування вмістом (контентом), а також знайомство із інструментарієм проектування і роботи з базами даних та базами знань. В результаті вивчення дисципліни студенти повинні знати: основи теорії реляційних баз даних; методологічні підходи та етапи побудови інформаційних систем; технологію створення програмних продуктів на базі СУБД; основи мов програмування СУБД; будову СУБД різних типів (малих, середніх, важковагових); принципи використання об’єктно-орієнтованого підходу в розробці інформаційних систем; архітектуру відкритих систем. В результаті вивчення дисципліни студенти повинні вміти: застосовувати методику проектування інформаційних систем; створювати програмне забезпечення інформаційних систем з використанням важковагових СУБД; використовувати універсальні засоби взаємодії з різноманітними БД; використовувати SQL; на початковому рівні вміти адмініструвати реляційні СУБД; обирати найбільш вдале архітектурне рішення на основі реляційної або нереляційної СУБД; проектувати, будувати і застосовувати бази знань.
Опис: Вступ до дисципліни. Поняття бази даних та СУБД. Ключові поняття реляційної моделі (сутність, зв’язок, ключ). Елементарне поняття про транзакції. Об’єкти бази даних. Таблиця, запис, поле, тип даних значення, декларативні обмеження цілісності. SQL-запити DDL створення, зміни, очищення і видалення таблиць. Найпростіші SQL-запити DML: SELECT, INSERT, UDATE, DELETE. Проектування бази даних: трирівнева модель – концептуальний, логічний та фізичний рівень. Типи відношень: один до одного, один до багатьох, багато до багатьох. Правила Кодда. Нормалізація таблиць: 1НФ, 2НФ, 3НФ, НФБК, 4НФ, 5НФ. Денормалізація. Ключі таблиць: первинний, унікальний, зовнішній. Прості, складені та сурогатні первинні ключі. Індекси. Особливості індексування полів та ключів. Кластерний індекс. Наповнення таблиць даними. Транзакції. Властивості ACID. Рівні ізольованості транзакцій. Оператори управління транзакціями. Повторне виконання та відкат. Розподілені транзакції. Блокування та одночасний доступ. Типові проблеми блокувань: заблокованість, втрачена зміна, нескінченне відтермінування, взаємне блокування («deadlock»). Песимістичне та оптимістичне блокування. Заміна ескалації блокувань на перетворення та розповсюдження блокувань. SQL: SELECT-запити. Типи поєднання таблиць (INNER, LEFT/RIGHT, FULL OUTER). Декартів добуток таблиць. Накладання умов (WHERE) на записи, що мають потрапити в результат. Арифметичні операції та вбудовані функції у запитах. Порожні значення NULL та особливості роботи з ними (NULL у виразах, перевірка IS NULL, IS NOT NULL). SQL: SELECT-запити із групуванням (GROUP BY), агрегуючими функціями (COUNT, MAX, MIN, SUM, AVG) та відсіюванням груп (HAVING). Прості під-запити. Застосування EXIST, IN, NOT IN, ANY, ALL. Впорядкування результатів через ORDER BY. Оперування множинами UNION, INTERSECT, MINUS/EXCEPT. SQL: Запити DML зміни даних (INSERT, UPDATE, DELETE) із під-запитами. Розгортання даних: стандартний підхід (GROUP BY + CASE WHEN) та підхід Transact-SQL (простий варіант оператора PIVOT). Transact-SQL: Програмовані об’єкти БД: змінні, пакети, керування потоком виконання (галуження, цикл), курсори, тимчасові таблиці (локальні, глобальні, табличні змінні, табличні типи). Запуск на виконання через EXEC та sp_executesql. Розгортання даних оператором PIVOT із застосуванням програмованих об’єктів. Transact-SQL: Процедури та функції. Transact-SQL: Тригери. Тригери DML та DDL. AFTER та INSTEAD тригери у MS SQL Server. Типи тригерів у СУБД Oracle (по-записні тригери, тригери рівня таблиць, BEFORE та AFTER). Елементи адміністрування БД: користувачі, привілеї та ролі. SQL: Корельовані під-запити. Приклади написання складніших запитів SQL для формування звітів та надання відповідей на комплексні питання. Табличні вирази у MS SQL Server: похідні таблиці (вкладені табличні запити), узагальнені табличні вирази (WITH), представлення, вбудовані функції з табличними значеннями. Віконні функції (OVER). Множинні набори групування (GROUPING SETS, CUBE, ROLLUP). Недоліки реляційної моделі. NoSQL. Агреговані моделі даних. NoSQL: Неагрегатні моделі. Моделі розподілення. NoSQL: Узгодженість. Штампи версій. NoSQL: Відображення-згортка – основи шаблону «map-reduce». Перехід від даних до знань та концепція бази знань. Експертні системи, онтології та системи побудовані на правилах. Семантичні мережі. Системи керування вмістом (контентом). OLTP та OLAP системи.
Методи та критерії оцінювання: Поточний контроль: - лабораторні роботи (30%), - виконання проекту (5%), - 2 контрольні роботи у ВНС (10%). Екзаменаційний контроль: - іспит у письмовій формі (55%).
Критерії оцінювання результатів навчання: Лабораторні роботи – 30 балів Завершене виконання проекту – 5 балів Контрольна робота у ВНС – 10 балів Екзаменаційний контроль (ЕК) – 55 балів РАЗОМ – 100 балів
Порядок та критерії виставляння балів та оцінок: 100–88 балів – («відмінно») виставляється за високий рівень знань (допускаються деякі неточності) навчального матеріалу компонента, що міститься в основних і додаткових рекомендованих літературних джерелах, вміння аналізувати явища, які вивчаються, у їхньому взаємозв’язку і роз витку, чітко, лаконічно, логічно, послідовно відповідати на поставлені запитання, вміння застосовувати теоретичні положення під час розв’язання практичних задач; 87–71 бал – («добре») виставляється за загалом правильне розуміння навчального матеріалу компонента, включаючи розрахунки , аргументовані відповіді на поставлені запитання, які, однак, містять певні (неістотні) недоліки, за вміння застосовувати теоретичні положення під час розв’язання практичних задач; 70 – 50 балів – («задовільно») виставляється за слабкі знання навчального матеріалу компонента, неточні або мало аргументовані відповіді, з порушенням послідовності викладення, за слабке застосування теоретичних положень під час розв’язання практичних задач; 49–26 балів – («не атестований» з можливістю повторного складання семестрового контролю) виставляється за незнання значної частини навчального матеріалу компонента, істотні помилки у відповідях на запитання, невміння застосувати теоретичні положення під час розв’язання практичних задач; 25–00 балів – («незадовільно» з обов’язковим повторним вивченням) виставляється за незнання значної частини навчального матеріалу компонента, істотні помилки у відповідях на запитання, невміння орієнтуватися під час розв’язання практичних задач, незнання основних фундаментальних положень.
Рекомендована література: Базова: 1. C. J. Date. An Introduction to Database Systems, 8th edition. – Pearson/Addison-Wesley, 2006. 2. I. Ben-Gan. Microsoft SQL Server 2012 T-SQL Fundamentals. – O’Reilly, 2012. 3. T. Kyte. Oracle for Professionals. — Pearson/Wrox, 2002. 4. P. J. Sadalage, M. Fowler. NoSQL Distilled: А Brief Guide to the Emerging World of Polyglot Persistence. – Addison-Wesley, 2013. Допоміжна: 1. Hasso Plattner, Alexander Zeier. In-Memory Data Management: Technology and Applications, 2nd edition. – Springer, 2012. 2. Gaurav Vaish. Getting Started with NoSQL. – Packt Publishing, 2013. 3. W. H. Inmon. Building the Data Warehouse, 3rd edition. – John Wiley & Sons, Inc., New York, 2002.
Уніфікований додаток: Національний університет «Львівська політехніка» забезпечує реалізацію права осіб з інвалідністю на здобуття вищої освіти. Інклюзивні освітні послуги надає Служба доступності до можливостей навчання «Без обмежень», метою діяльності якої є забезпечення постійного індивідуального супроводу навчального процесу студентів з інвалідністю та хронічними захворюваннями. Важливим інструментом імплементації інклюзивної освітньої політики в Університеті є Програма підвищення кваліфікації науково-педагогічних працівників та навчально-допоміжного персоналу у сфері соціальної інклюзії та інклюзивної освіти. Звертатися за адресою: вул. Карпінського, 2/4, І-й н.к., кімн. 112 E-mail: nolimits@lpnu.ua Websites: https://lpnu.ua/nolimits https://lpnu.ua/integration
Академічна доброчесність: Політика щодо академічної доброчесності учасників освітнього процесу формується на основі дотримання принципів академічної доброчесності з урахуванням норм «Положення про академічну доброчесність у Національному університеті «Львівська політехніка» (затверджене вченою радою університету від 20.06.2017 р., протокол № 35).