Операции над отношениями и записями.
Для реляционных моделей баз данных на этапе даталогического проектирования устанавливаются операции: горизонтального разбиения, вертикального, соединения, деления, декартова произведения, объединения и пересечения. Эти операции выполняются по дополнительным условиям, задаваемым при проектировании баз данных. Рассмотрим их.
Горизонтальное разбиение.
В этом случае на входе имеется одно отношение, а на выходе – два с одними и теми же полями и записями, выбранными по условию.
Например, пусть из одного отношения ПЛАН (табл.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 | Иванов Н.П. |
В данном примере множества А и В состоят каждое из своей составляющей.
Объединение.
Это самая простая операция. На входе появляются два абсолютно одинаковых отношения А и В. Они различаются лишь числами и значениями полей. Результатом будет отношение, которое охватывает все записи А и прибавляет к ним записи В.
Пересечение.
В этом случае из двух отношений А и В строится результирующее отношение С. В нем содержатся только те записи отношения А, которые есть в В.
Операции Пересечения и Деления выполняются лишь по определенному атрибуту.
Следует отметить, что кроме операций над отношениями существуют операции и над записями: включить новую запись, удалить существующую, обновить запись. В зависимости от используемой СУБД возможны и другие операции, реализуемые алгоритмическим языком и функциями СУБД.