Что называют реляционной алгеброй

Реляционная алгебра

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

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

Содержание

Замкнутость реляционной алгебры

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

Операции над одним отношением называются унарными, над двумя отношениями — бинарными, над тремя — тернарными (таковые практически неизвестны).

Пример унарной операции — проекция, пример бинарной операции — объединение.

N-арную реляционную операцию f можно представить функцией, возвращающей отношение и имеющей n отношений в качестве аргументов:

Что называют реляционной алгеброй. Смотреть фото Что называют реляционной алгеброй. Смотреть картинку Что называют реляционной алгеброй. Картинка про Что называют реляционной алгеброй. Фото Что называют реляционной алгеброй

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

Что называют реляционной алгеброй. Смотреть фото Что называют реляционной алгеброй. Смотреть картинку Что называют реляционной алгеброй. Картинка про Что называют реляционной алгеброй. Фото Что называют реляционной алгеброй

В реляционных выражениях можно использовать вложенные выражения сколь угодно сложной структуры.

Ограничения на операции

Некоторые реляционные операции, в частности, операции объединения, пересечения и вычитания, требуют, чтобы отношения имели совпадающие (одинаковые) заголовки (схемы). Это означает, что совпадают количество атрибутов, названия атрибутов и тип (домен) одноимённых атрибутов.

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

Операции реляционной алгебры

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

Переименование

В результате применения операции переименования получаем новое отношение, с измененными именами атрибутов.
Синтаксис:

R — отношение
Atr1, Atr2, … — исходные имена атрибутов
NewAtr1, NewAtr2, … — новые имена атрибутов

Объединение

Отношение с тем же заголовком, что и у совместимых по типу отношений A и B, и телом, состоящим из кортежей, принадлежащих или A, или B, или обоим отношениям.
Синтаксис:

Пересечение

Отношение с тем же заголовком, что и у отношений A и B, и телом, состоящим из кортежей, принадлежащих одновременно обоим отношениям A и B.
Синтаксис:

Вычитание

Отношение с тем же заголовком, что и у совместимых по типу отношений A и B, и телом, состоящим из кортежей, принадлежащих отношению A и не принадлежащих отношению B.
Синтаксис:

Декартово произведение

Отношение (A1, A2, …, Am, B1, B2, …, Bm), заголовок которого является сцеплением заголовков отношений A(A1, A2, …, Am) и B(B1, B2, …, Bm), а тело состоит из кортежей, являющихся сцеплением кортежей отношений A и B:

Выборка (ограничение)

Отношение с тем же заголовком, что и у отношения A, и телом, состоящим из кортежей, значения атрибутов которых при подстановке в условие c дают значение ИСТИНА. c представляет собой логическое выражение, в которое могут входить атрибуты отношения A и/или скалярные выражения.
Синтаксис:

Проекция

Отношение с заголовком (X, Y, …, Z) и телом, содержащим множество кортежей вида (x, y, …, z), таких, для которых в отношении A найдутся кортежи со значением атрибута X равным x, значением атрибута Y равным y, …, значением атрибута Z равным z. При выполнении проекции выделяется «вертикальная» вырезка отношения-операнда с естественным уничтожением потенциально возникающих кортежей-дубликатов.
Синтаксис:

Соединение

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

Деление

Примечания

Литература

Ссылки

Полезное

Смотреть что такое «Реляционная алгебра» в других словарях:

Реляционная алгебра — формальная система манипулирования отношениями, основными операциями которой являются: проекция, соединение, пересечение и объединение. См. также: Реляционная модель данных Финансовый словарь Финам … Финансовый словарь

