1. Операции объединения, пересечения, разности
1. Операции объединения, пересечения, разности
У любых операций есть свои правила применимости, которые необходимо соблюдать, чтобы выражения и действия не теряли смысла. Бинарные теоретико-множественные операции объединения, пересечений и разности могут быть применены только к двум отношениям обязательно с одной и той же схемой отношения. Результатом таких бинарных операций будут являться отношения, состоящие из кортежей, удовлетворяющих условиям операций, но с такой же схемой отношения, как и у операндов.
1. Результатом операции объединения двух отношений r1(S) и r2(S) будет новое отношение r3(S), состоящее из тех кортежей отношений r1(S) и r2(S), которые принадлежат хотя бы одному из исходных отношений и с такой же схемой отношения.
Таким образом, пересечение двух отношений – это:
r3(S) = r1(S) ? r2(S) = {t(S) | t ?r1 ?t ?r2};
Для наглядности, приведем пример в терминах таблиц:
Пусть даны два отношения:
r1(S):
r2(S):
Мы видим, что схемы первого и второго отношений одинаковы, только имеют различной количество кортежей. Объединением этих двух отношений будет отношение r3(S), которому будет соответствовать следующая таблица:
r3(S) = r1(S) ? r2(S):
Итак, схема отношения S не изменилась, только выросло количество кортежей.
2. Перейдем к рассмотрению следующей бинарной операции – операции пересечения двух отношений. Как мы знаем еще из школьной геометрии, в результирующее отношение войдут только те кортежи исходных отношений, которые присутствуют одновременно в обоих отношениях r1(S) и r2(S) (снова обращаем внимание на одинаковую схему отношения).
Операция пересечения двух отношений будет выглядеть следующим образом:
r4(S) = r1(S) ? r2(S) = {t(S) | t ? r1 & t ? r2};
И снова рассмотрим действие этой операции над отношениями, представленными в виде таблиц:
r1(S):
r2(S):
Согласно определению операции пересечением отношений r1(S) и r2(S) будет новое отношение r4(S), табличное представление которого будет выглядеть следующим образом:
r4(S) = r1(S) ? r2(S):
Действительно, если посмотреть на кортежи первого и второго исходного отношений, общий среди них только один: {b, 2}. Он и стал единственным кортежем нового отношения r4(S).
3. Операция разности двух отношений определяется аналогичным с предыдущими операциями образом. Отношения-операнды, так же, как и в предыдущих операциях, должны иметь одинаковые схемы отношения, тогда в результирующее отношение войдут все те кортежи первого отношения, которых нет во втором, т. е.:
r5(S) = r1(S) r2(S) = {t(S) | t ? r1 & t ? r2};
Уже хорошо знакомые нам отношения r1(S) и r2(S), в табличном представлении выглядящие следующим образом:
r1(S):
r2(S):
Мы рассмотрим как операнды в операции пересечения двух отношений. Тогда, следуя данному определению, результирующее отношение r5(S) будет выглядеть следующим образом:
r5(S) = r1(S) r2(S):
Рассмотренные бинарные операции являются базовыми, на них основываются другие операции, более сложные.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКДанный текст является ознакомительным фрагментом.
Читайте также
R.9.5 Объединения
R.9.5 Объединения Объединение можно представить как структуру, все члены имеют нулевое смещения, а размер ее достаточно велик, чтобы вмещать любой из ее членов. В любой момент времени объединение может содержать только один член. В объединении могут быть функции-члены (в
Выражение объединения в SQL
Выражение объединения в SQL В SQL Server объединение можно установить с помощью выражения эквивалентности между двумя полями, например:SELECT FirstName, LastName, OrderDate FROM tblOrder INNER JOIN tblCustomer ON tblOrder.CustomerID = tblCustomer.IDЭтот запрос SQL возвращает информацию обо всех клиентах, которые имеют заказы в
7.17. Вычисление разности между двумя моментами времени
7.17. Вычисление разности между двумя моментами времени Можно вычислить интервал между двумя моментами времени. В результате вычитания одного объекта Time из другого получаем число секунд:today = Time.local(2000,11,10)yesterday = Time.local(2000,11,9)cliff = today - yesterday # 86400 секунд.И снова оказывается
8.2.13. Вычисление разности и пересечения хэшей
8.2.13. Вычисление разности и пересечения хэшей Ключи хэша можно скопировать в отдельный массив, а к получившимся из разных хэшей массивам применить методы & и - класса Array. Результатом являются пересечение и разность множеств ключей. Соответствующие им значения можно
10.5. Проблемы объединения
10.5. Проблемы объединения Следующие разделы излагают различные аспекты объединений набора
1. Операция объединения.
1. Операция объединения. Для того чтобы реализовать операцию объединения двух отношений приходится использовать одновременно два оператора Select, каждый из которых соответствует какому-то одному из исходных отношений-операндов. И к этим двум базовым операторам Select
2. Операция пересечения.
2. Операция пересечения. Операция пересечения и операция разности двух отношений на языке структурированных запросов реализуются похожим образом (мы рассматриваем наиболее простой способ представления, так как, чем проще метод, тем он экономичнее, актуальнее и,
3. Операция разности.
3. Операция разности. Как уже было сказано ранее, унарная операция разности двух отношений реализуется аналогично операции пересечения. Здесь также, кроме главного запроса с оператором Select, используется второй, вспомогательный запрос – так называемый подзапрос.Но в
Объявление объединения
Объявление объединения Объединение позволяет в разные моменты времени хранить в одном объекте значения различного типа. В процессе объявления объединения с ним ассоциируется набор типов значений, которые могут храниться в данном объединении. В каждый момент времени
Пример. Привязка к точкам пересечения примитивов
Пример. Привязка к точкам пересечения примитивов Постройте отрезок, нарисованный пунктирной линией, задавая его точки с объектной привязкой к точкам пересечения объектов (рис. 6.4).Запустите команду формирования отрезка LINE, вызвав ее из падающего меню Draw ? Line или щелкнув
5.4 Друзья и Объединения
5.4 Друзья и Объединения В это разделе описываются еще некоторые особенности, ксающиеся классов. Показано, как предоставить функции не члену доступ к закрытым членам. Описывается, как разрешать конфлиты имен членов, как можно делать вложенные описания классов, и как
5.4.6 Структуры и Объединения
5.4.6 Структуры и Объединения По определению struct – это просто класс, все члены кторого открытые, то естьstruct s (* ...есть просто сокращенная записьclass s (* public: ...Структуры используются в тех случаях, когда сокрытие данных неуместно.Именованное объединение определяется как struct, в
5.4 Друзья и Объединения
5.4 Друзья и Объединения В это разделе описываются еще некоторые особенности, ксающиеся классов. Показано, как предоставить функции не члену доступ к закрытым членам. Описывается, как разрешать конфликты имен членов, как можно делать вложенные описания классов, и как
8.5.13 Объединения
8.5.13 Объединения Объединение можно считать структурой, все объекты члены которой начинаются со смещения 0, и размер которой достаточен для содержания любого из ее объектов членов. В каждый момент времени в объединеии может храниться не больше одного из обектов членов.