к алгоритмизации   алгоритмы, струкутуры данных и программирование   СУБД   ЯиМП   3GL   4GL   5GL   технологии прогр.

Теоретико-множественные операции реляционной алгебры

Напомним, что

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

Всего Э. Ф. Коддом было предложено 8 операций для реляционной алгебры. В общем это множество избыточное, так как одни операции могут быть представлены через другие, однако множество операций выбрано из соображений максимального удобства при реализации произвольных запросов к БД. Все множество операций можно разделить на две группы: теоретико-множественные операции и специальные операции. В первую группу входят 4 операции. Три первые теоретико-множественные операции являются бинарными, то есть в них участвуют два отношения и они требуют эквивалентных схем исходных отношений.

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

Пусть заданы два отношения R1 = { r1 } , R2 = { r2 }. где r1 и r2 — соответственно кортежи отношений R1 и R2, то объединение

R1 R2 = { г | г R1 r R2 }. Здесь r — кортеж нового отношения, — операция логического сложения «ИЛИ».

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

R1

Шифр детали

Название детали

00011073

Гаика Ml

00011075

Гайка М2

00011076

Гаика M3

00011003

Болт Ml

00011006

Болт МЗ

00013063

Шайба Ml

00013066

Шайба МЗ

 

R2

Шифр детали

Название детали

00011073

Гайка М1

00011076

Гайка М3

00011077

Гайка М4

00011004

Гайка М2

00011006

Гайка М3

 

R3


Шифр детали

Название детали

00011073

Гайка Ml

00011075

Гайка М2

00011076

Гайка МЗ

00011003

Болт Ml

00011006

Болт МЗ

00013063

Шайба Ml

00013066

Шайба МЗ

00011077

Гайка М4

00011004

Болт М2

Пересечение отношений в реляционной алгебре - это отношение, которое содержит множество кортежей, принадлежащих одновременно и первому и второму отношениям. R1 и R2:

R3 = R1 R2={ г | r R1 ^ г R2 }, здесь ^ - операция логического умножения (логическое «И»).

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

R4


Шифр детали

Название детали

00011073

Гайка Ml

00011076

Гайка МЗ

00011006

Болт МЗ

Разность отношений в реляционной алгебре - это отношение R1 и R2, содержащее множество кортежей, принадлежащих R1 и не принадлежащих R2:

R5 = RI \ R2 = { r | r R1 ^ r R2 }

Отношение R5 содержит перечень деталей, изготавливаемых только на участке 1, отношение RG содержит перечень деталей, изготавливаемых только на участке 2.

R6 = R2 \ R1 = { r | r R2 ^ rR1 }

R5


Шифр детали

Название детали

00011075

Гайка М2

00011003

Болт Ml

00013063

Шайба Ml

00013066

Шайба МЗ

 

R6


Шифр детали

Название детали

00011077

Гайка М4

00011004

Болт М2

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

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

Для демонстрации возможностей трех первых операций реляционной алгебры рассмотрим еще один пример — уже из другой предметной области. Исходными являются три отношения R1 R2 и R3. Все они имеют эквивалентные схемы.

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

Ответим на следующие вопросы:

  1. Список абитуриентов, которые поступали два раза и не поступили в вуз. R = R1 R2 \ R3
  2. Список абитуриентов, которые поступили в вуз с первого раза, то есть они сдавали экзамены только один раз и сдали их так хорошо, что сразу были зачислены в вуз. R = (R1 \ R2 R3 ) (R2 \ R1 R3)
  3. Список абитуриентов, которые поступили в вуз только со второго раза.

    Прежде всего это те абитуриенты, которые присутствуют в отношениях R1 и R2, потому что они поступали два раза, и присутствуют в отношении R3, потому что они поступили. R = R1 R2 R3

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

    Это прежде всего те абитуриенты; которые присутствуют в R1 и не присутствуют в R2, и те, кто присутствуют в R2 и не присутствуют в R1. И разумеется, никто из них не присутствует в R3. R = (R1 \ R2) (R2 \ R1) \ R3

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

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

