Что такое соединение в алгебре

Соединения (матем.)

Смотреть что такое «Соединения (матем.)» в других словарях:

Сочетания — (матем.) см. Соединения … Энциклопедический словарь Ф.А. Брокгауза и И.А. Ефрона

СИНТЕЗ — (от греч. соединение, сочетание, составление), соединение различных элементов, сторон предмета в единое целое (систему), которое осуществляется как в практич. деятельности, так и в процессе познания. В этом значении С. противоположен… … Философская энциклопедия

АЛГЕБРА ЛОГИКИ — система алгебраич. методов решения логич. задач, а также совокупность задач, решаемых такими методами. А. л. в узком смысле слова алгебраич. (табличное, матричное) построение классич. логики высказываний, в котором рассматриваются… … Философская энциклопедия

РЕНТГЕНОВСКИЙ СТРУКТУРНЫЙ АНАЛИЗ — методы исследования структуры в ва по распределению в пр ве и интенсивностям рассеянного на анализируемом объекте рентгеновского излучения. Р. с. а. наряду с нейтронографией и электронографией явл. дифракц. структурным методом; в его основе лежит … Физическая энциклопедия

ФИЛОСОФИЯ — (от греч. phileo люблю, sophia мудрость, philosophia любовь к мудрости) особая форма общественного сознания и познания мира, вырабатывающая систему знаний о фундаментальных принципах и основах человеческого бытия, о наиболее общих сущностных… … Философская энциклопедия

ГРУППА — множество, на к ром определена операция, наз. умножением и удовлетворяющая спец. условиям (групповым аксиомам): в Г. существует единичный элемент; для каждого элемента Г. существует обратный; операция умножения ассоциативна. Понятие Г. возникло… … Физическая энциклопедия

АЛГОРИТМИЧЕСКАЯ ПРОБЛЕМА — проблема, в к рой требуется найти единый метод ( алгоритм).для решения бесконечной серии однотипных единичных задач. Такие проблемы иногда наз. также массовыми проблемами. А. п. возникали и решались в различных областях математики на протяжении… … Математическая энциклопедия

Ломоносов, Михаил Васильевич — — ученый и писатель, действительный член Российской Академии Наук, профессор химии С. Петербургского университета; родился в дер. Денисовке, Архангельской губ., 8 ноября 1711 г., скончался в С. Петербурге 4 апреля 1765 года. В настоящее… … Большая биографическая энциклопедия

АВТОМАТИЗАЦИЯ ЭКСПЕРИМЕНТА — комплекс средств и методов для ускорения сбора и обработки эксперим. данных, интенсификации использования эксперим. установок, повышения эффективности работы исследователей. Характерной особенностью А. э. является использование ЭВМ, что позволяет … Физическая энциклопедия

Источник

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

Реляционная алгебра базируется на теории множеств и является основой логики работы баз данных.
Когда я только изучал устройство баз данных и 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, а с использованием произведения будет такой запрос:

Источник

Соединения и теоретико-множественные операции над отношениями

Операция соединения по двум отношениям (таблицам)

Существуют различные типы операций соединения :

Операция тета-соединения

Таблица 5.2.

Что такое соединение в алгебре. Смотреть фото Что такое соединение в алгебре. Смотреть картинку Что такое соединение в алгебре. Картинка про Что такое соединение в алгебре. Фото Что такое соединение в алгебре
R.a1R.a2S.b1S.b2
a11h
a22g
b33h
b11h

Операция тета-соединения в языке SQL называется INNER JOIN (внутреннее соединение ) и используется, когда нужно включить все строки из обеих таблиц, удовлетворяющие условию объединения. Внутреннее соединение имеет место и тогда, когда в предложении WHERE сравниваются значения полей из разных таблиц. В этом случае строится декартово произведение строк первой и второй таблиц, а из полученного набора данных отбираются записи, удовлетворяющие условиям объединения.

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

Блоки данных из двух таблиц объединяются, как только в указанных полях будут найдены совпадающие значения.

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

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

