1.3.1. Теоретико-множественные операции реляционной алгебры
Теоретико-множественные операции реляционной алгебры – это операции, привнесенные в реляционную алгебру из теории множеств.
Выделяют следующие теоретико-множественные операции:
объединение;
пересечение;
разность;
расширенное декартово произведение.
Объединением двух отношений называется отношение, содержащее множество кортежей, принадлежащих либо первому, либо второму исходному отношению, либо обоим отношениям одновременно.
Пусть заданы два отношения ,, гдеr1 и r2 - соответственно кортежи отношений R1 и R2, тогда объединение
,
где r – кортеж нового отношения; - операция логического «ИЛИ».
Рассмотрим пример данной операции.
Предположим, имеются отношения R1 и R2, которые содержат списки деталей, изготавливаемых соответственно на первом и втором участках цеха. Отношение R3 содержит общий перечень деталей, изготавливаемых в цехе.
Пересечением отношений называется отношение, которое содержит множество кортежей, принадлежащих одновременно и первому и второму отношениям.
,
где r – кортеж нового отношения; - операция логического «И».
В отношении R4 содержится перечень деталей, которые выпускаются одновременно на двух участках цеха.
Разностью отношений R1 и R2 называется отношение, содержащее множество кортежей, принадлежащих R1 и не принадлежащих R2.
R5 содержит перечень деталей, изготавливаемых только на участке 1, отношение R6 – только на участке 2.
,
.
Операции объединения и пересечения являются коммутативными, т.е. результат этих операций не зависит от порядка следования аргументов в операции.
Операция разности является несимметричной, т.е. результат операции будет различным для различного порядка аргументов.
В отличие от навигационных средств манипулирования данными, в теоретико-графовых моделях операции реляционной алгебры позволяют получить качественно иной результат:
1. Операции сразу целиком выполняются на отношениях.
Для пользователя и прикладного программиста это означает, что в результате таких операций он сразу получит результат. Следовательно, пользователю не придется «вручную» последовательно перемещаться по базе данных в поисках необходимых записей, а программисту не придется писать отдельную программу для простейшей обработки данных;
2. Результатом выполнения операции является новое отношение, отражающее состояние исходного отношения в определенной части.
Расширенное декартово произведение – это операция, сходная с полным декартовым произведением множеств. В полном декартовом произведении участвуют домены, т.е. полное декартово произведение множеств – это сцепление всех возможных значений доменов друг с другом в определенном порядке. Расширенное декартово произведение – это сцепление реальных множеств, реальных наборов атрибутов отношения друг с другом.
Сцеплением или конкатенацией кортежей иназывается кортеж, полученный добавлением значений второго в конец первого. Сцепление кортежейиобозначается как.
,
где – число элементов в первом кортеже,– число элементов во втором кортеже.
Расширенным декартовым произведением отношения степени со схемой и отношения степени со схемой называется отношение степени со схемой , содержащее кортежи, полученные сцеплением каждого кортежа отношения с каждым кортежем отношения .
Т.е. если , , то
.
Операцию расширенного декартова произведения можно считать симметричной (), т.к. полученные отношения эквивалентны.
Операция расширенного декартова произведения используется для получения некоторого универсума – отношения, которое характеризует все возможные комбинации между элементами отдельных множеств.
Например, пусть существует отношение , содержащее обязательную номенклатуру деталей для всех цехов, и отношение, содержащее перечень всех цехов. Требуется получить отношение, в котором была бы отражена ситуация, когда каждый цех изготавливаетвсе детали.
Универсум не имеет самостоятельного значения, но может активно использоваться в операциях над данными. Так, операцию расширенного декартова произведения (или получения универсума) нужно использовать во всех ситуациях, которые характеризуются словом «все».
Например, нужно узнать, какие детали в каких цехах из общей обязательной номенклатуры не выпускаются (). В данном случае универсумом является общая обязательная номенклатура (). Имеется также отношение, характеризующее реальный выпуск деталей в каждом цехе. Для получения искомого результата необходимо выполнить следующую операцию:
.