реляционная алгебра — — [http://www.iks media.ru/glossary/index.html?glossid=2400324] Тематики электросвязь, основные понятия EN relational algebra … Справочник технического переводчика

реляционная алгебра — saryšių algebra statusas T sritis automatika atitikmenys: angl. relational algebra vok. Relationsalgebra, f rus. алгебра отношений, f; реляционная алгебра, f pranc. algèbre des relations, f … Automatikos terminų žodynas

Проекция (реляционная алгебра) — У этого термина существуют и другие значения, см. Проекция. Проекция в реляционной алгебре унарная операция, которая позволяет получить «вертикальное» подмножество данного отношения, или таблицы, то есть такое подмножество, которое… … Википедия

Реляционная модель данных — (РМД) логическая модель данных, прикладная теория построения баз данных, которая является приложением к задачам обработки данных таких разделов математики как теории множеств и логика первого порядка. На реляционной модели данных строятся… … Википедия

Алгебра (значения) — Алгебра раздел математики либо математическая структура специального вида (см. Алгебраическая система) Как раздел математики Абстрактная алгебра Алгебра логики раздел математической логики. Коммутативная алгебра Линейная алгебра… … Википедия

Реляционная модель — данных логическая модель данных, строгая математическая теория, описывающая структурный аспект, аспект целостности и аспект обработки данных в реляционных базах данных. Структурный аспект (составляющая) данные в базе данных представляют собой… … Википедия

алгебра отношений — saryšių algebra statusas T sritis automatika atitikmenys: angl. relational algebra vok. Relationsalgebra, f rus. алгебра отношений, f; реляционная алгебра, f pranc. algèbre des relations, f … Automatikos terminų žodynas

Реляционная СУБД — (РСУБД; иначе Система управления реляционными базами данных, СУРБД) СУБД, управляющая реляционными базами данных. Понятие реляционный (англ. relation отношение) связано с разработками известного английского специалиста в области… … Википедия

Реляционная база данных — Реляционная база данных база данных, основанная на реляционной модели данных. Слово «реляционный» происходит от англ. relation (отношение[1]). Для работы с реляционными БД применяют реляционные СУБД. Использование реляционных баз… … Википедия

Источник

Реляционная алгебра

Вы будете перенаправлены на Автор24

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

Языки запросов на основе реляционной алгебры не получили широкого распространения в современных СУБД. Знание реляционной алгебры необходимо для того, чтобы понять суть реляционных операций, которые используют другие языки.

Коддом был предложен вариант реляционной алгебры, который содержит основные операции объединения, разности (вычитания), пересечения, декартова (прямого) произведения (или просто произведения), выборки (селекции, ограничения), проекции, деления и соединения.

На рисунке 1 представлено графическое представление названных операций.

Недостатки реляционной алгебры Кодда

Реляционная алгебра, предложенная Коддом, имеет несколько недостатков:

Готовые работы на аналогичную тему

Операции реляционной алгебры Кодда

Операции реляционной алгебры Кодда делятся на 2 группы:

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

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

Под совместимостью структур отношений понимается совместимость типов соответствующих доменов и имен атрибутов.

Частный случай совместимости – совпадение (идентичность).

Объединение

Вычитание

Пересечение

Произведение

Выборка

При записи формулы используют операнды – имена атрибутов (можно номера столбцов), логические операции (NOT – НЕ, OR – ИЛИ, AND – И), константы, скобки и операции сравнения.

Проекция

Деление

Соединение

$(R1 TIMES R2) WHERE X Q Y$,

Получи деньги за свои студенческие работы

Курсовые, рефераты или другие работы

Автор этой статьи Дата написания статьи: 01 08 2016

Источник

Что называют реляционной алгеброй

Во вторую группу входят операции, применимые только к отношениям:

Рис. 1. Операции реляционной алгебры

Нужно объединить два отношения Физ_лица и Юр_лица.

Отношение Физ_лица
ФИОАдр_регистрацииФакт_адр
Иванов Ю.М.Москва, Тверская 2С.-Петербург,Садовая ул. 12
Сергеев И.А.С.-Петербург, Седова 23С.-Петербург, Гороховая ул. 34
...

Отношение Юр_лица
НаимАдр_регистрацииАдр_офиса
АльфаНовгород, Садовая ул. 2С.-Петербург,Садовая ул. 42
Бета.С.-Петербург, Московский пр. 23Гатчина, Лесная ул. 34
...

Результат запроса:

ИМЯАдр_официальныйФактический_адр
Иванов Ю.М.Москва, Тверская 2С.-Петербург,Садовая ул. 12
Сергеев И.А.С.-Петербург, Седова 23С.-Петербург, Гороховая ул. 34
АльфаНовгород, Садовая ул. 2С.-Петербург,Садовая ул. 42
Бета.С.-Петербург, Московский пр. 23Гатчина, Лесная ул. 34
...

Операции объединения, пересечения и разности имеют следующие особенности:

Из отношения Жители нужно выбрать жителей, младше 30 лет

Отношение Жители
ФИОВозраст
Андреев31
Иванов21
Перов40
Яковлев27

На языке SQL запрос запрос выглядит так:

Результат выборки

ФИОВозраст
Андреев31
Перов40

Из отношения Жители нужно выбрать только фамилии жителей

Отношение Жители
ИмяФИОВозраст
ЮрийИванов31
СергейИванов21
ВладимирПеров40
ИгорьПеров27

На языке SQL запрос запрос выглядит так:

Результат выборки

ФИО
Иванов
Перов

Язык SQL предназначен для работы с реальными таблицами и допускает несколько одинаковых строк в таблице с результатами запроса. Для исключения одинаковых строк служит служебное слово DISTINCT

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

Даны два отношения Рабочие и Инструменты

Рабочие
ТабНомерФИОДолжность
1АндреевСлесарь
2ИвановСлесарь
3ПеровТокарь
4ЯковлевФрезеровщик

Инструменты
ТабНомерИнструмент
1Штангельциркуль
1Микрометр
1Линейка
2Штангельциркуль
2Скоба

ТабНомерФИОДолжностьИнструмент
1АндреевСлесарьШтангельциркул
1АндреевСлесарьМикрометр
1АндреевСлесарьЛинейка
2ИвановСлесарьШтангельциркул
2ИвановСлесарьСкоба

Если в запросе не указать общий атрибут, то получится декартово произведение, состоящее из 4*5=20 кортежей.

При выполнении запроса SELECT, как правило, делаются несколько реляционных операций. Например, для выборки из отношения Рабочие всех кортежей со слесарями и атрибутов ФИО и Должность служит оператор

Выполнение этого запроса состоит из двух реляционных операций: выборки и проекции.

Источник

МИГКУ ИТ-51вс

Метки

Добавить страницу

Реляционная алгебра — формальная система манипулирования отношениями в реляционной модели данных. [1]

Выборка

Операция выборки — унарный оператор, записываемый как σaθb(R) или σaθv(R), где:

Выборка σaθb(R) (или σaθv(R)) выбирает все наборы значений R, для которых функция a θ b (или a θ v) будет истинна.

Пример

Пусть даны следующие соотношения:

ИмяВозрастВес
Harry3480
Sally2864
George2970
Helena5454
Peter3480

Тогда результаты выборок будут следующими:

ИмяВозрастВес
Harry3480
Helena5454
Peter3480
ИмяВозрастВес
Helena5454

Проекция

Операция выборки — унарный оператор, записываемый как πa1,…,an(R) где a1,…,an — спиоск полей, подлежащих выборке. Результатом такой выборки будет набор последовательностей значений отношения R, в котором будут присутствовать только поля, перечисленные в списке a1,…,an с естественным уничтожением потенциально возникающих кортежей-дубликатов[4].

Пример

Пусть даны следующие соотношения:

ИмяВозрастВес
Harry3480
Sally2864
George2970
Helena5454
Peter3480
ВозрастВес
2864
2970
5454
3480

Объединение

Что называют реляционной алгеброй. Смотреть фото Что называют реляционной алгеброй. Смотреть картинку Что называют реляционной алгеброй. Картинка про Что называют реляционной алгеброй. Фото Что называют реляционной алгеброй

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

Пример

Пусть даны следующие соотношения:

ИмяВозрастВес
Harry3480
Sally2864
George2970
Helena5454
Peter3480
ИмяВозрастВес
Daffy2419
Donald2523
Scrooge8127
ИмяВозрастВес
Harry3480
Sally2864
George2970
Helena5454
Peter3480
Daffy2419
Donald2523
Scrooge8127

Пересечение

Что называют реляционной алгеброй. Смотреть фото Что называют реляционной алгеброй. Смотреть картинку Что называют реляционной алгеброй. Картинка про Что называют реляционной алгеброй. Фото Что называют реляционной алгеброй

Результатом пересечения отношений A и B будет отношение с тем же заголовком, что и у отношений A и B, и телом, состоящим из кортежей, принадлежащих одновременно обоим отношениям A и B.

Пример

Пусть даны следующие соотношения:

ИмяВозрастВес
Harry3480
Sally2864
George2970
Helena5454
Peter3480
ИмяВозрастВес
Daffy2419
George2970
Donald2523
Scrooge8127
Sally2864
ИмяВозрастВес
George2970
Sally2864

Разность

Что называют реляционной алгеброй. Смотреть фото Что называют реляционной алгеброй. Смотреть картинку Что называют реляционной алгеброй. Картинка про Что называют реляционной алгеброй. Фото Что называют реляционной алгеброй

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

Пример

Пусть даны следующие соотношения:

ИмяВозрастВес
Harry3480
Sally2864
George2970
Helena5454
Peter3480
ИмяВозрастВес
Daffy2419
George2970
Donald2523
Scrooge8127
Sally2864
ИмяВозрастВес
Harry3480
Helena5454
Peter3480

Произведение

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

Пример

Пусть даны следующие соотношения:

Код_мультаНазвание_мульта
0The Simpsons
1Family Guy
2Duck Tales
Код_каналаНазвание_канала
0СТС
12х2
Код_мультаНазвание_мультаКод_каналаНазвание_канала
0The Simpsons0СТС
0The Simpsons12х2
1Family Guy0СТС
1Family Guy12х2
2Duck Tales0СТС
2Duck Tales12х2

Деление

Реляционное деление достаточно нетривиально описать, но на примере его смысл нагляден. В целом, из таблицы A берутся значения строк, для которых присутствуют все комбинации значений из таблицы B. Понятно? Ну, примерно об этом я и пытался сказать, смотрим пример:

Пример

Пусть даны следующие соотношения:

Код_мультаНазвание_мультаНазвание_канала
0The SimpsonsRenTV
0The Simpsons2х2
0The SimpsonsCTC
1Family GuyRenTV
1Family Guy2х2
2Duck TalesСТС
2Duck Tales2×2

Тогда при делении на таблицу каналов:

Название_канала
RenTV
2х2
Код_мультаНазвание_мульта
0The Simpsons
1Family Guy

Family Guy и The Simpsons — мультфильмы, которые показывались и на RenTV и на 2×2 (условие во второй таблице). При этом Duck Tales не показывалось по RenTV, потому был исключён из результирующей таблицы.

Эквивалентный SQL-запрос привести затрудняюсь

Соединение

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

Пример

Код_мультаНазвание_мультаНазвание_канала
0The Simpsons2х2
1Family Guy2х2
2Duck TalesRenTV
Код_каналаЧастота
RenTV3,1415
2х2783,25

Соединим их с выборкой σНазвание_канала = Код_канала(Произведение)
Первый этап, произведение:

Код_мультаНазвание_мультаНазвание_каналаКод_каналаЧастота
0The Simpsons2х2RenTV3,1415
0The Simpsons2х22х2783,25
1Family Guy2х2RenTV3,1415
1Family Guy2х22х2783,25
2Duck TalesRenTVRenTV3,1415
2Duck TalesRenTV2х2783,25

Второй этап, выборка σНазвание_канала = Код_канала(Произведение):

Источник

2.2 Оператор проекции

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

и в качестве контекста указывается список колонок:

Пример того, как можно комбинировать оператор выборки и проекции. Выберем id студентов с gpa > 3.7:

2.3 Оператор переименования

Как следует из названия оператор переименования позволяет переименовывать атрибуты отношений. Оператор переименования является унарным оператором и имеет следующую форму:

Получим новое отношение с переименованными атрибутами:

Далее на примерах мы поймем почему данный оператор так важен.

3.0 Объединение отношений

3.1 Декартово произведение

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

имеют общие атрибуты Id. Запрос можно выразить следующим образом, что бы избавиться от дубликатов атрибутов:

в результате получим отношение:

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

Само по себе декартово произведение не так полезно, если его не использовать с другими операторами.

Например, мы хотим получить место парковки Боба. Для этого используя декартово произведение можно применить оператор выборки на сравнение EmployeeId и ParkingId к результату полученного отношения:

В результате получим отношение

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

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

Пример решения задачи отображения места парковки Боба используя оператор естественного соединения:

3.3 Тета соединение

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

Для наглядности мы можем переписать наш предыдущий запрос получения места парковки Боба используя тета соединение:

4.0 Множества

4.1 Оператор объединения

Все операторы, которые были описаны выше используются для объединения кортежей таблиц по горизонтали. А что если необходимо объединить в один список значения из разных таблиц? Для этого удобнее всего будет воспользоваться оператором объединения. Например, можно объединить столбцы Id отношений Parking и Employee:

$$\pi_Employee \cup \pi_Parking$$

Оператор объединения ожидает, что типы объединяемых столбцов, их название и их количество должно быть одинаковым. Для объединения столбцов с разными названиями можно воспользоваться оператором переименования:

4.2 Оператор разности

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

Например, нам нужно получить список свободных парковочных мест. Для этого мы можем применить оператор разности между отношениями Employee и Parking:

Но данный запрос в качестве результата покажет только Id парковочных мест. Что если мы хотели бы показать еще и номера свободных парковочных мест? Мы не можем добавить в контекст проекции атрибут Space, так как это исказит наше множество. Для этого мы можем применить естественное соединение к полученному результату из множества Id свободных парковочных мест:

4.3 Пересечение

Оператор пересечения возвращает общие элементы двух множеств. Пересечение множеств можно представить в виде равенства:

$$E_ <1>\cap E_ <2>\equiv E_ <1>— (E_ <1>— E_<2>)$$

Пересечение множеств можно заменить естественным соединением:

$$E_ <1>\cap E_ <2>\equiv E_ <1>\bowtie E_<2>$$

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *