ТОП 10:

Операции соединения и деления, их свойства.



Соединение

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

Пример

Мульфильмы

Код_мульта Название_мульта Название_канала
The Simpsons 2х2
Family Guy 2х2
Duck Tales RenTV

Каналы

Код_канала Частота
RenTV 3,1415
2х2 783,25

Соединим их с выборкой σНазвание_канала = Код_канала(Произведение)
Первый этап, произведение:

Код_мульта Название_мульта Название_канала Код_канала Частота
The Simpsons 2х2 RenTV 3,1415
The Simpsons 2х2 2х2 783,25
Family Guy 2х2 RenTV 3,1415
Family Guy 2х2 2х2 783,25
Duck Tales RenTV RenTV 3,1415
Duck Tales RenTV 2х2 783,25

Второй этап, выборка σНазвание_канала = Код_канала(Произведение):

Код_мульта Название_мульта Название_канала Код_канала Частота
The Simpsons 2х2 2х2 783,25
Family Guy 2х2 2х2 783,25
Duck Tales RenTV RenTV 3,1415

Эквивалентный SQL-запрос:

SELECT * FROM Мультфильмы, Каналы WHERE Название_канала = Код_каналаИлиSELECT * FROM МультфильмыINNER JOIN Каналы ON Мультфильмы.Название_канала = Каналы.Код_канала

Деление

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

Пример

Пусть даны следующие соотношения:

Мульфильмы

Код_мульта Название_мульта Название_канала
The Simpsons RenTV
The Simpsons 2х2
The Simpsons CTC
Family Guy RenTV
Family Guy 2х2
Duck Tales СТС
Duck Tales 2x2

Тогда при делении на таблицу каналов:

Каналы

Название_канала
RenTV
2х2

Результатом будет:

Код_мульта Название_мульта
The Simpsons
Family Guy

Family Guy и The Simpsons — мультфильмы, которые показывались и на RenTV и на 2x2 (условие во второй таблице). При этом Duck Tales не показывалось по RenTV, потому был исключён из результирующей таблицы.

Операции переименования атрибутов, эквисоединения, q-выбора и q-соединения.

Операция переименования

Пусть s обозначает результат операции r <RENAME> (A, B). Для обеспечения возможности выполнения операции требуется, чтобы существовал некоторый тип T, такой, что <A, T> Hr, и чтобы не существовал такой тип T, что <B, T> Hr. (Другими словами, в схеме отношения r должен присутствовать атрибут A и не должен присутствовать атрибут B.) Тогда:

  • Hs = (Hr minus {<A, T>}) union {<B, T>}, т. е. в схеме результата B заменяет A;
  • Bs = {ts : exists tr exists v (tr Br and v T and <A, T, v> tr and ts = (tr minus {<A, T, v>}) union {<B, T, v>})}, т. е. в кортежах тела результата имя значений атрибута Aменяется на B.

Операция <RENAME> производит отношение s, которое отличается от заданного отношения r только именем одного его атрибута, которое изменяется с A на B. Заголовок s такой же, как заголовок r, за исключением того, что пара <B, T> заменяет пару <A, T>. Тело s включает все кортежи тела r, но в каждом из этих кортежей триплет <B, T, v> заменяет триплет <A, T, v>.

Тета-cоединение Определяет отношение, которое содержит кортежи из декартова произведения отношений R и S, удовлетворяющие предикату F

Эквисоединение
Эквисоединение - тоже частный случай, но уже тэта-соединения. Эквисоединение - это тэта-соединение, в котором оператор сравнения - обычное равенство. Эквисоединение рассматривается как особая разновидность соединения только потому, что на практике применяется особенно часто.

Обозначается эквисоединение, как нетрудно догадаться, так:
A [X = Y] B

 

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

В простейшем случае условие имеет вид , где - один из операторов сравнения ( и т.д.), а и - атрибуты отношения или скалярные значения. Такие выборки называются -выборки(тэта-выборки) или -ограничения, -селекции.

Синтаксис операции выборки:

,

или

Пример 6. Пусть дано отношение с информацией о сотрудниках:

Табельный номер Фамилия Зарплата
1 Иванов
2 Петров
3 Сидоров

Таблица 9 Отношение A

Результат выборки будет иметь вид:







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

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