Online-knigi.org
online-knigi.org » Книги » Компьютеры и интернет » Базы данных » Базы данных: конспект лекций - Коллектив авторов (читать книги полностью без сокращений .TXT) 📗

Базы данных: конспект лекций - Коллектив авторов (читать книги полностью без сокращений .TXT) 📗

Тут можно читать бесплатно Базы данных: конспект лекций - Коллектив авторов (читать книги полностью без сокращений .TXT) 📗. Жанр: Базы данных. Так же Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте online-knigi.org (Online knigi) или прочесть краткое содержание, предисловие (аннотацию), описание и ознакомиться с отзывами (комментариями) о произведении.
Перейти на страницу:

4. Варианты операций соединения

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

Первым таким вариантом операций соединения является операция внутреннего соединения по заданному условию соединения.

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

Запишем формульное определение этой операции:

r1(S1) × P r2(S2) = σ <P> (r1 × r2), S1S2 = ∅;

Здесь P = P <S1S2> – условие, накладываемое на объединение двух схем исходных отношений-операндов. Именно по этому условию и происходит отбор кортежей из отношений r1 и r2 в результирующее отношение.

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

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

Для наглядного иллюстрирования работы операции внутреннего соединения, приведем следующий пример.

Пусть нам даны два отношения r1(S1) и r2(S2) с различными схемами отношения:

r1(S1):

Базы данных: конспект лекций - i_040.png

r2(S2):

Базы данных: конспект лекций - i_041.png

Следующая таблица даст результат применения операции внутреннего соединения по условию P = (b1 = b2).

r1(S1) × P r2(S2):

Базы данных: конспект лекций - i_042.png

Итак, мы видим, что действительно «слипание» двух таблиц, представляющих отношения, произошло именно по тем кортежам, в которых выполняется условие операции внутреннего соединения P = (b1 = b2).

Теперь на основании уже введенной операции внутреннего соединения мы можем ввести операцию левого внешнего соединения и правого внешнего соединения. Поясним.

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

Вопрос, чем же пополняются результирующие отношения операций левого и правого внешнего соединения, вполне ожидаем. Кортежи одного отношения-операнда дополняются на схеме другого отношения-операнда Null-значениями.

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

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

Пусть нам даны два отношения r1(S1) и r2(S2) с различными схемами отношений S1 и S2, не пересекающимися друг с другом.

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

1) r3 (S2 ∪ S1) ≔ r1(S1) × Pr2(S2);

r 3 (S2 ∪ S1) это просто результат внутреннего соединения отношений r1(S1) и r2(S2). Левое внешнее соединение является производной операцией именно от операции внутреннего соединения, поэтому мы и начинаем наши построения с нее;

2) r4(S1) ≔ r 3(S2 S1) [S1];

Таким образом, с помощью унарной операции проекции, мы выделили все соединимые кортежи левого исходного отношения-операнда r1(S1). Результат обозначили r4(S1) для удобства применения;

3) r5 (S1) ≔ r1(S1) r4(S1);

Здесь r1(S1) все кортежи левого исходного отношения-операнда, а r4(S1) – его же кортежи, только соединимые. Таким образом, при помощи бинарной операции разности, в отношении r5(S1) у нас получились все несоединимые кортежи левого отношения-операнда;

4) r6(S2)≔ {∅(S2)};

{∅(S2)} это новое отношение со схемой (S2), содержащее всего один кортеж, причем составленный из Null-значений. Для удобства мы обозначили это отношение r6(S2);

5) r7 (S2 ∪ S1) ≔ r5(S1) × r6(S2);

Здесь мы взяли полученные в пункте три, несоединимые кортежи левого отношения-операнда (r5(S1)) и дополнили их на схеме второго отношения-операнда S2 Null-значениями, т. е. декартово умножили отношение, состоящее из этих самых несоединимых кортежей на отношение r6(S2), определенное в пункте четыре;

6) r1(S1) →× P r2(S2) ≔ (r1 × P r2) ∪ r7 (S2S1);

Это и есть левое внешнее соединение, полученное, как можно видеть, объединением декартового произведения исходных отношений-операндов r1 и r2 и отношения r7 (S2 S1), определенного в пункте пятом.

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

1) операция левого внешнего соединения в строгом формулярном виде выглядит следующим образом:

r1(S1) →× P r2(S2) ≔ (r1 × P r2) ∪ [(r1 (r1 × P r2) [S1]) × {∅(S2)}];

Перейти на страницу:

Коллектив авторов читать все книги автора по порядку

Коллектив авторов - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки mir-knigi.info.


Базы данных: конспект лекций отзывы

Отзывы читателей о книге Базы данных: конспект лекций, автор: Коллектив авторов. Читайте комментарии и мнения людей о произведении.


Уважаемые читатели и просто посетители нашей библиотеки! Просим Вас придерживаться определенных правил при комментировании литературных произведений.

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

Надеемся на Ваше понимание и благоразумие. С уважением, администратор online-knigi.org


Прокомментировать
Подтвердите что вы не робот:*