Читать интересную книгу Базы данных: конспект лекций - Коллектив Авторов

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 3 4 5 6 7 8 9 10 11 ... 35

Получается по определению: схема S3 не совпадает ни со схемой S1, ни со схемой S2, мы «склеили» две исходные схемы по пересекающимся кортежам, чтобы получить их естественное соединение.

Покажем схематично, как происходит соединение кортежей при применении операции естественного соединения.

Пусть отношение r1 имеет условный вид:

А отношение r2 – вид:

Тогда их естественное соединение будет выглядеть следующим образом:

Видим, что «склеивание» отношений-операндов происходит по той самой схеме, что мы приводили ранее, рассматривая пример.

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

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

r4(S4) = r1(S1) × r2(S2) = {t(S1 ∪ S2) | t [S1] ∈ r1 & t(S2) ∈ r2}, S1 ∩ S2= ;

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

Пусть даны два отношения r1(S1) и r2(S2), которые в табличном виде представляются следующим образом:

r1(S1):

r2(S2):

Итак, мы видим, что ни один из кортежей отношений r1(S1) и r2(S2), действительно, не совпадает в их пересечении. Поэтому в результирующее отношение r4(S4) попадут всевозможные пары кортежей первого и второго отношений-операндов. Получится:

r4(S4) = r1(S1) × r2(S2):

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

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

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

А отношение r2 задано:

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

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

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

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

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

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

|r1 ∪ r2| |r1| + |r2|;

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

|r1 ∩ r2 | min(|r1|, |r2|);

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

|r1 r2| ≤ |r1|;

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

|r1 × r2| = |r1| · |r2|;

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

|r1 × r2| ≤ |r1| · |r2|.

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

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

В случае операции разности все достаточно тривиально. Действительно, если из первого отношения-операнда «вычесть» все кортежи, присутствующие также во втором отношении, то их количество (а следовательно, мощность) уменьшится. В том случае, если ни один кортеж первого отношения не совпадет ни с одним кортежем отношения второго, т. е. «вычитать» будет нечего, мощность его не уменьшится.

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

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

2. Свойство идемпотентности:

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

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

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

4) для операции декартового произведения (в общем случае, свойство не применимо);

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

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

3. Свойство коммутативности:

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

r1 ∪ r2 = r2 ∪ r1;

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

rr = rr;

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

r1 r2 ≠ r2 r1;

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

r1 × r2 = r2 × r1;

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

r1 × r2 = r2 × r1.

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

4. Свойство ассоциативности:

1 ... 3 4 5 6 7 8 9 10 11 ... 35
На этом сайте Вы можете читать книги онлайн бесплатно русская версия Базы данных: конспект лекций - Коллектив Авторов.
Книги, аналогичгные Базы данных: конспект лекций - Коллектив Авторов

Оставить комментарий