что мы выбрали некоторые столбцы
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) – аналогично. Очевидно, что
Содержание Назад Вперед