Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Изделие 1 изделие 2 общие детали

Поиск
Код Назв. Вес   Код Назв. Вес   Код Назв. Вес
  A       B       B  
  B       C       C  
  C       D       D  
  D       K          
  E                  

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

Обозначение оператора соединения: ►◄

Пример 3.8. Даны отношения r(R) и s(S). Требуется осуществить соединение

этих отношений, используя атрибут А отношения r и атрибут D отношения s.

r s r ►◄ s

A B C   D E F   A B C Е F
P   a   Q   a   Q   c   a
P   b   Q   c   Q   c   c
Q   c                    

Для выполнения соединения нужно просмотреть все кортежи отношения r для атрибута А и для каждого из них - все кортежи отношения s для атрибута D. Кортежи, в которых значение D совпадает со значением А, сцепляются. в результирующее отношение равные атрибуты включаются только один раз.

8 Соединение Join (по условию). Имеются два отношения r (X,Y) и s (Y, Z) и некоторое условие θ, где X, Y, Z - непересекающиеся множества атрибутов, причём Y - множество атрибутов, общих для r и s,

тогда отношение t = r s

θ

называется θ – соединением r и s, если каждый кортеж, принадлежащий t, состоит из кортежей r и s при выполненном условии θ.

Справедлива следующая формула: t = δ (r*s),

θ

то есть θ - соединение представляет собой декартово произведение r и s, над которым выполнена селекция по условию θ.

Отличие операции соединения Join от операции естественного соединения заключается в том, что соединение Join произволится при выполнении какого-либо условия.

 

Пример 3.9 Выполнить операцию соединения Joinдля всех кортежей атрибутов В(r) и Е(s), в которых значения полей В меньше значений полей Е и полей атрибута С(r), не равных значению b. Отношения r и s – из примера 3.8.

r s

(В<Е) Λ (С≠b)

 

А B С D Е F
Р   а Q   а
Р   а Q   с
Q   с Q   а

Здесь также каждый кортеж отношения r сравнивается с каждым кортежем отношения s.

9 Деление. Пусть имеются отношения r(X, Y) арности k1 и p(Z) арности k2, где Y и Z определены на одном домене, тогда отношение t = r / р арности, равной

kl-k2 называется делением r на р, если любой кортеж из t вместе с любым кортежем из р образуют кортеж, имеющийся в r.

Арность kl отношения r должна быть больше арности k2 отношения р.

В отношение t входят только те кортежи арности kl-k2, декартово произведение которых с отношением р входит в отношение r.

Таким образом, k1 - арность r; k 2- арность р; k = k1 – k2 – арность результирующего отношения. Причем всегда k1>k2.

Пример 3.10. Даны отношения:

r (ВЕДОМОСТЬ) р (расписание)

№ зач. книжки Фами-лия Дисцип-лина Дата   Дисцип-лина Дата
  Панков Прогр - е 10.01.04   Прогр - е 10.01.04
  Панков Физика 14.01.04   Физика 14.01.04
  Петров Прогр - е 10.01.04      
  Петров Физика 14.01.04      
  Реутов Прогр - е 10.01.04      

t = r: p (СТУДЕНТ)

№ зач. книжки Фами-лия СТУДЕНТ = ВЕДОМОСТЬ: расписание
  Панков  
  Петров  

 

В отношении t = r: p (СТУДЕНТ) нет кортежа с полем Реутов, т.к. декартово произведение этого кортежа со своим кортежем в отношении р дало бы кортеж “005, Реутов, Физика, 14.01.04”, которого нет в отношении r (ВЕДОМОСТЬ). То же было бы с полями Панков и Петров из отношения СТУДЕНТ, если бы в отношении p была бы другая дата или дисциплина.

 

 

ЛЕКЦИЯ 10



Поделиться:


Последнее изменение этой страницы: 2017-01-27; просмотров: 133; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.129.45.144 (0.009 с.)