Результат декартова произведения двух отношений показан в таблице.
Таблица 5.1. | |||
R x S | |||
R.a1 | R.a2 | S.b1 | S.b2 |
A | 1 | 1 | H |
A | 1 | 2 | G |
A | 1 | 3 | H |
A | 2 | 1 | H |
A | 2 | 2 | G |
A | 2 | 3 | H |
B | 1 | 1 | H |
B | 1 | 2 | G |
B | 1 | 3 | H |
B | 3 | 1 | H |
B | 3 | 2 | G |
B | 3 | 3 | H |
B | 4 | 1 | H |
B | 4 | 2 | G |
B | 4 | 3 | H |
15. Специальные реляционные операции.
Специальные реляционные операции включают:
· ограничение отношения;
· проекцию отношения;
· соединение отношений;
· деление отношений.
Операция ограничения требует наличия двух операндов: ограничиваемого отношения и простого условия ограничения. Простое условие ограничения может иметь либо вид (a comp-op b), где а и b - имена атрибутов ограничиваемого отношения, для которых осмысленна операция сравнения comp-op, либо вид (a comp-op const), где a - имя атрибута ограничиваемого отношения, а const - литерально заданная константа.
В результате выполнения операции ограничения производится отношение, заголовок которого совпадает с заголовком отношения-операнда, а в тело входят те кортежи отношения-операнда, для которых значением условия ограничения является true.
Пусть UNION обозначает операцию объединения, INTERSECT - операцию пересечения, а MINUS - операцию взятия разности. Для обозначения операции ограничения будем использовать конструкцию A WHERE comp, где A - ограничиваемое отношение, а comp - простое условие сравнения. Пусть comp1 и comp2 - два простых условия ограничения. Тогда по определению:
· A WHERE comp1 AND comp2 обозначает то же самое, что и (A WHERE comp1) INTERSECT (A WHERE comp2)
· A WHERE comp1 OR comp2 обозначает то же самое, что и (A WHERE comp1) UNION (A WHERE comp2)
· A WHERE NOT comp1 обозначает то же самое, что и A MINUS (A WHERE comp1)
С использованием этих определений можно использовать операции ограничения, в которых условием ограничения является произвольное булевское выражение, составленное из простых условий с использованием логических связок AND, OR, NOT и скобок.
На интуитивном уровне операцию ограничения лучше всего представлять как взятие некоторой "горизонтальной" вырезки из отношения-операнда.