Лекция: Реляционная алгебра
Третья часть реляционной модели, манипуляционная часть, утверждает, что доступ к реляционным данным осуществляется при помощи реляционной алгебры или эквивалентного ему реляционного исчисления.
В реализациях конкретных реляционных СУБД сейчас не используется в чистом виде ни реляционная алгебра, ни реляционное исчисленее. Фактическим стандартом доступа к реляционным данным стал язык SQL (Structured Query Language). Язык SQL представляет собой смесь операторов реляционной алгебры и выражений реляционного исчисления, использующий синтаксис, близкий к фразам английского языка и расширенный дополнительными возможностями, отсутствующими в реляционной алгебре и реляционном исчислении. Язык доступа к данным называется реляционно полным, если он по выразительной силе не уступает реляционной алгебре т.е. любой оператор реляционной алгебры может быть выражен средствами этого языка.
Операции обновления таблиц (включить, удалить, обновить). Операция ВКЛЮЧИТЬ – добавляет кортеж (строку-запись) в таблицу – отношенее. Требует задания имени таблицы и обязательного значения ключей. Выполняется при условии уникальности значения ключа. Добавить новую строку-запись со значенеем ключа, которое уже есть в таблице, невозможно; Операция УДАЛИТЬ - удаляет одну или группу кортежей (строк-записей). Требует задания имени таблицы, имени поля (группы полей) и параметров значений полей, кортежи с которыми должны быть удалены; Операция ОБНОВИТЬ – изменяет значенее не ключевых полей у одного или группы кортежей. Требует задания имени таблицы- отношения, имён полей и их значений для выбора кортежей и имен изменяемых полей.
Операции обработки (объединенее, пересеченее, разность, произведенее, выборка, соединенее, деленее, присвоенее).Примеры. К операциям обработки относятся следующие операции: Операция ОБЪЕДИНЕНИЕ – выполняется над двумя односхемными таблицами- отношениями. Результатом объединения является построенная по той же схеме таблица-отношенее и все кортежи второй таблицы-отношения. При этом кортежи-дубликаты в итоговой таблице устраняются; Операция ПЕРЕСЕЧЕНИЕ- выполняется также над двумя односхемными таблицами-отношениями. Результатом является таблица-отношенее, построенная по той же схеме и содержащая только те кортежи первой таблицы-отношения, которые входят также в состав кортежей второй таблицы- отношения. Для примера рассмотрим таблицу «Сотрудники» со схемой (полями) ФИО, Год рождения, Национальность и таблицу «Вкладчики банка «Унибанк» с той же схемой. Результатом их пересечения будет новая таблица с той же схемой, содержащая кортежи только тех сотрудников, которые имеют вклады в банке «Унибанк». Операция ВЫЧИТАНИЕ- выполняется также над двумя односхемными таблицами-отношениями. Результатом является таблица-отношенее, построенная по той же схеме и содержащая только те кортежи первой таблицы-отношения, которых нет в составе кортежей второй таблицы-отношения. Результатом операции вычитания над таблицами в предыдущем примере будет новая таблица с той же схемой, содержащая кортежи только тех сотрудников, которые не имеют вкладов в банке «Унибанк».
Основные операции реляционной алгебры Объединенее Разность Декартово про-нее Проекция Пересеченее Деленее Θ-соединенее
Объединенее
Пример. Объединения При объединенее 2-ух множеств в результат входят элементы обоих множеств B A
Операция ОБЪЕДИНЕНИЕ Выполняется над двумя односхемными таблицами- отношениями. Результатом объединения является построенная по той же схеме таблица-отношенее и все кортежи второй таблицы-отношения. При этом кортежи-дубликаты в итоговой таблице устраняются;
Пример. Объединения Пусть даны два отношения и с информацией о сотрудниках: Фамилия Зарплата 1Иванов Петров Сидоров 3000 Фамилия Зарплата 1Иванов Динков Сидоров 3000 Таблица 1 Отношенее AТаблица 2 Отношенее B
Результат Объединения Фамилия Зарплата 1Иванов Петров Сидоров Динков 2500 Таблица 3 Отношенее A UNION B
Разность (Вычитанее)
Пример. Разность При вычитании из одного множества другого в результат идет только элементы множества А без общих элементов с множеством В A B
Операция РАЗНОСТЬ (ВЫЧИТАНИЕ) Выполняется также над двумя односхемными таблицами-отношениями. Результатом является таблица-отношенее, построенная по той же схеме и содержащая только те кортежи первой таблицы- отношения, которых нет в составе кортежей второй таблицы-отношения. Результатом операции вычитания над таблицами в предыдущем примере будет новая таблица с той же схемой, содержащая кортежи только тех сотрудников, которые не имеют вкладов в банке «Унибанк».
Декартово произведенее
Операция ПРОИЗВЕДЕНИЕ (ДЕКАРТОВО) o Выполняется над таблицами-отношениями с разными схемами. Результатом является таблица-отношенее, схема которой включает все поля первой и все поля второй таблицы. Кортежи результирующей таблицы образуются путём последовательного сцепления каждого кортежа первой таблицы-отношения к каждому кортежу второй таблицы-отношения. Количество кортежей результирующей таблицы соответственно равно произведению количества кортежей первой таблицы на количество кортежей второй таблицы.
Проекция
Операция ПРОЕКЦИЯ (ВЕРТИКАЛЬНОЕ ПОДМНОЖЕСТВО)- o также выполняется над одной таблицей-отношенеем. Результатом является новая таблица-отношенее; схема которой содержит только некоторое подмножество полей исходной таблицы- отношения. Каждому кортежу исходной таблицы соответствует кортеж итоговой таблицы, образованный соответствующими значениями по полям, вошедшим в итоговую таблицу-отношенее. При этом в итоговой таблице кортежи-дубликаты устраняются и поэтому мощность итоговой таблицы (количество кортежей) может быть равным или меньше исходной.
Пример. Проекция Проекция Город_поставщика будет иметь вид: Таблица. Отношенее Соединенее A[Город поставщика] Город_ поставщика Кишинёв Окница Вулканешты Проекция
+селекция
Пересеченее
Пример. Пересеченее При пересеченее 2-ух множеств в результат входят элементы принадлежавшие как множеству А так и множеству В B A
Операция ПЕРЕСЕЧЕНИЕ Выполняется также над двумя односхемными таблицами-отношениями. Результатом является таблица-отношенее, построенная по той же схеме и содержащая только те кортежи первой таблицы- отношения, которые входят также в состав кортежей второй таблицы-отношения. Для примера рассмотрим таблицу «Сотрудники» со схемой (полями) ФИО, Год рождения, Национальность и таблицу «Вкладчики банка «Унибанк» с той же схемой. Результатом их пересечения будет новая таблица с той же схемой, содержащая кортежи только тех сотрудников, которые имеют вклады в банке «Унибанк».
Операция ВЫБОРКА (горизонтальное подмножество) Выполняется над одной таблицей- отношенеем. Результатом является таблица - отношенее той же схемы, содержащая подмножество кортежей исходной таблицы-отношения, удовлетворяющих условию выборки
Пример. Выборка Пусть дано отношенее А с информацией о сотрудниках: Фамилия Зарплата 1Иванов Петров Сидоров 3000 Таблица. Отношенее A Выборка
Деленее
Θ-соединенее R = A B C S = D E A B C D E
Естественное соединенее Операция выполняется как эквисоединенее отношений по общим атрибутам.