Таблица 5.3.

Что такое соединение в алгебре. Смотреть фото Что такое соединение в алгебре. Смотреть картинку Что такое соединение в алгебре. Картинка про Что такое соединение в алгебре. Фото Что такое соединение в алгебре
R.a1R.a2 или S.b1S.b2
a1h
a2g
b3h
b1h

Пример 5.6. Вывести информацию о проданных товарах.

Можно создать вложенные объединения, добавив третью таблицу к результату объединения двух других таблиц.

Пример 5.7. Получить сведения о товарах, дате сделок, количестве проданного товара и покупателях.

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

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

Левое внешнее соединение

Таблица 5.4.

Что такое соединение в алгебре. Смотреть фото Что такое соединение в алгебре. Смотреть картинку Что такое соединение в алгебре. Картинка про Что такое соединение в алгебре. Фото Что такое соединение в алгебре
R.a1R.a2S.b1S.b2
a11h
a22g
b11h
b33h
b4nullnull

Пример 5.11. Вывести информацию о всех товарах. Для проданных товаров будет указана дата сделки и количество. Для непроданных эти поля останутся пустыми.

Полусоединение

Источник

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

Что такое реляционная алгебра

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

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

Запрос SQL

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

R3
A1A2A3A4
3hhylms
4ppa1sr
1rrylms

Просматриваем столбец А3 и устанавливаем, что предикату A3>’d0′ удовлетворяют записи в первой и третьей строках исходного отношения (так как номер буквы y в алфавите больше номера буквы d). В результате получаем следующее новое отношение, в котором две строки:

R
A1A2A3A4
3hhylms
1rrylms

Комбинировать всевозможные логические условия для выборок Вам поможет материал «Булева алгебра (алгебра логики)».

А в материалах раздела «Программирование PHP/MySQL» Вы найдёт немало примеров комбинаций различных логических условий для выборок из базы данных.

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

Запрос SQL

Пусть вновь дано то же отношение R3 :

R3
A1A2A3A4
3hhylms
4ppa1sr
1rrylms
R
A4A3
msyl
sra1

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

Результатом объединения двух множеств (отношений) А и В (Что такое соединение в алгебре. Смотреть фото Что такое соединение в алгебре. Смотреть картинку Что такое соединение в алгебре. Картинка про Что такое соединение в алгебре. Фото Что такое соединение в алгебре) будет такое множество (отношение) С, которое включает в себя те и только те элементы, которые есть или во множестве А или во множестве В. Говоря упрощённо, все элементы множества А и множества В, за исключением дубликатов, образующихся за счёт того, что некоторые элементы есть и в первом, и во втором множестве. Операция объединения реляционной алгебры идентична операции объединения множеств, которая также описана в материале «Множества и операции над множествами».

Запрос SQL

R1R2
A1A2A3A1A2A3
Z7aaw11X8ppk21
B7hhh15Q2eeh15
X8ppw11X8ppw11
R
A1A2A3
Z7aaw11
B7hhh15
X8ppw11
X8ppk21
Q2eeh15

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

Операция пересечения

Результатом пересечения двух множеств (отношений) А и В (Что такое соединение в алгебре. Смотреть фото Что такое соединение в алгебре. Смотреть картинку Что такое соединение в алгебре. Картинка про Что такое соединение в алгебре. Фото Что такое соединение в алгебре) будет такое множество (отношение) С, которое включает в себя те и только те элементы, которые есть и во множестве А, и во множестве В. Операция пересечения реляционной алгебры идентична операции пересечения множеств, которая также описана в материале «Множества и операции над множествами».

Запрос SQL

В некоторых диалектах SQL отсутствует ключевое слово INTERSECT. Поэтому, например, в MySQL и других, операция пересечения множеств может реализована с применением предиката EXISTS.

Теперь посмотрим, что получится в результате выполнения этой операции реляционной алгебры и соответствующего ей запроса SQL. Вновь даны два отношения R1 и R2:

