Добавил:
rushevamar@mail.ru Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпоры бд.docx
Скачиваний:
111
Добавлен:
17.06.2021
Размер:
4.93 Mб
Скачать
  1. Реляционные операции селекции и проекции.

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

Операция выборки

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

Операция выборки работает с одним отношением R и определяет результирующее отношение, которое содержит только те кортежи (строки) отношения R, которые удовлетворяют заданному условию F (предикату).

 или 

Пример 5.1. Операция выборки в SQL.

Выборка   записывается следующим образом:

SELECT a1, a2

FROM R

WHERE a2=1

5.1. Операция выборки в SQL.

Операция проекции

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

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

Пример 5.2Операция проекции в SQL.

Проекция   записывается следующим образом:

SELECT DISTINCT b2

FROM S

5.2. Операция проекции в SQL.

  1. Реляционная операция соединения. Ее разновидности.

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

Обычно рассматривается несколько разновидностей операции соединения:

Общая операция соединения

соединение (тэта-соединение)

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

Естественное соединение

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

Общая операция соединения

Определение 8Соединением отношений   и   по условию   называется отношение

с представляет собой логическое выражение, в которое могут входить атрибуты отношений  А и В (или) скалярные выражения.

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

Тэта-соединение

Определение 9. Пусть отношение А содержит атрибут Х, отношение В содержит атрибут У, а Н - один из операторов сравнения (=,>,< и т.д.). Тогда Н -соединением отношения В по атрибуту У с отношением А по атрибуту Х называют отношение

Это частный случай операции общего соединения.

Иногда, для операции Н -соединения применяют следующий, более короткий синтаксис:

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

Наиболее важным частным случаем Н-соединения является случай, когда Н есть просто равенство.

Синтаксис экви-соединения:

Естественное соединение

Определение 10. Пусть даны отношения   и  , имеющие одинаковые атрибуты   (т.е. атрибуты с одинаковыми именами и определенные на одинаковых доменах).

Тогда естественным соединением отношений А и В называется отношение с заголовком   и телом, содержащим множество кортежей  , таких, что   и  .

Естественное соединение настолько важно, что для него используют специальный синтаксис:

Замечание. В синтаксисе естественного соединения не указываются, по каким атрибутам производится соединение. Естественное соединение производится по всем одинаковым атрибутам.

Замечание. Естественное соединение эквивалентно следующей последовательности реляционных операций:

Переименовать одинаковые атрибуты в отношениях

Выполнить декартово произведение отношений

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

Выполнить проекцию, удалив повторяющиеся атрибуты

Переименовать атрибуты, вернув им первоначальные имена

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

поэтому такие соединения можно записывать, опуская скобки: