Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
42
Добавлен:
10.02.2015
Размер:
102.91 Кб
Скачать

38. Реляционная алгебра, основные операторы реляционной алгебры. Связь языка SQL с операторами реляционной алгебры.

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

В состав теоретико-множественных операций входят операции:

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

Связь SQL с реляционной алгеброй(объединение):

SELECT A.x, A.b

FROM A

WHERE A.b > 1000

UNION

SELECT A.x, A.b

FROM A

WHERE A.b > 2000

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

Связь SQL с реляционной алгеброй(пересечение):

SELECT A.x, A.b

FROM A

WHERE A.b IN (SELECT A.b FROM B)

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

Связь SQL с реляционной алгеброй(разность):

SELECT A.x, A.b

FROM A

WHERE A.b NOT IN (SELECT A.b FROM B)

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

  • степень результирующего(количество доменов) отношения равна сумме степеней исходных отношений

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

Связь SQL с реляционной алгеброй(декартово произведение):

SELECT A.x, A.z, B.c, B.d

FROM A,B

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

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

Связь SQL с реляционной алгеброй(выборка):

SELECT A.x, A.b

FROM A

WHERE A.b > 1000

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

Связь SQL с реляционной алгеброй(проекция):

SELECT DISTINCT A.x, A.b

FROM A

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

Связь SQL с реляционной алгеброй(соединение):

SELECT *

FROM A

INNER JOIN B ON A.x = B.x

  1. Деление отношений. R1 и R2 – это два отношения. Результат новое отношение, структура которого получается исключением из множества атрибутов R1 множество атрибутов R2. Результирующие строки не должен содержать дубликаты.

Связь SQL с реляционной алгеброй(деление):

SELECT DISTINCT A.x

FROM A

WHERE NOT EXISTS (SELECT *

FROM B

WHERE NOT EXISTS (SELECT *

FROM A A1

WHERE A1.x=A.x and A1.y=B.y)

)

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

Соседние файлы в папке Ответы к ГОСу