Реляционная алгебра - Невыразимость транзитивного замыкания реляционными операторами
ОГЛАВЛЕНИЕ
Невыразимость транзитивного замыкания реляционными операторами
Следующий пример иллюстрирует класс запросов, невыразимых средствами реляционной алгебры или реляционного исчисления по причине невыразимости средствами реляционной алгебры транзитивного замыкания отношений (см. гл. 1).
Пример 17. Рассмотрим отношение, описывающее сотрудников некоего предприятия. Отношение содержит данные о табельном номере сотрудника, фамилии, должности и табельном номере руководителя сотрудника - СОТРУДНИКИ ( ТАБ_НОМ , ФАМИЛИЯ, ДОЛЖНОСТЬ, ТАБ_НОМ_РУК):
ТАБ_НОМ | ФАМИЛИЯ | ДОЛЖНОСТЬ | ТАБ_НОМ_РУК |
---|---|---|---|
1 | Иванов | Директор | 1 |
2 | Петров | Глав.бухгалтер | 1 |
3 | Сидоров | Бухгалтер | 2 |
4 | Васильев | Начальник цеха | 1 |
5 | Сухов | Мастер | 4 |
6 | Шарипов | Рабочий | 5 |
… | … | … | … |
Таблица 28. Отношение СОТРУДНИКИ
Рассмотрим запрос "Перечислить всех руководителей (прямых и непрямых) данного сотрудника".
Ответом на запрос может быть получен при помощи понятия транзитивного замыкания. Однако транзитивное замыкание не может быть выражено операторами реляционной алгебры.