Базы данных

Пересечение двух отношений


Пересечением (intersection) двух отношений является множество всех кортежей, встречающихся в обоих исходных1 отношениях. Пересечением отношений Rental п PreviousRental является множество случаев проката, которые являются одновременно и текущими, и предшествующими. Можно с уверенностью утверждать, что это множество пусто. Более интересным представляется применение операции пересечения к идентификационным номерам видеофильмов в обеих таблицах. В результате получится множество видеокассет, выданных напрокат в настоящее время, которые уже выдавались напрокат par.ee. Для осуществления этого необходимо выражение реляционной алгебры, которое сначала выполняет операции проекции обеих таблиц по атрибуту videold, а затем находит пересечение полученных результатов. Это выражение имеет вид:

videold (Rental) n 7tvideoid (PreviousRental)

Разностью (difference) двух отношений является множество всех кортежей, присутствующих в первом множестве, но не присутствующих во втором. Разность между множеством видеокассет, выданных напрокат в настоящее время, и множеством кассет, выдававшихся прежде, это те видеокассеты, которые в настоящее время выданы в первый раз. Выражение реляционной алгебры, описывающее эти действия, выглядит так:

videold(Rental) – 7tvideoid(PreviousRental)

Аналогично, множество всех видеокассет, выдававшихся прежде, но не выданных в настоящее время, находится с помощью следующего выражения:

’’videold(PreviousRental) – Hvideoid(Rental)

Комментарии закрыты