1 of 18

Ключі й зовнішні ключі. Зв’язки між записами і таблицями

За навчальною програмою 2018 року

Урок 20

10

2 of 18

Ключі й зовнішні ключі

Розділ 3 § 3.2

У реляційній моделі даних передбачено обов'язкову вимогу ідентифікації об'єктів за рахунок унікальності набору значень властивостей.

10

3 of 18

Ключі й зовнішні ключі

Розділ 3 § 3.2

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

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

місто

вулиця

будинок

10

4 of 18

Ключі й зовнішні ключі

Розділ 3 § 3.2

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

10

5 of 18

Ключі й зовнішні ключі

Розділ 3 § 3.2

У таких випадках потрібно додатково вводити ще одне поле, значення в якому не будуть повторюватися в жодному із записів (рядків) таблиці. Таким полем може бути номер запису.

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

10

6 of 18

Ключі й зовнішні ключі

Розділ 3 § 3.2

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

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

10

7 of 18

Зв'язки в реляційних базах даних

Розділ 3 § 3.2

Щоб усунути дублювання даних, пришвидшити їх опрацювання, між таблицями реляційної бази даних, як правило, установлюють зв'язки.

Наприклад, у базі даних магазину з продажу комп'ютерних товарів можуть бути окремі таблиці по виду товару:

монітори

принтери

процесори

сканери тощо

По виробниках продукції, постачальниках тощо.

Samsung

Apple

Asus

Intel тощо

10

8 of 18

Зв'язки в реляційних базах даних

Розділ 3 § 3.2

Дані в таблицях потрібно узгодити, для чого і використовують зв'язки між таблицями.

За множинністю виділяють такі типи зв'язків:

один до одного

один до багатьох

багато до одного

багато до багатьох

позначають 1:1

позначають 1: або 1:М

позначають ∞:1 або М:1

позначають ∞:∞ або М:М

10

9 of 18

Зв'язки в реляційних базах даних

Розділ 3 § 3.2

  • Один до одного (позначають 1:1), коли одному екземпляру однієї множини відповідає один екземпляр іншої множини. Наприклад, під час виготовлення кожен автомобіль отримує свій номер (номер кузова). Кожному автомобілю відповідає тільки один номер;

Код

Прізвище

Ім'я

1

Іванов

Кузьма

2

Петров

Василь

Код

Рік народження

Адреса

1

1992

Шевченка, б.20, кв. 6

2

1993

Франка вул., б. 30, кв. 18

1

1

10

10 of 18

Зв'язки в реляційних базах даних

Розділ 3 § 3.2

  • Один до багатьох (позначають як 1: або 1:М, де М — від англ. Many — багато), коли одному екземпляру однієї множини може відповідати кілька екземплярів іншої множини. Наприклад, один учитель інформатики навчає багатьох учнів (одного або кількох класів) і при цьому немає інших учителів інформатики, які здійснюють навчання тих самих учнів;

Код

Назва

1

Монітор

2

Вінчестер

Код

Код товару

Ціна

123

1

2 999

345

1

2 499

1

товари

прайс-лист

10

11 of 18

Зв'язки в реляційних базах даних

Розділ 3 § 3.2

  • Багато до одного (позначають ∞:1 або М:1), коли кільком екземплярам однієї множини відповідає один екземпляр іншої множини. Цей тип зв'язку є протилежним до зв'язку один до багатьох. Наприклад, багато учнів входять до складу тільки одного класу (і тільки до нього) і, навпаки, тільки в певному (одному) класі навчається багато учнів;

Код

Прізвище

1

Іванов

2

Петров

Код

Назва

1

Історія

2

Географія

3

Біологія

Код

Код вчителя

Код предмету

Клас

1

1

1

9-А

2

1

2

8-Б

3

2

3

7-В

розклад

1

1

10

12 of 18

Зв'язки в реляційних базах даних

Розділ 3 § 3.2

  • Багато до багатьох (позначають ∞:∞ або М:М), коли кільком екземплярам однієї множини можуть відповідати кілька екземплярів іншої множини. Наприклад, множина учнів класу (багато) можуть отримувати різні (багато) оцінки, що будуть визначати рівень їх навчальних досягнень з інформатики.

Код

Прізвище

1

Іванов

2

Петров

Код

Назва

1

Історія

2

Географія

3

Біологія

вчителі

предмети

10

13 of 18

Для тих, хто хоче знати більше

Розділ 3 § 3.2

Зв'язки між таблицями бази даних класифікують також за повнотою. За цією класифікацією виділяють зв'язки, у яких:

  • кожний екземпляр однієї множини обов'язково пов'язаний з одним чи кількома екземплярами іншої множини.

Наприклад, зв'язок між множиною класів і множиною учнів передбачає, що;

кожен учень

належить до певного класу

кожний клас складається з певної кількості учнів

і

10

14 of 18

Для тих, хто хоче знати більше

Розділ 3 § 3.2

(Продовження…) Класифікація баз даних за повнотою:

  • кожний екземпляр однієї множини не обов'язково пов'язаний хоча б з одним екземпляром іншої множини.

Наприклад, між множинами учнів і множиною годинників може бути встановлено зв'язок, який передбачає:

Що не кожен учень має власний годинник.

10

15 of 18

Дайте відповіді на запитання

Розділ 3 § 3.2

  1. Що таке ключове поле? Які вимоги до ключового поля?
  1. Які види ключів використовують в реляціиніи базі даних? Чим вони відрізняються?
  1. Які типи зв'язків можна установити між об'єктами таблиць у реляційній базі даних?
  1. Які особливості зв'язку один до одного між об'єктами таблиць у реляційній базі даних?
  1. Які особливості зв'язку один до багатьох між об'єктами таблиць у реляційній базі даних?

10

16 of 18

Домашнє завдання

Проаналізувати

§ 3.2, ст. 84-86

Розділ 3 § 3.2

10

17 of 18

Працюємо за комп’ютером

Розділ 3 § 3.2

Сторінка

85

10

18 of 18

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

За навчальною програмою 2018 року

Урок 20

10