Программирование >>  Реляционные базы данных 

1 ... 60 61 62 [ 63 ] 64 65 66 ... 125


Кортеж (3,4) входит в него один раз, поскольку такова разность между числом его вхождений в 5 и Л. Кортеж (5, 6) входит в 5 - Л по той же самой причине. В данном случае результирующее мультимножество оказалось множеством. □

4-6.3 Проекция мультимножеств

Проекция мультимножеств уже рассматривалась в примере 4.48, где каждый кортеж обрабатывался независимо от други.х. Если R мультимножество, изображенное на рис. 4.29, и вычисляется мультимножественнал проекция g{R), получается мультимножество, показанное на рис. 4.28.

Если устранение одного или более атрибутов в процессе проекции вынуждает строить один и тот же кортеж из нескольких кортежей, повторяющиеся кортежи не удаляются из результата мультимножественной проекции. Значит, проекция каждого из кортежей {1,2, 5), (1, 2, 7) и (I, 2, 8) отношения R из рис. 4.29 на атрибугы А м В порождает один и тот же кортеж (1,2). В результате-мультимножестве есть три вхождения этого кортежа, в то время как в результате-множестве только одно.

Алгебраические законы мультимножеств

Алгебраический закон - это эквивалентность двух выражений реляционной алгебры, аргументами которых являются переменные, обозначающие отношения. Суть эквивалентности в том, что два выражения определяют одно и То же отношение независимо от того, какие отношения подставлены вместо переменны.ч. Пример широкоизвестного закона - закон коммутативности объединения: R Ss 5и R. Он верен независимо от того, считаются ли реляционные переменные R к S множествами или мультимножествами. Однако есть ряд других законов, которые действуют, когда реляционная алгебра интерпретируется в обычном стиле с отношениями в виде множеств, но не действуют, когда отношения интерпретируются как мультимножества. Простой при.мер такого закона - закон дистрибутивности теоретико-множественной раз iiocTH относительно объединения {RyS) T(R 7) и (5 7)- Он верен для множеств, но не для мультимножеств. Действительно, пусть R, S и Т- муль-тимножесгва, содержащие по одной копии. Тогда в левой части эквивалентности есть одно вхождение /, а п правой нет ни одного. В случае с множествами ни в одной части эквивалентности нет вхождений Л Анализ алгебраических законов для мультимножеств включен в упражнения 4.6.4 и 4.6.5.

Разность мультимножеств Л-5-это мультимножество:

А [ В 1 2

1 ; 2

Действительно, (!, 2) fixontrr трижды в Л и один раз в S, значит, в К - Son входит тах<0.3 - I) = 2 раза. Кортеж (3. 4) входит один раз в /? и дважды в S, поэтому в Л- он входит iTiax(0,l - 2) = О раз. В R нет других кортежей, поэтому их не может быть и в R-S.

Еще одни пример мультимножества разность S- R:



результатом мультимножественного выбора стсгб() является

То есть условию выбора удовлетворяют все кортежи, кроме первого. В результат включаются оба последних шентичных кортежа R. □

(а) Отношение R

(Ь) Отношение S

2 4 4

(с) Произведение й х .У

Рис. 4.30. Вычисление произведения мультимножеств

4.6.4 Операция выбора на мультимножествах

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

Пример 4.50. Если /?-мультимножество



4-6.5 Произведение мультимножеств

Сописно правилу для декартова произведения мультимножеств, кажаый кортеж одного отиошени спаривается с каждым кортежем другою, независимо от того, дублируется он или нет. В результате, если кортеж / входит в R т раз, а кортеж вводит в S п раз. кортеж rs войдет ъ Ну. S тп раз.

Пример 4.51. Пусть Як S- мультимножества, показанные на рис. 4.30. Тогда произведение RkS состоит из шести кортежей, показанных на рис. 4.30(c). Заметим, что обычное соглашение относительно имен атрибутов, введенное ,аля отношений-множеств, действует и для мультимножеств. Поэтому атрибут В, принадлежащий отношениям R и .У, дважды входит в произведение, и каждому его вхождению предшествует имя одного из отношений. □

4.6.6 Соединения мультимножеств

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

Пример 4.52. Натуральным соединением Л ро 5 отношений R и показанных на рис. 4.30, является отношение

Л ! fi ! С

Здесь кортеж (!, 2) из R соединяется с кортежем (2, 3) из S. Поскольку в R две копии (1,2) и в .Годна копил (2.3), существуют две пары кортежей, которые при объединении дают (1,2, 3). Больше никакие другие кортежи из Л и 5 успешно не соединяются.

Тета-соединение тех же отношений Л и J

Л Мл

t<..гв

порождает мультимножество

1 R.B

\ S.B

Это объединение вычисляется следующим образом. Кортежи (1,2) из R и (4, 5) из S удовлетворяют условию объединения. Поскольку каждый из них появляется п эти котношениях дважды, числом вхождений объединенного кортежа в результат будет 2x2 = 4. Другое возможное объединение кортежей (1,2) из Л с (2,3) из S- не удовлетворяет условию объединения, поэтому их комбинация не входит в результат. □



1 ... 60 61 62 [ 63 ] 64 65 66 ... 125

© 2006 - 2024 pmbk.ru. Генерация страницы: 0.001
При копировании материалов приветствуются ссылки.
Яндекс.Метрика