Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Проектирование ИС 2011.doc
Скачиваний:
72
Добавлен:
11.03.2015
Размер:
356.86 Кб
Скачать

31. Реляционная алгебра. Специальные операции

Операция выборка– это операция реляционной алгебры, производящая отбор строк исходной таблицы на основании некоторого условия (SELECT / WHERE).Результат выбора: реляционная таблица.Синтаксис операции: Имя новой таблицы:= SELECT (имя исходной таблицы: условие).Операция создания проекции – это операция реляционной алгебры, создающая новую таблицу путем исключения столбцов из исходной таблицы (Project / либо указывается столбец, который следует оставить в результирующей таблице).Проекция– это реляционная таблица, полученная в результате применения к исходной таблицы операции проекции. · При выполнении проекции отношения на заданный набор его атрибутов производится отношение, кортежи которого производятся путем взятия соответствующих значений из кортежей отношения-операнда. Операция переименования производит отношение, тело которого совпадает с телом операнда, но имена атрибутов изменены:

 <отношение>[<атрибут1> AS <псевдоним1>, <атрибут2>, …] .  После преобразования получится следующий запрос SQL: SELECT DISTINCT <атрибут1> AS <псевдоним1>, <атрибут2>, … FROM <отношение>. Операция создания проекции автоматически исключает повторы из результирующей таблицы. Операция деления– это операция реляционной алгебры, создающая новую таблицу, потеем выбора строк одной таблицы соответствующих каждой строке другой таблицы (/ DIVISOIN).

В

 

C

 

C1

 

C2

S#

P#

 

P#

 

P#

 

P1

S1

P1

 

P1

 

P2

 

P2

S1

P2

 

 

 

P4

 

P3

S1

P3

 

 

 

 

 

P4

S1

P4

 

 

 

 

 

P5

S1

P5

 

 

 

 

 

P6

S1

P6

 

 

 

 

 

 

S2

Р1

 

 

 

 

 

 

S2

Р2

 

 

 

 

 

 

S3

Р2

 

 

 

 

 

 

S4

P2

 

 

 

 

 

 

S4

P4

 

 

 

 

 

 

S4

P4

 

 

 

 

 

 

A:=B/C

 

A:=B/C1

 

A:=B/C2

S#

 

S#

 

S#

S1

 

S1

 

S1

S2

 

S4

 

 

Операция соединения – это операция реляционной алгебры, связывающая таблицы (Join).Существуют следующие соединения:

  • Естественное.

  • Тето соединения.

  • Внешнее соединение (левое, правое, полное).

· При естественном соединении двух отношений образуется результирующее отношение, кортежи которого являются конкатенацией кортежей первого и второго отношений по атрибутам с одинаковыми именами. То есть соединяться будут кортежи, у которых совпадают значения в полях с одинаковыми именами. В результирующем отношении дубликатные атрибуты отсутствуют. Операция естественного соединения {<отношение1> JOIN <отношение2>} преобразуется в следующий запрос: SELECT DISTINCT <список всех атрибутов без повторений> FROM <отношение1> INNER JOIN <отношение2> ON <отношение1>.<атрибут1> = <отношение2>.<атрибут1> AND <отношение1>.<атрибут2> = <отношение2>.<атрибут2> AND … Отметим, что внутреннее соединение выполняется здесь только по атрибутам с совпадающими именами.Естественные соединения– это операция соединения, связывающая таблицы, когда общие столбцы имеет равные значения, при этом из результата исключаются повторяющиеся столбцы.Операция естественного соединения выполняется в три этапа:

  • Берется произведение таблиц A & В.

  • Из таблицы исключаются все строки, в которых значения по столбцам соединения не совпадают.

  • Взятием проекции исключаются копии столбцов, по которым было соединение.