Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
иобд 1-50.doc
Скачиваний:
6
Добавлен:
23.12.2018
Размер:
465.41 Кб
Скачать

28. Реляционная алгебра Кодда.

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

Набор основных операций:

объединения отношений;

пересечения отношений;

взятия разности отношений;

прямого произведения отношений.

Специальные реляционные операции включают:

ограничение отношения;

проекцию отношения;

соединение отношений;

деление отношений.

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

Общая интерпретация реляционных операций:

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

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

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

4.Декартово произведение. При выполнении прямого произведения двух отношений производится отношение, кортежи которого являются конкатенацией (сцеплением) кортежей первого и второго операндов.

Специальные операции:

 Результатом ограничения отношения по некоторому условию является отношение, включающее кортежи отношения-операнда, удовлетворяющее этому условию.

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

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

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

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

 Операция присваивания позволяет сохранить результат вычисления реляционного выражения в существующем отношении БД.

29. Операция сединения отношений

http://citforum.ru/database/osbd/glava_20.shtml (если что неясно)

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

Пример: таблица 1 Служащие

Служ ном

Служ имя

Служ з\п

Проект оператора

7934

Иванов

22400

1

2935

Петров

29600

1

2937

Фёдоров

24000

1

2935

Петров

22400

2

2940

Федоренко

29600

2

2941

Иванченко

22000

2

Табл.2Проекты

Проект ном1

Проект рук

Проект з\п

1

Иванов

2

Иванченко

Служащие JOIN

Проекты WHERE

(служ-з\п> проект-зп)

Результатом будет следующее отношне, которое будет состоять из 7столбцов и 2 строк.

Служ-ном

Служ-имя

Служ-зп

Про ном

Про ном1

Про рук

Проект зп

2935

Петров

29600

1

1

Иванов

224000

2935

Петров

29600

2

2

Иванченко

224000

В операции соединения есть 2 частных случая:

Эквисоединения

А JOIN ВWHERE (а=б)

В результате эквисоединения получаем след табл.

Служ ном

Служ имя

Служзп

Про ном

Про ном1

Про рук

Проек ном

2934

Иванов

22400

1

1

Иванов

22400

2934

Иванов

22400

2

2

Иваноченко

22400

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]