ЛЕКЦІЯ 1

Огляд курсу, знайомство, мотивація вивчення баз даних

Основи баз даних 2025

VTFK • 2025

Структура навчального курсу

  • Модуль 1: Вступ та основи (Поточний)
  • Модуль 2: SQL запити та фільтрація
  • Модуль 3: Робота з датами та JOIN
  • Модуль 4: Розширені можливості

Мета та завдання дисципліни

  • Формування розуміння ролі БД в інформаційних системах.
  • Вивчення принципів концептуального моделювання.
  • Опанування мови SQL для маніпулювання даними.
  • Набуття навичок проектування та нормалізації баз даних.

Проблематика зберігання даних

До появи СКБД використовувались файлові системи.

Недоліки файлового підходу:

• Надлишковість даних (дублювання інформації).

• Складність доступу та пошуку.

• Проблеми цілісності та узгодженості.

• Атомарність операцій (складність реалізації транзакцій).

Базове визначення: База Даних

База Даних (Database)

Пойменована сукупність структурованих даних, що відображає стан об'єктів та їхніх зв'язків у визначеній предметній області.

Аналогія: Приклад предметної області: Система обліку студентів магічного коледжу (сутності: Студенти, Факультети, Курси).

Базове визначення: СКБД

Система Керування Базами Даних (DBMS)

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

Аналогія: Приклади СКБД: PostgreSQL, MySQL, SQLite, Oracle, MongoDB.

Архітектура взаємодії

Рівні абстракції в базах даних

%%{init: {"theme": "neutral", "mermaid": {"version": "11.12.2"}}}%% graph TD User[Користувач / Додаток] -- SQL Запит --> DBMS[СКБД Engine] DBMS -- Операції читання/запису --> DB[(Фізична База Даних)] subgraph System[Інформаційна Система] User DBMS DB end

Порівняння: Файлова система vs СКБД

Характеристика Файлова система СКБД
Структура Залежить від формату файлу Строго визначена моделлю
Надлишковість Висока Контрольована (мінімальна)
Доступ Послідовний/Прямий (складний) Мова запитів (SQL)
Безпека На рівні ОС Гранулярна (на рівні полів)

Основні функції СКБД

  • Визначення даних (Data Definition): Опис структури таблиць, типів даних.
  • Маніпулювання даними (Data Manipulation): Вставка, оновлення, видалення, вибірка.
  • Керування даними (Data Control): Контроль доступу, забезпечення цілісності, керування транзакціями.

Еволюція моделей даних

1960s

Жорстка структура, складність навігації (IMS, IDMS).

1970

Дані як таблиці, математична основа.

1980s

Стандартизація мови запитів.

2000s

Гнучкі схеми для Big Data (Key-Value, Document).

Приклад декларативності SQL

-- Ми описуємо РЕЗУЛЬТАТ, а не алгоритм його отримання SELECT first_name, last_name FROM wizards WHERE house_id = 1;
SELECT — вибір потрібних колонок
FROM — таблиця, з якої читаємо
WHERE — умова фільтрування
SELECT — вибір потрібних колонок
FROM — таблиця, з якої читаємо
WHERE — умова фільтрування
SELECT — вибір потрібних колонок
FROM — таблиця, з якої читаємо
WHERE — умова фільтрування

Типова помилка розуміння

⚠️ ЗАСТЕРЕЖЕННЯ

Ототожнення понять 'База Даних' та 'СКБД'

❌ Неправильно

База даних = СКБД
Вони це одне і те саме

Це невірно! БД і СКБД — це різні поняття

✓ Правильно

База даних (БД) = самі дані (пасивний елемент)
СКБД = програмне забезпечення (активний елемент)

Файл 'hogwarts.db' — це БД. Програма 'sqlite3' — це СКБД.

Контрольне запитання

Яка функція НЕ належить до основних функцій СКБД?

Технічне забезпечення курсу

Для виконання лабораторних робіт використовуватиметься сучасний стек технологій:

1. GitHub Codespaces — Хмарне середовище розробки (IDE)

2. SQLite — Вбудована реляційна база даних

3. Термінал (Bash) — Для керування середовищем та запуску утиліт

Це забезпечує уніфікацію робочого місця для всіх студентів

Перевірка робочого середовища

Базові команди терміналу для початку роботи

# Перевірка версії встановленої СКБД
sqlite3 --version

# Створення порожньої бази даних
sqlite3 test_db.sqlite

Примітка: Переконайтеся, що SQLite встановлено у вашому середовищі

Висновки лекції

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

Далі перейдемо до практичного вивчення SQL та реляційних структур

Завдання для самостійної роботи

Наступна лекція:

Лекція 2: Реляційна модель та типи даних

📚 Корисні ресурси:

📚 Корисні ресурси:

Дякую за увагу! 💾

← Повернутися до списку лекцій