Урок:

Створення зв'язків між таблицями. Обмеження цілісності даних.

05.11.2026
0 0
9 Клас

12

10

20

0

0

0

Залучено ШІ
При створенні цього матеріалу був залучений штучний інтелект.
Тільки для моїх підписників
Опис уроку (учням цей опис не показується):

«Невидимий щит бази даних: Створення зв'язків між таблицями на схемі бази даних та обмеження цілісності»

  • Освітня мета: з'ясувати причини виникнення даних-«привидів» та аномалій у базах даних; опанувати дворівневу концепцію захисту інформації; навчитися конструювати математичні правила перевірки для окремих полів та налаштовувати міжтабличні зв'язки типу 1:∞ із забезпеченням цілісності на схемі даних.

  • Розвивальна мета: розвивати логічне мислення, вміння моделювати інформаційні зв'язки між сутностями реального світу та аналізувати реакцію СКБД на помилкові дії оператора.

  • Очікувані результати: учень/учениця пояснює поняття обмеження цілісності; формулює правила перевірки для окремих полів (за допомогою операторів порівняння та діапазонів); пояснює різницю між зв'язком із забезпеченням цілісності та без нього; прогнозує поведінку СКБД під час спроби видалення зв'язаних записів.

Джерела використаної інформації: розкрити закрити
підручник «Інформатика. 9 клас» О. В. Коршунової, І. О. Завадського
notebookLM
Вміст уроку:
1
2
3
4
5
6
7
8
9
10
11
12

Урок не містить жодного завдання. Додайте завдання.

Щоб додати завдання, оберіть категорію завдання на панелі запитань.

1

1100uz9a-4f32-940x525.png

На попередніх заняттях ми з'ясували, що для уникнення надлишковості інформацію про міський транспорт слід розділити на дві самостійні таблиці:

  • Кожна таблиця має свій Первинний ключ (Primary Key), який гарантує стовідсоткову унікальність кожного запису (правило Not Null).

  • У таблиці «Маршрути» ключем є Номер, а в таблиці «Автобуси» — Номерний знак.

  • У таблицю «Автобуси» додано додаткове поле Маршрут.

> ❓ Проблемне питання: Якщо кожна таблиця має унікальний ключ, чи означає це, що система працюватиме ідеально і захищена від будь-яких збоїв? Поміркуймо!

2

1100uz9j-72f4-940x525.png

Уявіть, що оператор автопарку під час внесення відомостей про новий автобус припустився механічних помилок

Що відбувається, якщо базу не захищено?

  1. Система безперешкодно зберігає ці записи! Комп'ютер не знає, що ми живемо не у ХХІІ столітті, і число 2100 для нього — звичайне число.

  2. Маршрут № 99 взагалі відсутній у міському довіднику (там є лише маршрути № 1, 9, 11, 12). Куди поїде цей автобус? Пасажири марно чекатимуть на зупинках, розклад буде зірвано.

  3. У системі з'явилися дані-«привиди» — записи, які посилаються на об'єкти, яких не існує в реальному світі. Робота підприємства опиняється під загрозою паралічу через елементарну неуважність людини.

3

1100uzbi-8c4f-940x525.png

Щоб позбутися людського фактора, інженери баз даних створюють спеціальні бар'єри.

> Обмеження цілісності — це обов'язкове правило, якому мають відповідати дані в базі, щоб не суперечити одне одному та предметній області (тобто бути несуперечливими й достовірними).

  • Принцип роботи: СКБД працює як автоматичний митний контроль. Якщо людина помиляється, комп'ютер фізично блокує запис у пам'ять, зберігаючи цілісність усієї системи.

4

1100uzcn-e060-940x525.png

В архітектурі надійних реляційних баз даних захист будується на двох незалежних рівнях:

Рівень безпеки

Назва та призначення

Що саме контролює?

Рівень 1 🔬

Локальний захист (Правила перевірки полів — Validation Rule)

Діапазони значень, формати дат, додатність чисел у межах однієї клітинки або таблиці.

Рівень 2 🌉

