Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
8
Добавлен:
03.03.2016
Размер:
228.35 Кб
Скачать

1.3.3 Основные бинарные операции

Объединение двух совместимых таблиц тА и тВ – это таблица, у которой такой же заголовок, что и у исходных таблиц-операндов, а тело состоит из таких записей, которые входят хотя бы в одну из исходных таблиц (или в тА или в тВ).

В общем виде объединение записывается так

тA UNION тB

Для нашего примера таблица объединения будет иметь вид

тU: =тA UNION тB

Код

Гр

Фам

1

Гр1

Андреев

4

Гр2

Антонов

2

Гр3

Петров

Таблица тU представляет информацию о всех студентах: или обучающихся на военной кафедре, или живущих в общежитии (или, или).

При выполнении объединения существует возможность появления повто­ряющихся записей. Они должны быть исключены. Из таблицы тU исключена повторяющаяся запись (Андреев).

Пересечение двух таблиц – это таблица с таким же заголовком, и телом, состоящим из множества таких записей, которые входят одновременно в обе исходные таблицы.

Для нашего примера таблица пересечения будет иметь вид

тI : =тA INTERSECT тB

Код

Гр

Фам

1

Гр1

Андреев

В таблице тI остался студент, который обучается на военной кафедре и проживает в общежитии (и, и).

Разность двух таблиц – это таблица с таким же заголовком, и телом, со­стоящим из таких записей, которые принадлежат одной таблице и не принадлежат другой таблице.

Для исходных таблиц можно составить две таблицы – разности.

тМ1 := тА MINUS тB

Код

Гр

Фам

студент, который обучается на военной кафедре

и не проживает в общежитии

4

Гр2

Антонов

тM2 := тВ MINUS тA

Код

Гр

Фам

студент, который проживает в общежитии

и не обучается на военной кафедре

2

Гр3

Петров

При выполнении операции разности возможно удаление несуществующей записи.

В общем виде операции теории множеств отображены на рис. 1.2.

Особое место в теории множеств занимает прямое произведение. Оно мо­жет быть получено для любых двух множеств. Элементами результирующего множества являются пары, составленные из элементов первого и второго мно­жеств.

AUB {

A{

А11

А12

А13

} А\В

}A∩B

А21

А22

А23

А31

А32

А33

А41

А42

А43

}B

В\А {

А51

А52

А53

А61

А62

А63

Рисунок 1.2 – Диаграмма соотношения основных операций РА

Особое место в теории множеств занимает прямое произведение. Оно мо­жет быть получено для любых двух множеств. Элементами результирующего множества являются пары, составленные из элементов первого и второго мно­жеств.

Например, задано два множества

А 1 2 3 В 1 3

4 5 6 2 2

3 1

Прямое произведение будет равно

A*B ?

Рассмотрим операцию произведения таблиц.

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

Произведение двух таблиц – это таблица, у которой заголовок представляет собой сцепление (конкатенацию) заголовков исходных таблиц, а тело состоит из таких записей, которые являются сцеплением записей исходных таблиц. Число записей таблицы–произведения равно произведению количества записей исход­ных таблиц.

Эта операция может применяться только к таблицам, совместимым по про­изведению. Для такой совместимости исходные таблицы должны иметь непересекающиеся множества полей или, другими словами, таблицы не могут со­держать одинаковые имена полей. В противном случае заголовок таблицы–произведения будет включать повторяющиеся имена полей, что недопустимо для реляционных таблиц.

Для примера введем новую тУП, содержащую все К дисциплин учебного плана спецподготовки.

тУП

Дисциплина

Лекций

. . .

СРС

Д1

Ч1

Д2

Ч2

Д3

Ч1

Дк

Чк

Для упрощения возьмем из тУП одно поле.

тD:=тУП[Дисциплина]

Дисциплина

Д1

Д2

Д3

Дк

Для упрощения возьмем из тА одно поле.

тА2:=тА [Код] тD

Код

1

4

Произведение тА2 и тD будет включать все пары студент-дисциплина и дисциплина-студент. Таблица произведения будет иметь вид

тT := тА2 TIMES тD

Код

Дисциплина

все студенты, проходящие спецподготовку, изу­чают все дисциплины, предусмотренные учебным планом

1

Д1

1

Д2

1

Д3

1

1

Дк

4

Д1

4

Д2

4

4

Д3

4

Дк

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

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

тОц := EXTEND тТ ADD Null AS Оценка.

Таблица тОц может использоваться для формирования выписок из зачетной книжке.

Операции объединения, пересечения и произведения таблиц обладают свойствами ассоциативности и коммутативности. Если обозначить указанные операции как ОП, то можно записать следующие эквивалентные выражения:

Для свойства ассоциативности

тA ОП ( тB ОП тF )  тA ОП тB ОП тF (эквиваленты)

для свойства коммутативности

тA ОП тB  тB ОП тA (эквиваленты )

Если обозначить через s условия выборки, то можно записать тождества, которые верны для выборки:

A WHERE s1 AND s2 = (A WHERE s1) INTERSECT (A WHERE s2)

A WHERE s1 OR s2 = (A WHERE s1) UNION (A WHERE s2)

A WHERE NOT s = A MINUS (A WHERE s)

Эти тождества подтверждают возможность того, что условие выборки мо­жет содержать произвольное число логических сочетаний простых сравнений.

Соседние файлы в папке Обработка РБД-relalg