Відкритий міжнародний університет розвитку людини «УКРАЇНА»
Перемикач режиму перегляду сайту
Збільшений розмір шрифту Великий розмір шрифту Нормальний розмір шрифту
Чорно-білий В сірих відтінках Синьо-голубий
Нормальний режим
+38-067-406-53-92
Приймальна комісія
відділ оргроботи
+38-067-503-64-52
+38-067-328-28-22
Viber відділу обліку
+38-067-500-68-36
Київ, вул. Львівська, 23 office@uu.ua

Дисципліна: Об'єктно-орієнтовані та NoSQL бази даних

Кількість годин (кредитів ЄКТС): 180 (6)

 

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

 

Результати навчання за навчальною дисципліною:

знати:

-        теоретичні основи побудови інформаційних систем і баз даних;

-        інструментальні засоби аналізу й проектування моделей даних;

-        теоретичні основи реляційної моделі даних, побудову моделей даних;

-        реалізацію бази даних в одній-двох СУБД;

 

вміти:

  • провести аналіз предметної області для побудови бази даних;
  • проектувати логічні моделі даних;
  • користуватися інструментальними засобами для аналізу і проектування;
  • реалізувати розробку бази даних в середовищі одних-двох СУБД.

 

Зміст дисципліни (тематика):

Тема 1. Основні логічні моделі баз даних

Ієрархічна модель баз даних. Основні елементи ієрархічної структури даних. Властивості та галузі застосування ієрархічних баз даних. Мережева модель баз даних. Основні атрибути мережевої структури даних. Властивості та галузі застосування мережевих баз даних. Вступ до реляційної моделі баз даних. Основні поняття та визначення реляційного підходу до організації баз даних. Властивості та галузі застосування реляційних баз даних. Постреляційні, XML та NoSQL бази даних. Зміна способів логічного подання даних. Проблема оптимального вибору логічної моделі бази даних. Неструктуровані та гібридні (комбіновані) бази даних.

Тема 2. Алгоритми, структури даних та бібліотеки, що застосовуються при розробці сучасних СУБД

Збереження даних у текстових та бінарних форматах. Класифікація методів пошуку. Послідовний пошук. Двійковий та інтерполяційний пошук. Пошук по бінарному дереву. Цифровий пошук. Індексування у базах даних. Функції хешування. Підходи до розв’язання колізій. Внутрішня адресація. Зовнішня адресація. Індекси на основі B-дерев, бітові індекси. Модифікація даних у багатокористувачевому середовищі. Організація клієнт-серверної взаємодії. Семантичний пошук у документоорієнтованих базах даних.

Тема 3. Бази даних на основі XML

Формат XML як уніфікований формат подання даних. Мова запитів XQuery, мова XPath. Використання операторів FLOWR. Індексування XML-файлів. Парсери на основі механізму SAX.

Тема 4. Бази даних типу “ключ-значення”

Архітектура та еволюція СУБД типу “ключ-значення”. Структури даних у СУБД: списки, множини, сортовані множини, хеші. Атомарні операції. Реплікація. Оптимізація та отримання максимальної швидкодії.

Тема 5. Елементи реляційної алгебри та реляційного числення

Алгебра та числення Кодда, їх основні та додаткові операції. Операція проекції. Операція об’єднання. Операція різниці. Декартів добуток. Операція селекції. Операція перетину. Операція з’єднання. Тета- і еквіз’єднання. Природнє з’єднання. Композиція. Зовнішнє з’єднання. Операція ділення. Розвиток теоретичного апарату реляційної алгебри та реляційного числення.

Тема 6. Нормалізація реляційних БД

Логічні зв’язки між реляційними таблицями. Типи логічних зв’язків. Ключі. Класифікація ключів. Категорія цілісності даних у базі даних. Проблема забезпечення цілісності. Аномалії у ненормалізованих базах даних. Нормалізація реляційної бази даних. Перша нормальна форма. Функціональні залежності. Друга нормальна форма. Нормальна форма Бойса-Кодда.

Тема 7. Реляційні системи управління базами даних

Моделі подання даних у базі даних. Узагальнена структура СУБД. Ієрархічні та мережеві СУБД. Вимоги до реляційних СУБД. Розподілені СУБД. Сучасні реляційні СУБД Oracle, MySQL. Функції лінгвістичних засобів СУБД. Класифікація мовних засобів СУБД. Підмови мов СУБД. Мови запитів. Уніфікація та стандартизація лінгвістичних засобів СУБД. Мова запитів SQL.

Тема 8. Елементи мови SQL

Структура запиту SELECT, його складові. Фільтрація, групування та комплексне злиття даних із різних таблиць. Вставка даних до таблиць за допомогою оператора INSERT. Вилучення групи даних за допомогою оператора DELETE. Модифікація даних із застосуванням оператора UPDATE. Операції перетину, об’єднання та отримання різниці між множинами записів, отриманих у результаті SELECT. Застосування вкладених запитів. Агрегатні функції мови SQL у вкладених запитах. Механізм розбору та виконання оператора SELECT. Приклади оптимізації запитів з’єднаних таблиць. Переваги та недоліки вкладених запитів SELECT.

Тема 9. СУБД Oracle

Об’єкти схеми Oracle. Призначення та їхні властивості. Структура програми, оператори та конструкції мови PL/SQL. Архітектура екземпляру бази даних Oracle. Поняття транзакції в СУБД Oracle. Правила виконання та відміни транзакцій. Визначення двокрокової транзакції. Множина операцій, для яких можливе виконання транзакцій. Механізм реалізації транзакції в СУБД Oracle. Адміністрування об’єктів бази даних Oracle. Резервування та відновлення бази даних Oracle.

Тема 10. Програмний інтерфейс до СУБД

Приклади бібліотечних засобів, які надають програмний інтерфейс до СУБД. Патерни проектування, що застосовуються при роботі з СУБД: сінглтон, фабрика класів, команда. Системи об'єктно-реляційного відображення на прикладі SQL Alchemy.

Тема 11. Централізовані та розподілені бази даних

Технологічні підходи до організації баз даних. Технологія клієнт-сервер. Розподілені бази даних. Фундаментальний принцип розподілених баз даних. Фрагментація в розподілених базах даних. Реплікація в розподілених базах даних. Оптимізація розподілу даних між локальними базами даних. Обробка розподілених запитів. Управління розподіленими транзакціями. Підтримка цілісності в розподілених базах даних.

 

Види робіт: лекційні заняття, практичні заняття, модульні контрольні роботи, самостійна робота.