Науковий посібник
Вінницький державний технічний університет містить море(!) аналітичної інформації

Поняття ключа. Основні типи ключів

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

ШИФР ГРУПИ, КІЛЬКІСТЬ СТУДЕНТІВ, ФАКУЛЬТЕТ, СТАРОСТА КУРАТОР

назвемо ГРУПА, то схема буде мати атрибути ШИФР ГРУПИ, КІЛЬКІСТЬ СТУДЕНТІВ, ФАКУЛЬТЕТ, СТАРОСТА, КУРАТОР. Формально схема відношення описується наступним чином:

ІМ'Я_ВІДНОШЕННЯ (A1, A2, A3, ..., AK), де A1, A2, ..., AK - імена атрибутів.

Стовпець чи ряд стовпців, значення яких однозначно ідентифікують кожний рядок таблиці, називають ключем . Так, в розглянутому прикладі можливими ключами можуть бути атрибути: ШИФР ГРУПИ, СТАРОСТА. А такі атрибути, як КІЛЬКІСТЬ СТУДЕНТІВ, ФАКУЛЬТЕТ, не можуть бути ключами, так як різні студентські групи можуть мати однакову кількість студентів і на одному факультеті вчиться декілька груп.

Якщо відношення має більше одного можливого ключа, тоді має сенс виділити один ключ, який називають первинним (ШИФР ГРУПИ). І навпаки, якщо відношення не має жодного атрибута, який би повністю визначив об'єкт (рядок, кортеж), тоді приходиться мати справу зі складеним ключем, який схематично відображають подвійною горизонтальною рискою. Наприклад, в відношенні СТУДЕНТ-УСПІШНІСТЬ (табл.4.1) відсутній атрибут, який би однозначно ідентифікував кортеж, так як екзамени по одному учбовому курсу (фізика) можуть здаватися більше, ніж в одному семестрі.

Таблиця 4.1

Відношення СТУДЕНТ-УСПІШІСТЬ зі складним ключем

Позначимо атрибути відношення СТУДЕНТ-УСПІШНІСТЬ відповідно:

ПІБ СТУДЕНТА -F;

НАЗВА ДИСЦИПЛІНИ -N;

ДАТА ЗДАЧІ ЕКЗАМЕНУ -D;

ОЦІНКА -C;

ЗАЛІК -Z.

Тоді відношення СТУДЕНТ-УСПІШНІСТЬ, що містить атрибути F, N, D, C, Z, можна представити у вигляді схеми (рис. 4.1 ).

СТУДЕНТ -УСПІШНІСТЬ

Рисунок 4.1- Схематичне представлення відношення СТУДЕНТ-УСПІШНІСТЬ

Щоб виділити вказаним способом складений ключ відношення СТУДЕНТ-УСПІШНІСТЬ, потрібно представити домени відношення таким чином, щоб мінімальна кількість атрибутів, які однозначно визначають кортеж, було розміщено на початку схеми. Відношення СТУДЕНТ-УСПІШНІСТЬ прийме вигляд на рис.4. 2.

СТУДЕНТ -УСПІШНІСТЬ

Рисунок 4.2 - Складений ключ

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

СТУДЕНТ -УСПІШНІСТЬ

Рисунок 4.3 - Складений ключ, який включає три атрибути

Можливі випадки, коли складений ключ включає всі атрибути відношення.

Розрізняють наступні типи ключів: простий ключ, повністю складений ключ, напівскладений ключ.

Простим називається ключ, що складається з одного атрибута, причому атрибут повинен бути атомарним , а екземпляри даного атрибута - унікальні.

Атомарним є ключ, значення якого сприймається програмою (СКБД) як неподільний елемент даних, навіть якщо він створений з декількох об'єктів . Наприклад, атомарність атрибута ДАТА ЗДАЧІ ЕКЗАМЕНА в відношенні означає неможливість виділення з дати окремо числа, місяця та року

Повністю складеним називається ключ, що містить декілька атрибутів, причому між цими атрибутами існує відображення (залежність) БАГАТО-ДО-БАГАТЬОХ. Атрибути, що складають такий ключ, не залежать один від одного. Приклад повністю складеного ключа в відношенні СТУДЕНТ-ВИКЛАДАЧ приведено в табл. 4.2.

Таблиця 4. 2

Приклад відношення з повністю складеним ключем СТУДЕНТ-ВИКЛАДАЧ

Напівскладеним називається ключ, що містить декілька атрибутів, між якими на відміну від повністю складеного ключа існує залежність Б: 1(БАГАТО-ДО-ОДНОГО). Тут атрибути в ключі впорядковуються за принципом: кожний наступний уточнює попередній. В відношенні СТУДЕНТ-УСПІШНІСТЬ використовувався напівскладений ключ F, D .

Взаємозв'язок таблиць є найважливішим елементом реляційної моделі даних. Вона підтримується зовнішніми ключами (foreign key). Розглянемо приклад, у якому база даних зберігає інформацію про рядових співробітників (таблиця Співробітник) і керівниках (таблиця Керівник) у деякій організації (рис.4.4.).

Рисунок 4.4- Схематичне представлення зовнішнього ключа

Первинний ключ таблиці Керівник - стовпець Номер (наприклад, табельний номер). Стовпець Прізвище не може виконувати роль первинного ключа, тому що в одній організації можуть працювати два керівників з однаковими прізвищами. Будь-який співробітник підпорядкований єдиному керівнику, що повинно бути відображено в базі даних. Таблиця Співробітник містить стовпець Номер керівника, і значення в цьому стовпці вибираються зі стовпця Номер таблиці Керівник (див. рис.4.4. ). Стовпець Номер Керівника є зовнішнім ключем для таблиці Співробітник.

Контрольні запитання.

1. Які основні вимоги пред'являються до ключів ?

2. Які типи відношень між атрибутами характерні для різних типів ключів ?

3. В яких випадках застосовується зовнішні ключі ?

4. Коли ключ включає всі атрибути відношення ?

Назад | Зміст | Вперед



Copyright ©VSTU
Created: November 16, 2000