Классика баз данных - статьи




Операции над отношениями. - часть 3


π12(R*S) = R

и

π23(R*S) = S.

Заметим, что соединение, показанное на рис.6, является естественным соединением отношений R и S, представленных на рис.5. Другое соединение показано на рис.7.

R (поставщик деталь) S(деталь проект)
1 1 1 1
2 1 1 2
2 2 2 1

Рисунок 5.Два соединимых отношения

R*S (поставщик деталь проект)
1 1 1
1 1 2
2 1 1
2 1 2
2 2 1

Рисунок 6.Естественное соединение R и S (рис. 5)

U

(поставщик

деталь

проект)

1

1

2

2

1

1

2

2

1

Рисунок 7. Другое соединение R и S (рис.5)

При обследовании этих отношений обнаруживается элемент (элемент 1) домена деталь (домена, по которому производится соединение), обладающий тем свойством, что он имеет более одного вхождения и в R, и в S. Этот элемент увеличивает количество возможных соединений. Такой элемент домена соединения называется точкой неоднозначности относительно соединения R и S.

Если π21(R) или S являются функциями,

то при соединении R с S не может возникнуть точка неоднозначности. В этом случае естественное соединение является единственным соединением R с S. Заметьте, что повторяющееся уточнение "R с S" является необходимым, поскольку S может быть соединимым с R (как и R с S), и это соединение должно быть предметом полностью отдельного рассмотрения. На рис.5 ни одно из отношений R, π21(R), S, π21(S) не является функцией.

Неоднозначность в соединении R и S может быть иногда разрешена при помощи других отношений. Предположим, что нам даны или мы можем построить на доменах проект и поставщик из источников, не зависимых от R и S, отношение T со следующими свойствами:

  1. π1(T) = π2(S)

  2. π1(T) = π1(R)

  3. T(j,s) → ∃p(R(s,p) ∧ S(p,j)

  4. R(s,p) → ∃j(S(p,j) ∧ T(j,s)

  5. S(p,j) → ∃s(T(j,s) ∧ R(s,p)

В этом случае мы можем построить соединение трех отношений R, S, T, то есть тернарное отношение такое, что




Содержание  Назад  Вперед