Розв’язок
Теоретично ключем може бути:
кожен з атрибутів (тобто кількість ключів дорівнює n);
кожна пара атрибутів (
);кожна трійка атрибутів і т. д.
З приведеного списку при n > 3 найбільшою кількістю ключів є
, якщо n парна і у іншому випадку. Суперключі будуть отримані шляхом додавання до ключа одного атрибута, два і т. д. Отже, максимальна кількість суперключів може бути +...+ .VI. Що можна сказати про відношення з ключем К=
?Розв’язок
Таке відношення має порожню множину атрибутів, тобто фактично такого відношення не існує.
VII. Нехай R = {B1, B2, …, Bm} ¾ключ схеми відношення R{A1A2…An}, r¾ відношення зі схемою R. Дано операцію CH (r; A1 = d1, …, An = dn; B1 = e1, …, Bp = em). У відношенні r нема кортежа з К-значенням <е1е2...еm>, є кортеж <d1d2...dn> і еіÎ dom(Bi). Чи законна дана операція?
Розв’язок
Так як значення даного запису не відповідають перерахованим вище помилкам, що виникають при операціях додавання (кортеж, що додається, не відповідає схемі відношення; деякі значення кортежа не належать відповідним доменам; кортеж співпадає по ключу з кортежем, що вже існує у відношенні) та знищення (кортеж відсутній у відношенні), то ця операція є законна.
VIII. Нехай S¾послідовність операцій оновлення, які потрібно застосувати до відношенняr. Якщо змінити порядок операцій в S, то чи обов’язково результат залишиться тим же самим при умові, що S містить
(а) тільки операції додавання;
(b) тільки операції знищення;
(c)операції додавання і знищення;
(d)операції додавання і зміни;
(e)операції зміни?
Розв’язок
(а) результат не зміниться, так як операції не пов’язані між собою;
(b) результат не зміниться, так як операції не пов’язані між собою;
(c)перестановка операцій може привести до помилки і до зміни результату, так як операція знищення може використовувати записи, ще не створені операцією додавання;
(d)перестановка операцій може привести до помилки і до зміни результату, так як операція зміни може використовувати записи, ще не створені операцією додавання;
(e)операції зміни можуть бути пов’язані певним чином між собою, тобто модифікувати одні і ті ж кортежі. Тоді перестановка даних операцій може привести до використання значень зміненого кортежу, хоча така заміна ще не відбулась. Тому перестановка може привести до виникнення помилки.