|
Программирование >> Реляционные базы данных
Кортеж (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. □
(Ь) Отношение 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,2) из R и (4, 5) из S удовлетворяют условию объединения. Поскольку каждый из них появляется п эти котношениях дважды, числом вхождений объединенного кортежа в результат будет 2x2 = 4. Другое возможное объединение кортежей (1,2) из Л с (2,3) из S- не удовлетворяет условию объединения, поэтому их комбинация не входит в результат. □
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0.001
При копировании материалов приветствуются ссылки. |