Кроме перечисленных трех теоретико-множественных операций в рамках реляционной алгебры определена еще одна теоретико-множественная операция — расширенное декартово произведение. Эта операция не накладывает никаких дополнительных условий на схемы исходных отношений, поэтому операция расширенного декартова произведения, обозначаемая R1 ® R2, допустима для любых двух отношений. Но прежде чем определить саму операцию, введем дополнительно понятие конкатенации, или сцепления, кортежей.

Сцеплением, пли конкатенацией, кортежей с = <c1, с2, ..., сn> и q = <q1, q2, ..., qm> называется кортеж, полученный добавлением значений второго в конец первого. Сцепление кортежей с и q обозначается как (с , q).

(с, q) = <с1 с2, ... , сn, q1, q2, .... qm>

Здесь n — число элементов в первом кортеже с, m — число элементов во втором кортеже q.

Все предыдущие операции не меняли степени или арности отношений — это следует из определения эквивалентности схем отношений. Операция декартова произведения меняет степень результирующего отношения.

Расширенным декартовым произведением отношения R, степени n со схемой

SR1=(А12...,Аn) и отношения R2 степени m со схемой

SR2=(В12, ... , Вm) называется отношение R3 степени n+m со схемой

SR3 = (А1, А2, ... , Аn, В1, В2, ..., Вm),

содержащее кортежи, полученные сцеплением каждого кортежа г отношения R] с каждым кортежем q отношения R2.

То есть если R1 = { r }, R2 = { q }

R1 R2 = {(r, q) | r R1 ^ q R2}

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

R7


Шифр детали

Название детали

00011073

Гайка M1

00011075

Гайка М2

00011076

Гайка МЗ

00011003

Болт М1

00011006

Болт МЗ

00013063

Шайба Ml

00013066

Шайба МЗ

00011077

Гайка М4

000ll004

Болт М2

00011005

Болт М5

00011006

Болт М6

00013062

Шайба М2

 

R8

Цех

Цех 1

Цех 2

Цех 3

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

R9

Шифр детали

Название детали

Цех

00011073

Гайка Ml

Цех 1

00011075

Гайка М2

Цех 1

00011076

Гайка МЗ

Цех 1

00011003

Болт Ml

Цех 1

00011006

Болт МЗ

Цех 1

00013063

Шайба Ml

Цех 1

00013066

Шайба МЗ

Цех 1

00011077

Гайка М4

Цех 1

00011004

Болт М2

Цех 1

00011005

Болт М5

Цех 1

00011006

Болт Мб

Цех 1

00013062

Шайба М2

Цех 1

00011073

Гайка Ml

Цех 2

00011075

Ганка М2

Цех 2

 

R10

Шифр

Название детали

Цех

00011073

Гайка Ml

Цех 1

