Ключі й зовнішні ключі. Зв’язки між записами і таблицями
За навчальною програмою 2018 року
Урок 20
10
Ключі й зовнішні ключі
Розділ 3 § 3.2
У реляційній моделі даних передбачено обов'язкову вимогу ідентифікації об'єктів за рахунок унікальності набору значень властивостей.
10
Ключі й зовнішні ключі
Розділ 3 § 3.2
Для таблиці реляційної бази даних це означає, що значення хоча б в одному з полів не повинні повторюватися. Таке поле називають ключовим, або ключем таблиці. Ключові поля ще називають ідентифікаторами.
В окремих реалізаціях реляційних баз даних допускається ідентифікація об'єкта бази даних за набором значень кількох властивостей, тобто ключем буде набір даних з кількох полів, наприклад трьох полів:
місто
вулиця
будинок
10
Ключі й зовнішні ключі
Розділ 3 § 3.2
У таблиці бази даних, поданої на малюнку, жодне з полів не передбачає використання унікальних даних.
10
Ключі й зовнішні ключі
Розділ 3 § 3.2
У таких випадках потрібно додатково вводити ще одне поле, значення в якому не будуть повторюватися в жодному із записів (рядків) таблиці. Таким полем може бути номер запису.
Ключі, вимоги до яких описано вище, називаються первинними ключами. Первинний ключ — це одне або кілька полів (стовпців), комбінація значень яких однозначно визначає кожний запис у таблиці. Первинний ключ не допускає порожніх значень або значень, що повторюються.
10
Ключі й зовнішні ключі
Розділ 3 § 3.2
Крім первинних ключів, у реляційних базах даних вводиться поняття зовнішнього або вторинного ключа.
Зовнішній (вторинний) ключ — це одне або кілька полів (стовпців) у таблиці, що містять посилання на поле або поля первинного ключа в іншій таблиці. Зовнішній ключ визначає спосіб об'єднання таблиць.
10
Зв'язки в реляційних базах даних
Розділ 3 § 3.2
Щоб усунути дублювання даних, пришвидшити їх опрацювання, між таблицями реляційної бази даних, як правило, установлюють зв'язки.
Наприклад, у базі даних магазину з продажу комп'ютерних товарів можуть бути окремі таблиці по виду товару:
монітори
принтери
процесори
сканери тощо
По виробниках продукції, постачальниках тощо.
Samsung
Apple
Asus
Intel тощо
10
Зв'язки в реляційних базах даних
Розділ 3 § 3.2
Дані в таблицях потрібно узгодити, для чого і використовують зв'язки між таблицями.
За множинністю виділяють такі типи зв'язків:
один до одного
один до багатьох
багато до одного
багато до багатьох
позначають 1:1
позначають 1:∞ або 1:М
позначають ∞:1 або М:1
позначають ∞:∞ або М:М
10
Зв'язки в реляційних базах даних
Розділ 3 § 3.2
Код | Прізвище | Ім'я |
1 | Іванов | Кузьма |
2 | Петров | Василь |
… | | |
Код | Рік народження | Адреса |
1 | 1992 | Шевченка, б.20, кв. 6 |
2 | 1993 | Франка вул., б. 30, кв. 18 |
… | | |
1
1
10
Зв'язки в реляційних базах даних
Розділ 3 § 3.2
Код | Назва |
1 | Монітор |
2 | Вінчестер |
… | |
Код | Код товару | Ціна |
123 | 1 | 2 999 |
345 | 1 | 2 499 |
… | | |
1
∞
товари
прайс-лист
10
Зв'язки в реляційних базах даних
Розділ 3 § 3.2
Код | Прізвище |
1 | Іванов |
2 | Петров |
… | |
Код | Назва |
1 | Історія |
2 | Географія |
3 | Біологія |
… | |
Код | Код вчителя | Код предмету | Клас |
1 | 1 | 1 | 9-А |
2 | 1 | 2 | 8-Б |
3 | 2 | 3 | 7-В |
… | | | |
розклад
∞
∞
1
1
10
Зв'язки в реляційних базах даних
Розділ 3 § 3.2
Код | Прізвище |
1 | Іванов |
2 | Петров |
… | |
Код | Назва |
1 | Історія |
2 | Географія |
3 | Біологія |
… | |
вчителі
предмети
∞
∞
10
Для тих, хто хоче знати більше
Розділ 3 § 3.2
Зв'язки між таблицями бази даних класифікують також за повнотою. За цією класифікацією виділяють зв'язки, у яких:
Наприклад, зв'язок між множиною класів і множиною учнів передбачає, що;
кожен учень
належить до певного класу
кожний клас складається з певної кількості учнів
і
10
Для тих, хто хоче знати більше
Розділ 3 § 3.2
(Продовження…) Класифікація баз даних за повнотою:
Наприклад, між множинами учнів і множиною годинників може бути встановлено зв'язок, який передбачає:
Що не кожен учень має власний годинник.
10
Дайте відповіді на запитання
Розділ 3 § 3.2
10
Домашнє завдання
Проаналізувати
§ 3.2, ст. 84-86
Розділ 3 § 3.2
10
Працюємо за комп’ютером
Розділ 3 § 3.2
Сторінка
85
10
Дякую за увагу!
За навчальною програмою 2018 року
Урок 20
10