Глобальний захист (Зв'язки між таблицями — Referential Integrity)

Узгодженість ключів: забороняє посилатися на неіснуючі об'єкти сусідніх таблиць (маршрути, класи, категорії).

5

1100uzdp-1f59-940x525.png

Локальні обмеження налаштовуються в режимі Конструктора таблиці на вкладці «Властивості поля» у рядку «Правило перевірки» (Validation Rule)

  • Математика правил: СКБД оцінює введене значення через формулу. Якщо логічний вираз повертає False, значення не потрапляє до таблиці.

  • Базові приклади правил (§ 8 підручника):

  • > 0 — кількість зупинок або довжина маршруту повинні бути строго додатними числами.

  • Between 2000 And 2026 — рік випуску автобуса має належати чіткому діапазону від 2000 року до поточного.

  • Between 1 And 500 — номер міського маршруту повинен бути в межах від 1 до 500.

6

1100uzf3-417a-940x525.png

Що побачить користувач, якщо спробує ввести рік випуску 2041?

  • Текст перевірки (Validation Text): Це текстове повідомлення-підказка, яку творець бази даних заздалегідь прописує у властивостях поля.

  • Замість аварійного збою програми оператор бачить чітку інструкцію, що саме зроблено не так. Помилка не вийде за межі поточної клітинки!

  • (Підказка з підручника: щоб миттєво скасувати помилково введене значення й повернути все назад, достатньо натиснути клавішу Esc ).

7

1100uzfh-318f-940x525.png

Уявіть ситуацію: ми налаштували правило перевірки для номера маршруту: Between 1 And 500. Оператор вводить у картку автобуса маршрут № 99.

  • Число 99 потрапляє в діапазон від 1 до 500? Так, умова істинна!

  • Локальний захист Рівня 1 без проблем пропустить це число.

> ⚠️ Але виникає глухий кут: Маршруту № 99 немає на підприємстві! Внутрішнє правило одного поля не здатне зазирнути в іншу таблицю. Щоб комп'ютер побачив логічну суперечність, нам потрібен інформаційний міст між таблицями.

8

1100uzfy-c97e-940x525.png

Щоб з'єднати дві таблиці, ми будуємо зв'язок «Один-до-багатьох»

  • Сторона «Один» (1): Завжди опирається на Первинний ключ (PK) головної таблиці. Кожен маршрут у довіднику записано лише один раз.

  • Сторона «Багато» (∞): Це Зовнішній ключ (FK) у підлеглій таблиці — додатковий стовпець, куди записуються номери маршрутів. Оскільки за одним маршрутом курсують десятки автобусів, значення тут можуть повторюватися.

9

1100uzge-21d2-940x525.png

Як поєднати таблиці в середовищі Microsoft Access:

  1. На стрічці меню відкриваємо вкладку «Знаряддя бази даних» і натискаємо кнопку «Зв'язки».

  2. З панелі об'єктів перетягуємо на робоче поле схеми обидві таблиці: «Маршрути» та «Автобуси».

  3. ГОЛОВНЕ ПРАВИЛО ПРОЄКТУВАННЯ: Затискаємо ліву кнопку миші на ключі Номер таблиці «Маршрути» і тягнемо лінію зв'язку ДО поля Маршрут у таблиці «Автобуси»! (Завжди тягнемо ВІД первинного ключа головної таблиці ДО зовнішнього ключа підлеглої ).

1100uzgl-ee5f-940x525.png

Коли ви відпустите мишку, відкриється діалогове вікно «Редагування зв'язків»

  • ❌ Без цієї галочки: Зв'язок — це просто декоративна графічна нитка. СКБД нічого не захищатиме, і в поле можна буде ввести будь-яке число.

  • 🟢 З цією галочкою: Зв'язок стає залізобетонним законом! СКБД активує глобальний алгоритм, який фізично забороняє записувати в таблицю «Автобуси» будь-які маршрути, яких немає в таблиці «Маршрути».

10

1100uzhp-d158-940x525.png

Як архітектор бази даних перевіряє, чи правильно налаштовано захист? Достатньо поглянути на лінію зв'язку на схемі даних!

💡 Секрет значків «1» та «∞»: СКБД сама аналізує структуру зв'язаних полів. Символи 1 та ∞ з'являються біля лінії зв'язку **тільки тоді, коли встановлено прапорець «Забезпечення цілісності даних»**. Якщо їх немає — система вразлива!

1100uzhs-5faa-940x525.png

Увімкнене забезпечення цілісності працює в обох напрямках. Що станеться, якщо диспетчер вирішить видалити запис про Маршрут № 9 із таблиці «Маршрути», тоді як за ним закріплені автобуси?

  • Загроза записів-«сиріт»: Якби комп'ютер дозволив видалити маршрут, автобуси стали б «сиротами» — вони курсували б маршрутом, якого більше не існує в базі даних.

  • Захист: Механізм забезпечення цілісності миттєво блокує видалення і виводить заборонне повідомлення. Базу захищено від руйнування!

11

12 з 12 балів

Дайте відповідь по кожному з блоків у полі вводу внизу.

1100uzj6-1a38-940x525.png

12

1100uzjr-40ea-940x525.png

Головний висновок: Надійна база даних — це не просто місце для збереження інформації. Це автономна система жорстких законів, яка здатна надійно захистити себе від людських помилок. Повний невидимий щит активовано!

Рефлексія від 1 учня

Сподобався:

0

Так: 1

Ні: 0

Зрозумілий:

0

Так: 1

Ні: 0

Потрібні роз'яснення:

0

Ні: 1

Так: 0

Рекомендуємо

Консолідація даних. Зведені таблиці. Практична робота 1. Створення зведеної таблиці.

Консолідація даних. Зведені таблиці. Практична робота 1. Створення зведеної таблиці.

497

Аватар профіля Андрієнко Мар`ян Андрійович
Інформатика
10 клас

25 грн

Створення й уведення структури таблиць. Поняття таблиці, поля, запису. Створення таблиць, означення полів і ключів у середовищі СКБД. Властивості полів, типи даних.

Створення й уведення структури таблиць. Поняття таблиці, поля, запису. Створення таблиць, означення полів і ключів у середовищі СКБД. Властивості полів, типи даних.

350

Аватар профіля Андрієнко Мар`ян Андрійович
Інформатика
11 клас

25 грн

Створення й уведення структури таблиць. Поняття таблиці, поля, запису. Створення таблиць, означення полів і ключів у середовищі СКБД. Властивості полів, типи даних.

Створення й уведення структури таблиць. Поняття таблиці, поля, запису. Створення таблиць, означення полів і ключів у середовищі СКБД. Властивості полів, типи даних.

446

Аватар профіля Андрієнко Мар`ян Андрійович
Інформатика
11 клас

25 грн

Поняття бази даних та системи керування базами даних. Ключі і зовнішні ключі. Зв'язки між записами в таблиці

Поняття бази даних та системи керування базами даних. Ключі і зовнішні ключі. Зв'язки між записами в таблиці

215

Аватар профіля Бєлова Тетяна Іванівна
Інформатика
10 клас та I курс

40 грн

Аналіз даних в Google Таблицях

Аналіз даних в Google Таблицях

225

Аватар профіля Андрієнко Мар`ян Андрійович
Інформатика
10 клас

25 грн

Практична робота "Створення бази даних. Фільтрування даних"

 Практична робота "Створення бази даних. Фільтрування даних"

405

Аватар профіля Киреєва Оксана Анатоліївна
Інформатика
10 клас

50 грн

Схожі уроки

Впорядкування, пошук і фільтрування даних.

Впорядкування, пошук і фільтрування даних.

1366

Аватар профіля Вожга Ірина Леонідівна
Інформатика
9 клас

Створення й уведення структури таблиць. Поняття таблиці, поля, запису. Створення таблиць, означення полів і ключів у середовищі СКБД. Властивості полів, типи даних.

Створення й уведення структури таблиць. Поняття таблиці, поля, запису. Створення таблиць, означення полів і ключів у середовищі СКБД. Властивості полів, типи даних.

1223

Аватар профіля Савка-Ржематорська Оксана Василівна
Інформатика
9 клас

Цикли з передумовою у вкладених циклах

Цикли з передумовою у вкладених циклах

1419

Аватар профіля Вожга Ірина Леонідівна
Інформатика
6 клас

Налаштування часових параметрів аудіо- та відеоряду.

Налаштування часових параметрів аудіо- та відеоряду.

550

Аватар профіля Солодовнікова Катерина Олексіївна
Інформатика
8 клас

Елемент керування «кнопка». Поняття об’єкту та його властивостей і методів (на прикладі елементів екранної форми). Властивості і методи елементів керування.

Елемент керування «кнопка». Поняття об’єкту та його властивостей і методів (на прикладі елементів екранної форми). Властивості і методи елементів керування.

710

Аватар профіля Пилипенко Олена Володимирівна
Інформатика
8 клас

Елемент керування кнопка

Елемент керування кнопка

351

Аватар профіля Пилипенко Олена Володимирівна
Інформатика
8 клас
✖
↑