(МО И 075 000 11 076

Гайка М2 Гайка МЗ

Цех 1 Цех 1

000 11 003

! Болт Ml

Цех 1

0011 0006

Болт МЗ

Цех 1

00013063

Шайба Ml

Цех 1

000 11060

Шайба МЗ

Цех 1

000 11 004

Болт М2

Цех 1

00011077

Гайка М4

Цех 1

00011006

Болт МЗ

Цех2

00013063

Шайба Ml

Цех 2

0013066

Шайба МЗ

Цех 2

00011077 Гайка М4 Цех 2
0001 0778 Болт М2 Цех 2

 

00011076

Гайка МЗ

Цех 2

00011U03

Болт Ml

Цех 2

00011006

Болт МЗ

Цех 2

00013063

Шайба Ml

Цех 2

00013066

Шайба МЗ

Цех 2

00011077

Гайка М4

Цех 2

00011004

Болт М'2

Цех 2

00011005

Болт М5

Цех 2

00011006

Болт Мб

Цех 2

00013062

Шайба М2

Цех 2

00011073

Гайка Ml

ЦсхЗ

00011075

Гайка М2

ЦехЗ

00011076

Гайка МЗ

Цех 3

00011003

Болт Ml

ЦехЗ

00011006

Болт МЗ

ЦехЗ

00013063

Шайба Ml

Цех 3

00013066

Шайба МЗ

ЦехЗ

00011077

Гайка М4

ЦехЗ

00011004

Болт М2

Цех 3

00011005

Болт М5

ЦехЗ

00011006

Болт Мб

ЦехЗ

00013062

Шайба М2

ЦехЗ

 

00011006

Болт Мб

Цех 2

00013062

Шайба М2

Цех 2

00011073

Гайка Ml

ЦeхЗ

00011075

Гайка М2

ЦехЗ

00011076

Гайка МЗ

ЦехЗ

00011003

Болт Ml

ЦехЗ

00011006

Болт МЗ

Цех 3

00013063

Шайба Ml

Цех 3

00013066

Шайба МЗ

ЦехЗ

00011077

Гайка М4

Цeх3

00011005

Болт М5

Цех3

00011006

Болт Мб

Цех3

00011005

Болт М5

Цех 1

00011006

Болт Мб

Цех 1

00013062

Шайба М2

Цех1

В каких запросах нужно использовать расширенное декартово произведение? Эта операция моделирует некоторую ситуацию, которая характеризуется словом «все». Поэтому если нам надо узнать, какие детали в каких цехах из общей обязательной номенклатуры не выпускаются, то мы можем вычесть из полученного отношения R9 отношение R10, характеризующее реальный выпуск деталей в каждом цехе.

Отношение R11, которое является результатом выполнения этой операции, имеет вид:

R11 = R9 \ R10

R11

Шифр детали

Название детали

Цех

00011073

Гайка Ml

Цех 2

00011075

Гайка М2

Цех 2

00011076

Гайка МЗ

Цех 2

00011004

Болт М2

ЦехЗ

00013062

Шайба М2

ЦехЗ

00011003

Болт Ml

Цех 2

00011005

Болт М5

ЦехЗ

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

(R1 R2) \ (R1 \ R2) \ (R2 \ R1)

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

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

к алгоритмизации   алгоритмы, струкутуры данных и программирование   СУБД   ЯиМП   3GL   4GL   5GL   технологии прогр.

Знаете ли Вы, что в 1965 году два американца Пензиас (эмигрант из Германии) и Вильсон заявили, что они открыли излучение космоса. Через несколько лет им дали Нобелевскую премию, как-будто никто не знал работ Э. Регенера, измерившего температуру космического пространства с помощью запуска болометра в стратосферу в 1933 г.? Подробнее читайте в FAQ по эфирной физике.

НОВОСТИ ФОРУМА

Форум Рыцари теории эфира


Рыцари теории эфира
 10.11.2021 - 12:37: ПЕРСОНАЛИИ - Personalias -> WHO IS WHO - КТО ЕСТЬ КТО - Карим_Хайдаров.
10.11.2021 - 12:36: СОВЕСТЬ - Conscience -> РАСЧЕЛОВЕЧИВАНИЕ ЧЕЛОВЕКА. КОМУ ЭТО НАДО? - Карим_Хайдаров.
10.11.2021 - 12:36: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от д.м.н. Александра Алексеевича Редько - Карим_Хайдаров.
10.11.2021 - 12:35: ЭКОЛОГИЯ - Ecology -> Биологическая безопасность населения - Карим_Хайдаров.
10.11.2021 - 12:34: ВОЙНА, ПОЛИТИКА И НАУКА - War, Politics and Science -> Проблема государственного терроризма - Карим_Хайдаров.
10.11.2021 - 12:34: ВОЙНА, ПОЛИТИКА И НАУКА - War, Politics and Science -> ПРАВОСУДИЯ.НЕТ - Карим_Хайдаров.
10.11.2021 - 12:34: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Вадима Глогера, США - Карим_Хайдаров.
10.11.2021 - 09:18: НОВЫЕ ТЕХНОЛОГИИ - New Technologies -> Волновая генетика Петра Гаряева, 5G-контроль и управление - Карим_Хайдаров.
10.11.2021 - 09:18: ЭКОЛОГИЯ - Ecology -> ЭКОЛОГИЯ ДЛЯ ВСЕХ - Карим_Хайдаров.
10.11.2021 - 09:16: ЭКОЛОГИЯ - Ecology -> ПРОБЛЕМЫ МЕДИЦИНЫ - Карим_Хайдаров.
10.11.2021 - 09:15: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Екатерины Коваленко - Карим_Хайдаров.
10.11.2021 - 09:13: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Вильгельма Варкентина - Карим_Хайдаров.
Bourabai Research - Технологии XXI века Bourabai Research Institution