Database Lab / 10 клас

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

Від списку до розумної системи даних

Уявіть бібліотеку з 20 000 книжок. Як знайти потрібну за кілька секунд, перевірити, чи вона доступна, і не переплутати двох авторів з однаковим прізвищем? Для таких завдань використовують бази даних та системи керування ними.

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

1. Що таке дані та база даних?

Дані це зафіксовані відомості: назва книги, ціна товару, дата замовлення, номер квитка. База даних (БД) це організована сукупність пов’язаних даних, призначена для зберігання, пошуку й опрацювання.

У списку книжок можуть бути назви та автори. У базі даних до них можна додати унікальні номери, рік видання, статус видачі та зв’язок із читачами. Дані можна швидко знайти й оновити, не переписуючи весь список.

Інтернет-магазин

Товари, покупці, замовлення, оплати, залишки на складі.

Електронний журнал

Учні, предмети, уроки, оцінки, відвідування.

Медичний заклад

Пацієнти, записи на прийом, лікарі, результати обстежень. Доступ має бути захищений.

2. Що таке СКБД?

Система керування базами даних (СКБД) це програмне забезпечення для створення, зберігання, зміни, пошуку та захисту даних у базі. База даних містить дані, а СКБД забезпечує роботу з ними.

Приклади СКБД: Microsoft Access, SQLite, PostgreSQL, MySQL, MariaDB. Вони відрізняються можливостями та сценаріями використання.

Аналогія: база даних це впорядкований архів, а СКБД це система, яка допомагає знаходити, додавати й змінювати документи та визначає права доступу.

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

3. Як побудована таблиця бази даних?

book_idНазваАвторРікДоступна
101ТигроловиІван Багряний1944Так
102МістоВалер'ян Підмогильний1928Ні

Таблиця зберігає однотипні об’єкти. Поле це стовпець, який описує властивість об’єкта, наприклад «Рік». Запис це рядок із даними про один об’єкт. Тип даних визначає, що можна записати в поле: число, текст, дата, логічне значення.

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

4. Чому однієї великої таблиці часто недостатньо?

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

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

Приклад: клієнт №7 може мати замовлення №201 і №202. Обидва замовлення містять customer_id = 7, але контактні дані клієнта зберігаються в одному місці.

5. База даних і електронна таблиця: у чому різниця?

Excel і Google Таблиці зручні для обчислень, невеликих списків і діаграм. СКБД особливо корисні, коли даних багато, вони пов’язані між собою, їх змінюють кілька користувачів, а також важливі контроль цілісності та права доступу. Водночас таблиці можуть бути джерелом даних для бази, а СКБД можуть експортувати результати в таблиці.

Звичайна HTML-таблиця сама по собі не є СКБД. У наших лабораторіях ми моделюємо принципи її роботи в браузері.

6. Запити: як отримати саме потрібні дані?

Запит визначає, які дані потрібно отримати або змінити. Наприклад, знайти всі доступні книги після 2000 року, впорядковані за назвою. У багатьох реляційних СКБД використовують мову SQL.

SELECT title FROM books WHERE year > 2000 ORDER BY title;

Це приклад запиту, а не вимога знати SQL напам’ять на сьогоднішньому уроці.

Важливо відрізняти пошук за словом, фільтрацію за умовою та сортування за порядком.

Перевір себе

Обери відповіді. Після перевірки побачиш пояснення. Оцінки й бали не виставляються.

Далі: практичні лабораторії

Спочатку попрацюй із бібліотекою, потім спроєктуй зв’язки таблиць інтернет-магазину. Наприкінці виконай домашнє завдання і збережи PDF для HUMAN.