для построения пересечения двух реляционных отношений необходимо чтобы

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

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

Так что если вы собираетесь начать свое обучение в этой области или вам просто стало интересно, прошу под кат.

Реляционная база данных

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

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

таблица PRODUCTS

IDNAMECOMPANYPRICE
123ПеченькиООО ”Темная сторона”190
156ЧайООО ”Темная сторона”60
235АнанасыОАО ”Фрукты”100
623ТоматыООО ”Овощи”130

Таблица состоит из 4х строк, строка в таблице является кортежем в реляционной теории. Множество упорядоченных кортежей называется отношением.
Перед тем как дать определение отношения, введем еще один термин — домен. Домены применительно к таблице это столбцы.

Для ясности, теперь введем строгое определение отношения.

Ключи в отношениях

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

COMPANYDRIVER
ООО ”Темная сторона”Владимир
ООО ”Темная сторона”Михаил
ОАО ”Фрукты”Руслан
ООО ”Овощи”Владимир

Видно, что в организации может быть несколько водителей, и чтобы однозначно идентифицировать водителя необходимо и значение из столбца “Название организации” и из “Имя водителя”. Такой ключ называется составным.

В реляционной БД таблицы взаимосвязаны и соотносятся друг с другом как главные и подчиненные. Связь главной и подчиненнной таблицы осуществляется через первичный ключ (primary key) главной таблицы и внешний ключ ( foreign key ) подчиненной таблицы.
Внешний ключ это атрибут или набор атрибутов, который в главной таблице является первичным ключем.

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

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

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

IDSELLER
123OOO “Дарт”
156ОАО ”Ведро”
235ЗАО “Овоще База”
623ОАО ”Фирма”

Условимся, что в этой таблице ID это внешний ключ, связанный с первичным ключом таблицы PRODUCTS.

Для начала рассмотрим самую простую операцию — имя отношения. Её результатом будет такое же отношение, то есть выполнив операцию PRODUCTS, мы получим копию отношения PRODUCTS.

Проекция

Проекция является операцией, при которой из отношения выделяются атрибуты только из указанных доменов, то есть из таблицы выбираются только нужные столбцы, при этом, если получится несколько одинаковых кортежей, то в результирующем отношении остается только по одному экземпляру подобного кортежа.
Для примера сделаем проекцию на таблице PRODUCTS выбрав из нее ID и PRICE.

Синтаксис операции:
π (ID, PRICE) PRODUCTS

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

IDPRICE
123190
15660
235100
623130
Выборка

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

Синтаксис операции:
σ (PRICE>90) PRODUCTS

IDNAMECOMPANYPRICE
123ПеченькиООО ”Темная сторона”190
235АнанасыОАО ”Фрукты”100
623ТоматыООО ”Овощи”130

В условии выборки мы можем использовать любое логическое выражение. Сделаем еще одну выборку с ценой больше 90 и ID товара меньше 300:

