Практична робота №6. Реляційна алгебра: формалізація запитів і встановлення еквівалентностей
Мета
Навчитися записувати запити операціями реляційної алгебри та встановлювати еквівалентність різних виразів.
Підготовка
Перед виконанням опрацюйте пов'язану лекцію:
Завдання
Для відношень Студенти(№, Прізвище, Група), Курси(Код, Назва), Успішність(№, Код, Оцінка) виконайте такі кроки:
- Запишіть операціями алгебри запити:
- прізвища студентів групи 121;
- назви курсів, які студент №101 проходив;
- пари «студент — оцінка» з оцінкою вищою за 80.
- Використайте у кожному запиті щонайменше дві різні операції (вибірка, проекція, з'єднання, операції над множинами).
- Побудуйте алгебраїчний вираз, що дає той самий результат двома різними способами, і доведіть еквівалентність (наприклад, за допомогою комутативності або асоціативності з'єднання).
- Покажіть, як селекцію можна «просунути» крізь з'єднання: запишіть вираз до і після оптимізації та поясніть, чому результати однакові.
- Перевірте обидва вирази на прикладі з 3–4 рядками даних, обчисливши результат вручну.
Вимоги до результату
- Записи запитів у нотації реляційної алгебри.
- Дві еквівалентні форми для одного запиту з поясненням.
- Приклад обчислення на невеликих даних.
Питання для захисту
- Що повертає проекція та як вона впливає на дублікати?
- Чим з'єднання відрізняється від декартового добутку?
- Чому порядок виконання операцій впливає на ефективність, але не на результат?
- Коли селекцію можна виконати до з'єднання?
