. Основы реляционной алгебры
Традиционные операции
Специальные реляционные операции
669.33K
Category: databasedatabase

Лекция 4

1. . Основы реляционной алгебры

Лекция №4

2.

Реляционная алгебра в том виде, в котором
она была определена Э. Ф. Коддом, состоит
из двух групп по четыре оператора.
1.Традиционные операции над множествами
(но модифицированные с учетом того, что их
операндами являются отношения, а не
произвольные множества): объединение,
пересечение, разность и декартово
произведение.
2. Специальные реляционные операции:
выборка, проекция, соединение, деление.

3. Традиционные операции

Объединение - возвращает отношение, содержащее все
кортежи, которые принадлежат либо одному из двух
заданных отношений, либо им обоим.

4.

Пересечение - возвращает отношение,
содержащее все кортежи, которые
принадлежат одновременно двум заданным
отношениям.

5.

Разность - возвращает отношение, содержащее
все кортежи, которые принадлежат первому из
двух заданных отношений и не принадлежат
второму.

6.

Произведение - возвращает отношение, содержащее
все возможные кортежи, которые являются
сочетанием двух кортежей, принадлежащих
соответственно двум заданным отношениям.

7. Специальные реляционные операции

Выборка - возвращает отношение, содержащие все
кортежи из заданного отношения, которые
удовлетворяют указанным условиям.

8.

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

9.

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

10.

11.

Деление - для заданных двух унарных отношений и
одного бинарного возвращает отношение, содержащее
все кортежи из первого унарного отношения, которые
содержатся также в бинарном отношении и
соответствуют всем кортежам во втором унарном
отношении.

12.

Операции над отношениями дополненные
Дейтом:
1. Переименование. Операция переименования позволяет
изменить имя атрибута отношения и имеет вид:
RENAME <исходное отношение> <старое имя атрибута> AS <новое
имя атрибута>
RENAME Город_П AS Город_размещения _Поставщика.
2. Расширения. Операция расширения порождает новое
отношение, похожее на исходное, но отличающееся наличием
добавленного атрибута, значения которого получаются путем
некоторых скалярных вычислений. Операция расширения имеет
вид:
EXTEND <исходное отношение> ADD <выражение> AS <новый
атрибут>, где к исходному отношению добавляется <новый
атрибут>,
подсчитываемый
по
правилам,
заданным
<выражением>.
Пример: EXTEND (P JOIN SP) ADD (Вес*Количество) AS

13.

3. Подведение итогов. Операция подведения итогов
SUMMARIZE выполняет вертикальные или групповые
вычисления и имеет следующий формат:
SUMMARIZE <исх.отн.> BY (<список атрибутов>) ADD
<выр.> AS <новый атрибут>,
где исходное отношение задается именем отношения либо
заключенными в круглые скобки выражением реляционной
алгебры,
<список
атрибутов>
представляет
собой
разделенными запятыми имена атрибутов исходного
отношения А1, А2, …, АN, <выр.> - скалярное выражение,
аналогичное выражению операции EXTEND, а <новый
атрибут> - имя формируемого атрибута. В списке атрибутов
и в выражении не должен использоваться <новый атрибут>.
Результатом операции SUMMARIZE является отношение R
с
заголовком,
состоящим
из
атрибутов
списка,
расширенного новым атрибутом. Для получения тела
отношения R сначала выполняется проецирование
(проекция R1) исходного отношения на атрибуты А1, А2, …,
АN, после чего каждый кортеж проекции расширяется

14.

Пример. Пусть требуется вычислить количество
поставок по каждому из поставщиков.
SUMMARIZE
SP BY (П#) ADD COUNT AS
Количество_поставок
Функция COUNT определяет количество кортежей в
каждой группе исходного отношения.
SUMMARIZE SP BY (П#) ADD SUM Количество AS
Общее_число_поставок
AVG
Количество
AS
Среднее_число_поставок.
English     Русский Rules