σ (PRICE>90 ^ ID π COMPANY σ (PRICE 123ПеченькиООО ”Темная сторона”190123OOO “Дарт”156ЧайООО ”Темная сторона”60156ОАО ”Ведро”123ПеченькиООО ”Темная сторона”190156ОАО ”Ведро”156ЧайООО ”Темная сторона”60123OOO “Дарт”

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

Источник

Для построения пересечения двух реляционных отношений необходимо чтобы

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

В реализациях конкретных реляционных СУБД сейчас не используется в чистом виде ни реляционная алгебра, ни реляционное исчисление. Фактическим стандартом доступа к реляционным данным стал язык SQL (Structured Query Language). Язык SQL представляет собой смесь операторов реляционной алгебры и выражений реляционного исчисления, использующий синтаксис, близкий к фразам английского языка и расширенный дополнительными возможностями, отсутствующими в реляционной алгебре и реляционном исчислении. Вообще, язык доступа к данным называется реляционно полным, если он по выразительной силе не уступает реляционной алгебре (или, что то же самое, реляционному исчислению), т.е. любой оператор реляционной алгебры может быть выражен средствами этого языка. Именно таким и является язык SQL.

В данной главе будут рассмотрены основы реляционной алгебры.

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

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

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

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

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

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

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

Традиционно, вслед за Коддом [43], определяют восемь реляционных операторов, объединенных в две группы.

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

Отношения, совместимые по типу

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

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

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

Оператор переименования атрибутов имеет следующий синтаксис:

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

для построения пересечения двух реляционных отношений необходимо чтобы. для построения пересечения двух реляционных отношений необходимо чтобы фото. картинка для построения пересечения двух реляционных отношений необходимо чтобы. смотреть фото для построения пересечения двух реляционных отношений необходимо чтобы. смотреть картинку для построения пересечения двух реляционных отношений необходимо чтобы.— отношение,

для построения пересечения двух реляционных отношений необходимо чтобы. для построения пересечения двух реляционных отношений необходимо чтобы фото. картинка для построения пересечения двух реляционных отношений необходимо чтобы. смотреть фото для построения пересечения двух реляционных отношений необходимо чтобы. смотреть картинку для построения пересечения двух реляционных отношений необходимо чтобы.— исходные имена атрибутов,

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

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

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

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

Теоретико-множественные операторы

Объединение

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

Синтаксис операции объединения:

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

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

Пример 2. Пусть даны два отношения для построения пересечения двух реляционных отношений необходимо чтобы. для построения пересечения двух реляционных отношений необходимо чтобы фото. картинка для построения пересечения двух реляционных отношений необходимо чтобы. смотреть фото для построения пересечения двух реляционных отношений необходимо чтобы. смотреть картинку для построения пересечения двух реляционных отношений необходимо чтобы.и для построения пересечения двух реляционных отношений необходимо чтобы. для построения пересечения двух реляционных отношений необходимо чтобы фото. картинка для построения пересечения двух реляционных отношений необходимо чтобы. смотреть фото для построения пересечения двух реляционных отношений необходимо чтобы. смотреть картинку для построения пересечения двух реляционных отношений необходимо чтобы.с информацией о сотрудниках:

Табельный номерФамилияЗарплата
1Иванов1000
2Петров2000
3Сидоров3000

Таблица 1 Отношение A

Табельный номерФамилияЗарплата
1Иванов1000
2Пушников2500
4Сидоров3000

Таблица 2 Отношение B

Объединение отношений для построения пересечения двух реляционных отношений необходимо чтобы. для построения пересечения двух реляционных отношений необходимо чтобы фото. картинка для построения пересечения двух реляционных отношений необходимо чтобы. смотреть фото для построения пересечения двух реляционных отношений необходимо чтобы. смотреть картинку для построения пересечения двух реляционных отношений необходимо чтобы.и для построения пересечения двух реляционных отношений необходимо чтобы. для построения пересечения двух реляционных отношений необходимо чтобы фото. картинка для построения пересечения двух реляционных отношений необходимо чтобы. смотреть фото для построения пересечения двух реляционных отношений необходимо чтобы. смотреть картинку для построения пересечения двух реляционных отношений необходимо чтобы.будет иметь вид:

Табельный номерФамилияЗарплата
1Иванов1000
2Петров2000
3Сидоров3000
2Пушников2500
4Сидоров3000

Таблица 3 Отношение A UNION B

Замечание. Как видно из приведенного примера, потенциальные ключи, которые были в отношениях для построения пересечения двух реляционных отношений необходимо чтобы. для построения пересечения двух реляционных отношений необходимо чтобы фото. картинка для построения пересечения двух реляционных отношений необходимо чтобы. смотреть фото для построения пересечения двух реляционных отношений необходимо чтобы. смотреть картинку для построения пересечения двух реляционных отношений необходимо чтобы.и для построения пересечения двух реляционных отношений необходимо чтобы. для построения пересечения двух реляционных отношений необходимо чтобы фото. картинка для построения пересечения двух реляционных отношений необходимо чтобы. смотреть фото для построения пересечения двух реляционных отношений необходимо чтобы. смотреть картинку для построения пересечения двух реляционных отношений необходимо чтобы.не наследуются объединением этих отношений. Поэтому, в объединении отношений для построения пересечения двух реляционных отношений необходимо чтобы. для построения пересечения двух реляционных отношений необходимо чтобы фото. картинка для построения пересечения двух реляционных отношений необходимо чтобы. смотреть фото для построения пересечения двух реляционных отношений необходимо чтобы. смотреть картинку для построения пересечения двух реляционных отношений необходимо чтобы.и для построения пересечения двух реляционных отношений необходимо чтобы. для построения пересечения двух реляционных отношений необходимо чтобы фото. картинка для построения пересечения двух реляционных отношений необходимо чтобы. смотреть фото для построения пересечения двух реляционных отношений необходимо чтобы. смотреть картинку для построения пересечения двух реляционных отношений необходимо чтобы.атрибут «Табельный номер» может содержать дубликаты значений. Если бы это было не так, и ключи наследовались бы, то это противоречило бы понятию объединения как «объединение множеств». Конечно, объединение отношений для построения пересечения двух реляционных отношений необходимо чтобы. для построения пересечения двух реляционных отношений необходимо чтобы фото. картинка для построения пересечения двух реляционных отношений необходимо чтобы. смотреть фото для построения пересечения двух реляционных отношений необходимо чтобы. смотреть картинку для построения пересечения двух реляционных отношений необходимо чтобы.и для построения пересечения двух реляционных отношений необходимо чтобы. для построения пересечения двух реляционных отношений необходимо чтобы фото. картинка для построения пересечения двух реляционных отношений необходимо чтобы. смотреть фото для построения пересечения двух реляционных отношений необходимо чтобы. смотреть картинку для построения пересечения двух реляционных отношений необходимо чтобы.имеет, как и любое отношение, потенциальный ключ, например, состоящий из всех атрибутов.

Пересечение

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

Синтаксис операции пересечения:

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

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

Табельный номерФамилияЗарплата
1Иванов1000

Таблица 4 Отношение A INTERSECT B

Вычитание

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

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

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

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

Табельный номерФамилияЗарплата
2Петров2000
3Сидоров3000

Таблица 5 Отношение A MINUS B

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

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

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

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

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

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

Синтаксис операции декартового произведения:

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

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

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

Замечание. Перемножать можно любые два отношения, совместимость по типу при этом не требуется.

Пример 5. Пусть даны два отношения для построения пересечения двух реляционных отношений необходимо чтобы. для построения пересечения двух реляционных отношений необходимо чтобы фото. картинка для построения пересечения двух реляционных отношений необходимо чтобы. смотреть фото для построения пересечения двух реляционных отношений необходимо чтобы. смотреть картинку для построения пересечения двух реляционных отношений необходимо чтобы.и для построения пересечения двух реляционных отношений необходимо чтобы. для построения пересечения двух реляционных отношений необходимо чтобы фото. картинка для построения пересечения двух реляционных отношений необходимо чтобы. смотреть фото для построения пересечения двух реляционных отношений необходимо чтобы. смотреть картинку для построения пересечения двух реляционных отношений необходимо чтобы.с информацией о поставщиках и деталях:

Номер поставщикаНаименование поставщика
1Иванов
2Петров
3Сидоров

Таблица 6 Отношение A (Поставщики)

Номер деталиНаименование детали
1Болт
2Гайка
3Винт

Таблица 7 Отношение B (Детали)

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

Номер поставщикаНаименование поставщикаНомер деталиНаименование детали
1Иванов1Болт
1Иванов2Гайка
1Иванов3Винт
2Петров1Болт
2Петров2Гайка
2Петров3Винт
3Сидоров1Болт
3Сидоров2Гайка
3Сидоров3Винт

Таблица 8 Отношение A TIMES B

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

Специальные реляционные операторы

Выборка (ограничение, селекция)

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

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

Синтаксис операции выборки:

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

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

Пример 6. Пусть дано отношение для построения пересечения двух реляционных отношений необходимо чтобы. для построения пересечения двух реляционных отношений необходимо чтобы фото. картинка для построения пересечения двух реляционных отношений необходимо чтобы. смотреть фото для построения пересечения двух реляционных отношений необходимо чтобы. смотреть картинку для построения пересечения двух реляционных отношений необходимо чтобы.с информацией о сотрудниках:

Табельный номерФамилияЗарплата
1Иванов1000
2Петров2000
3Сидоров3000

Таблица 9 Отношение A

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

Табельный номерФамилияЗарплата
1Иванов1000
2Петров2000

НОМ_ВЕЩЕСТВАВЕЩЕСТВО
1Дезоксирибонуклеиновая кислота
2Бензин

Таблица 25 Отношение ВЕЩЕСТВО

НОМ_ЭЛЕМЕНТАЭЛЕМЕНТ
1Водород
2Гелий
105

Таблица 26 Отношение ЭЛЕМЕНТЫ

НОМ_ВЕЩЕСТВАНОМ_ЭЛЕМЕНТАПРОЦЕНТ
115
123
11050.01
2150

Таблица 27 Отношение ХИМИЧЕСКИЙ_СОСТАВ_ВЕЩЕСТВ

На языке SQL такой запрос реализуется одной командой:

Невыразимость транзитивного замыкания реляционными операторами

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

Пример 17. Рассмотрим отношение, описывающее сотрудников некоего предприятия. Отношение содержит данные о табельном номере сотрудника, фамилии, должности и табельном номере руководителя сотрудника – СОТРУДНИКИ ( ТАБ_НОМ, ФАМИЛИЯ, ДОЛЖНОСТЬ, ТАБ_НОМ_РУК):

ТАБ_НОМФАМИЛИЯДОЛЖНОСТЬТАБ_НОМ_РУК
1ИвановДиректор1
2ПетровГлав.бухгалтер1
3СидоровБухгалтер2
4ВасильевНачальник цеха1
5СуховМастер4
6ШариповРабочий5

Таблица 28 Отношение СОТРУДНИКИ

Рассмотрим запрос «Перечислить всех руководителей (прямых и непрямых) данного сотрудника».

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

Кросс-таблицы

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

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

ТоварМесяцКоличество
КомпьютерыЯнварь100
ПринтерыЯнварь200
СканерыЯнварь300
КомпьютерыФевраль150
ПринтерыФевраль250
СканерыФевраль350

Таблица 29 Данные о продажах

ТоварЯнварьФевраль
Компьютеры100150
Принтеры200250
Сканеры300350

Таблица 30 Кросс-таблица

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

Выводы

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

Традиционно определяют восемь реляционных операторов, объединенных в две группы.

Теоретико-множественные операторы: объединение, пересечение, вычитание, декартово произведение.

Специальные реляционные операторы: выборка, проекция, соединение, деление.

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

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

Источник

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

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