Зависимость проекции/соединения
То утверждение, что тело отношения СЛУЖ_ПРО_ЗАДАН восстанавливается без потерь путем естественного соединения его проекций СЛУЖ_ПРО_НОМ, ПРО_НОМ_ЗАДАНи СЛУЖ_ЗАДАНИЕ эквивалентно следующему утверждению (ТСПЗ, ТСПН, ТПНЗи ТСЗобозначают тела значений переменных отношений СЛУЖ_ПРО_ЗАДАН,СЛУЖ_ПРО_НОМ, ПРО_НОМ_ЗАДАНи СЛУЖ_ЗАДАНИЕ соответственно):
IF (<сн, пн> Î ТСПНAND <пн, сз> Î ТПНЗAND <сн, сз> Î ТСЗ)
THEN <сн, пн, сз> Î ТСПЗ
Для того, чтобы возможность восстановления без потерь отношения СЛУЖ_ПРО_ЗАДАН путем естественного соединения его проекций СЛУЖ_ПРО_НОМ, ПРО_НОМ_ЗАДАНи СЛУЖ_ЗАДАНИЕ существовала при любом допустимом значении переменной отношения СЛУЖ_ПРО_ЗАДАН, должно поддерживаться следующее ограничение:
IF (<сн1, пн1, сз2> Î ТСПЗAND <сн2, пн1, сз1> Î ТСПЗ
AND <сн1, пн2, сз1> Î ТСПЗ)
THEN <сн1, пн1, сз1> Î ТСПЗ
Это обычное ограничение реального мира, которое для отношения СЛУЖ_ПРО_ЗАДАН может быть сформулировано на естественном языке следующим образом:
Если сотрудник с номером сн участвует в проекте пн, и в проекте пн выполняется задание сз, и сотрудник с номером сн выполняет задание сз, то сотрудник с номером сн выполняет задание сз в проекте пн.
В общем виде такое ограничение называется зависимостью проекции/соединения. Вот формальное определение.
Определение 8.4. Зависимость проекции/соединения
Пусть задана переменная отношения r, и A, B, …, Z являются произвольными подмножествами заголовка r (составными, перекрывающимися атрибутами). В переменной отношения r удовлетворяется зависимость проекции/соединения (Project-Join Dependency – PJD) *( A, B, …, Z) тогда и только тогда, когда любое допустимое значение r можно получить путем естественного соединения проекций этого значения на атрибуты A, B, …, Z. Конец определения.