Від списку до розумної системи даних
Уявіть бібліотеку з 20 000 книжок. Як знайти потрібну за кілька секунд, перевірити, чи вона доступна, і не переплутати двох авторів з однаковим прізвищем? Для таких завдань використовують бази даних та системи керування ними.
1. Що таке дані та база даних?
Дані це зафіксовані відомості: назва книги, ціна товару, дата замовлення, номер квитка. База даних (БД) це організована сукупність пов’язаних даних, призначена для зберігання, пошуку й опрацювання.
У списку книжок можуть бути назви та автори. У базі даних до них можна додати унікальні номери, рік видання, статус видачі та зв’язок із читачами. Дані можна швидко знайти й оновити, не переписуючи весь список.
Товари, покупці, замовлення, оплати, залишки на складі.
Учні, предмети, уроки, оцінки, відвідування.
Пацієнти, записи на прийом, лікарі, результати обстежень. Доступ має бути захищений.
2. Що таке СКБД?
Система керування базами даних (СКБД) це програмне забезпечення для створення, зберігання, зміни, пошуку та захисту даних у базі. База даних містить дані, а СКБД забезпечує роботу з ними.
Приклади СКБД: Microsoft Access, SQLite, PostgreSQL, MySQL, MariaDB. Вони відрізняються можливостями та сценаріями використання.
Основні функції СКБД
- Додавання, перегляд, редагування та видалення записів (CRUD).
- Пошук, фільтрація, сортування й формування запитів.
- Контроль цілісності даних, наприклад унікальності ідентифікаторів.
- Керування доступом, одночасною роботою користувачів і резервним копіюванням.
3. Як побудована таблиця бази даних?
| book_id | Назва | Автор | Рік | Доступна |
|---|---|---|---|---|
| 101 | Тигролови | Іван Багряний | 1944 | Так |
| 102 | Місто | Валер'ян Підмогильний | 1928 | Ні |
Таблиця зберігає однотипні об’єкти. Поле це стовпець, який описує властивість об’єкта, наприклад «Рік». Запис це рядок із даними про один об’єкт. Тип даних визначає, що можна записати в поле: число, текст, дата, логічне значення.
Первинний ключ однозначно визначає запис. Назва книжки може повторюватися, а book_id повинен бути унікальним. Ключ допомагає уникнути плутанини.
4. Чому однієї великої таблиці часто недостатньо?
Уявімо таблицю замовлень, де для кожної покупки повторюються ім’я покупця, телефон і адреса. Якщо телефон змінився, його доведеться виправляти в багатьох рядках. Помилка в одному рядку створить суперечливі дані.
Зручніше розділити дані на таблиці Клієнти, Замовлення, Товари та Позиції замовлення. Замовлення містить посилання на клієнта через його ідентифікатор. Такі посилання називають зовнішніми ключами.
customer_id = 7, але контактні дані клієнта зберігаються в одному місці.5. База даних і електронна таблиця: у чому різниця?
Excel і Google Таблиці зручні для обчислень, невеликих списків і діаграм. СКБД особливо корисні, коли даних багато, вони пов’язані між собою, їх змінюють кілька користувачів, а також важливі контроль цілісності та права доступу. Водночас таблиці можуть бути джерелом даних для бази, а СКБД можуть експортувати результати в таблиці.
Звичайна HTML-таблиця сама по собі не є СКБД. У наших лабораторіях ми моделюємо принципи її роботи в браузері.
6. Запити: як отримати саме потрібні дані?
Запит визначає, які дані потрібно отримати або змінити. Наприклад, знайти всі доступні книги після 2000 року, впорядковані за назвою. У багатьох реляційних СКБД використовують мову SQL.
SELECT title FROM books WHERE year > 2000 ORDER BY title;Це приклад запиту, а не вимога знати SQL напам’ять на сьогоднішньому уроці.
Важливо відрізняти пошук за словом, фільтрацію за умовою та сортування за порядком.
Перевір себе
Обери відповіді. Після перевірки побачиш пояснення. Оцінки й бали не виставляються.
Далі: практичні лабораторії
Спочатку попрацюй із бібліотекою, потім спроєктуй зв’язки таблиць інтернет-магазину. Наприкінці виконай домашнє завдання і збережи PDF для HUMAN.