Операции над отношениями и записями.

Для реляционных моделей баз данных на этапе даталогического проектирования устанавливаются операции: горизонтального разбиения, вертикального, соединения, деления, декартова произведения, объединения и пересечения. Эти операции выполняются по дополнительным условиям, задаваемым при проектировании баз данных. Рассмотрим их.

Горизонтальное разбиение.

В этом случае на входе имеется одно отношение, а на выходе – два с одними и теми же полями и записями, выбранными по условию.

Например, пусть из одного отношения ПЛАН (табл.107) необходимо составить два. В одном из них в записях используются масштабы больше 1:2000, а в другом меньших (табл.108,109).

Таблица 107. Исходное отношение ПЛАН.

Масштаб Сечение рельефа ФИО Номер участка
1:2000 1:5000 1:1000 1:2000 Иванов И.П. Сидоров Н.И. Петров Н.В. Ефимов Л.Н.

Таблица 108. Результирующее отношение ПЛАН 1.

Масштаб Сечение рельефа ФИО Номер участка
1:5000 Сидоров Н.И.

Таблица 109. Результирующее отношение ПЛАН 2.

Масштаб Сечение рельефа ФИО Номер участка
1:2000 1:1000 1:2000 Иванов И.П. Петров Н.В. Ефимов Л.Н.

Вертикальное разбиение (Проекция).

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

Если, например спроецировать отношение ПЛАН по атрибутам масштаб и сечение рельефа, то получим следующее отношение (табл.110)

Таблица 110. Спроецированное отношение.

Масштаб Сечение рельефа
1:2000 1:5000 1:1000

Соединение.

В этом случае отношения А и В соединяются по общим атрибутам. Пусть отношение ПЛАН будет А, а отношение В – ДИСПЕТЧЕР (табл.111)

Таблица 111. Отношение ДИСПЕТЧЕР.

ФИО НОМ-УЧ НОМ-СООТВ
Иванов И.П. Иванов Н.П. Сидоров Н.И. Петров Н.В.

Тогда соединение этих отношений по атрибуту – НОМ-УЧ будет

Таблица 112. Соединенное отношение.

Масштаб Сечение рельефа ФИО НОМ-УЧ НОМ-СООТВ
1:2000 1:5000 1:1000 Иванов Н.П. Сидоров Н.И. Петров Н.В.

Деление.

При делении отношения А на В в результирующем находятся только те атрибуты отношения А, которых нет в В. Число записей определено условием, задаваемым отношением В.

Пусть исходным будет соединенное отношение. Разделим его на отношение “делитель” (табл.113).

Таблица 113. Делитель.

Масштаб Сечение рельефа, м
1:2000

Результирующим будет отношение “результат деления”.

Таблица 114. Результат деления.

ФИО НОМ-УЧ НОМ-СООТВ
Иванов Н.П.

Декартово произведение.

Декартово произведение АхВ двух множеств А (а1а2), В (в1в2) есть третье множество С (а1в1, а1в2, а2в1, а2в2). В соответствии с ним декартово произведение отношений “Делитель” и “Результат деления” будет отношение “произведение”.

Таблица 115. Произведение.

Масштаб Сечение рельефа ФИО НОМ-УЧ НОМ-СООТВ
1:1000 Иванов Н.П.

В данном примере множества А и В состоят каждое из своей составляющей.

Объединение.

Это самая простая операция. На входе появляются два абсолютно одинаковых отношения А и В. Они различаются лишь числами и значениями полей. Результатом будет отношение, которое охватывает все записи А и прибавляет к ним записи В.

Пересечение.

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

Операции Пересечения и Деления выполняются лишь по определенному атрибуту.

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