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




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


2.1.2. Проекция. Предположим, что мы выбрали некоторые столбцы отношения (отбросив остальные) и затем удалили из полученного массива все дубликаты строк. Полученный в результате массив представляет отношение, про которое говорят, что оно является проекцией данного отношения.

Оператор селекции π используется для получения любой требуемой перестановки, проекции или комбинации этих операций. Так, если L – список из k значений

L = i1, i2,...,ik, и R – n-арное отношение (n≥k), то πL

(R) есть k-арное отношение, j-тый столбец которого есть ij-тый столбец R (i=1,2,...,k) и в котором удалены дубликаты результирующих строк. Рассмотрим отношение поставка на рис.1. Перестановка проекции этого отношения приведена на рис.4. Заметьте, что в этом частном случае проекция имеет меньше n-кортежей, чем исходное отношение.

π31(поставка)

(проект

поставщик)


5

1


5

2


1

4


7

2

Рисунок 4. Перестановка проекции отношения c рис.1

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

В примере на рис.5 показаны два отношения R и S, которые могут быть соединены без потери информации, а на рис.6 представлен результат соединения R и S. Бинарное отношение R соединимо с бинарным отношением S, если существует тернарное отношение U такое, что π12(U)=R

и π23(U)=S. Любое такое тернарное отношение называется соединением R и S. Если R, S являются бинарными отношениями, такими, что π2(R) = π1(S), то R соединимо с S. Одно из соединений, которое всегда существует в таком случае, это естественное соединение, определяемое так:

R*S = {(a,b,c) : R(a,b) ∧ S(b,c)},

где R(a,b) имеет значение истина, если (a,b) является элементом R, и S(b,c) – аналогично. Очевидно, что




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