Базы данных: конспект лекций - страница 12



схемах отношений. В результате применения обеих операций получаются отношения со схемами, равными объединению схем отношений-операндов, только в декартово произведение двух отношений попадают всевозможные пары их кортежей, так как схемы операндов ни в коем случае не должны пересекаться.

Таким образом, исходя из всего вышесказанного запишем математическую формулу для операции декартового произведения:

r>4(S>4) = r>1(S1) × r>2(S>2) = {t(S>1 ∪ S>2) | t [S>1] ∈ r>1 & t(S>2) ∈ r>2}, S>1S>2= ;

Теперь рассмотрим пример, чтобы показать, какой вид будет иметь результирующая схема отношения, при применении операции декартового произведения.

Пусть даны два отношения r>1(S1) и r>2(S>2), которые в табличном виде представляются следующим образом:

r>1(S>1):


r>2(S>2):


Итак, мы видим, что ни один из кортежей отношений r>1(S>1) и r>2(S>2), действительно, не совпадает в их пересечении. Поэтому в результирующее отношение r>4(S>4) попадут всевозможные пары кортежей первого и второго отношений-операндов. Получится:

r>4(S>4) = r>1(S1) × r>2(S>2):


Получилась новая схема отношения r>4(S>4) не «склеиванием» кортежей как в предыдущем случае, а перебором всех возможных различных пар несовпадающих в пересечении исходных схем кортежей.

Снова, как и в случае естественного соединения, приведем схематичный пример работы операции декартового произведения.

Пусть r>1 задано следующим условным образом:


А отношение r>2 задано:


Тогда их декартовое произведение схематично можно изобразить следующим образом:


Именно таким образом и получается результирующее отношение при применении операции декартового произведения.

3. Свойства бинарных операций

Из приведенных выше определений бинарных операций объединения, пересечения, разности, декартового произведения и естественного соединения следуют свойства.

1. Первое свойство, как и в случае унарных операций, иллюстрирует соотношение мощностей отношений:

1) для операции объединения:

|r>1 ∪ r>2| |r>1| + |r>2|;

2) для операции пересечения:

|r>1r>2 | min(|r>1|, |r>2|);

3) для операции разности:

|r>1 \ r>2| ≤ |r>1|;

4) для операции декартового произведения:

|r>1 × r>2| = |r>1| · |r>2|;

5) для операции естественного соединения:

|r>1 × r>2| ≤ |r>1| · |r>2|.

Соотношение мощностей, как мы помним, характеризует, как меняется количество кортежей в отношениях после применения той или иной операции. Итак, что мы видим? Мощность объединения двух отношений r>1 и r>2 меньше суммы мощностей исходных отношений-операндов. Почему это происходит? Все дело в том, что при объединении совпадающие кортежи исчезают, накладываясь друг на друга. Так, обратившись к примеру, который мы рассматривали по прохождении этой операции, можно заметить, что в первом отношении было два кортежа, во втором – три, а в результирующем – четыре, т. е. меньше, чем пять (сумма мощностей отношений-операндов). По совпадающему кортежу {b, 2} эти отношения «склеились».

Мощность результата пересечения двух отношений меньше или равна минимальной мощности исходных отношений-операндов. Обратимся к определению этой операции: в результирующее отношение попадают только те кортежи, которые присутствуют в обоих отношениях исходных. А значит, мощность нового отношения никак не может превышать мощности того отношения-операнда, число кортежей которого наименьшее из двух. А равной этой минимальной мощности мощность результата быть может, так как всегда допускается случай, когда все кортежи отношения с меньшей мощностью совпадают с какими-то кортежами второго отношения-операнда.