R1R2
A1A2A3A1A2A3
Z7aaw11X8ppk21
B7hhh15Q2eeh15
X8ppw11X8ppw11
R
A1A2A3
X8ppw11

Операция разности

Разность двух отношений R1 и R2 (Что такое соединение в алгебре. Смотреть фото Что такое соединение в алгебре. Смотреть картинку Что такое соединение в алгебре. Картинка про Что такое соединение в алгебре. Фото Что такое соединение в алгебре) состоит из кортежей (или записей, или строк), которые имеются в отношении R1, но отсутствуют в отношении R2. Отношения R1 и R2 должны быть совместимы по объединению. Операция разности реляционной алгебры идентична операции разности множеств, которая также описана в материале «Множества и операции над множествами».

Запрос SQL

Установим, что получится в результате выполнения этой операции реляционной алгебры и соответствующего ей запроса SQL. Вновь даны два отношения R1 и R2:

R1R2
A1A2A3A1A2A3
Z7aaw11X8ppk21
B7hhh15Q2eeh15
X8ppw11X8ppw11
R
A1A2A3
X8ppw11
Q2eeh15

В некоторых диалектах SQL отсутствует ключевое слово EXCEPT. Поэтому, например, в MySQL и других, операция пересечения множеств может реализована с применением предиката NOT EXISTS.

Операция декартова произведения

Операция декартова произведения (Что такое соединение в алгебре. Смотреть фото Что такое соединение в алгебре. Смотреть картинку Что такое соединение в алгебре. Картинка про Что такое соединение в алгебре. Фото Что такое соединение в алгебре) определяет новое отношение R, которое является результатом конкатенации каждого кортежа отношения R1 с каждым кортежем отношения R2.

Запрос SQL

Установим, что получится в результате выполнения этой операции реляционной алгебры и соответствующего ей запроса SQL. Даны два отношения R3 и R4:

R3R4
A1A2A3A4A5A6
3hhylms3hh
4ppa1sr4pp
1rrylms

В новом отношении должны присутствовать все атрибуты (столбцы) двух отношений. Сначала первая строка отношения R3 сцепляется с каждой из двух строк отношения R4, затем вторая строка отношения R3, затем третья. В результате должно получиться 3 Х 2 = 6 кортежей (строк). Получаем такое новое отношение:

R
A1A2A3A4A5A6
3hhylms3hh
3hhylms4pp
4ppa1sr3hh
4ppa1sr4pp
1rrylms3hh
1rrylms4pp

Операция деления

Результатом операции деления (Что такое соединение в алгебре. Смотреть фото Что такое соединение в алгебре. Смотреть картинку Что такое соединение в алгебре. Картинка про Что такое соединение в алгебре. Фото Что такое соединение в алгебре) является набор кортежей (строк) отношения R1, которые соответствуют комбинации всех кортежей отношения R2. Для этого нужно, чтобы в отношении R2 была часть атрибутов (можно и один), которые есть в отношении R1. В результирующем отношении присутствуют только те атрибуты отношения R1, которых нет в отношении R2.

Запрос SQL

Давайте посмотрим, что получится в результате выполнения этой операции реляционной алгебры и соответствующего ей запроса SQL. Даны два отношения R5 и R6:

R5R6
A1A2A3A4A2A3
2S34sunR48
3X87kabX87
3R48kab

Комбинации всех кортежей отношения R6 соответствуют вторая и третья строки отношения R5. Но после исключения атрибутов (столбцов) А2 и А3 эти строки становятся идентичными. Поэтому в новом отношении присутствует эта строка один раз. Новое отношение:

Операция тета-соединения

Запрос SQL

Посмотрим, что получится в результате выполнения этой операции реляционной алгебры и соответствующего ей запроса SQL. Даны два отношения R3 и R4:

R3R4
A1A2A3A4A5A6
3hhylms3hh
4ppa1sr4pp
1rrylms

Источник

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

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