Проталкивание
?-полусоединения через соединение: Ниже мы представляем правило преобразования, описывающее, как протолкнуть ?-полусоединение через соединения.
![](e5.gif)
где
![](e6.gif)
Это преобразование позволяет использовать и E1, и E3 для ограничения кортежей, вычисляемых для E1’. Хотя в преобразовании используется декартово произведение, оно является полезным, если в некоторой части ?2 используются только атрибуты из E1 и E3 – эта часть ?2 может быть использована на последующем шаге для преобразования декартова произведения в ?-соединение. Интуитивные соображения по поводу корректности этого правила преобразования состоят в том, что требуются только те кортежи t2
![](/pictures/symbol/in.gif)
![](/pictures/symbol/in.gif)