Введение в системы БД (542480), страница 58
Текст из файла (страница 58)
Для операций расширения и подведения итогов имеем следующее. ° Расширение отношения ОЕЕ или ООМ для добавления новых атрибутов дает отношение с одним атрибутом и тем же количеством кортежей, что и в исходном отношении. ° Суммирование отношения ОЕЕ или ООИ (обязательно по пустому множеству атрибутов) дает отношение с одним атрибутом и тем же количеством кортежей, что и в исходном отношении.
6.11. Нет! 6.12. Мы можем определить (и определяем) объединение, пересечение, произведение или соединение одного отношения Е как само Е. Рассмотрим случай, когда л=0. Пусть ИТ вЂ” некоторый тип отношений. Тогда имеем следующее. ° Объединением нулевого числа отношений типа ЕТ будет пустое отношение типа ЕТ. Обратите внимание, что при этом должен существовать какой-либо способ указания того, что ЕТ вЂ” операнд операции объединения.
° Пересечением нулевого числа отношений типа ЕТ является универсальное" отношение типа ЕТ, где термин "универсальное отношение типа ЕТ" обозначает отношение типа ЕТ, тело которого состоит из всевозможных кортежей, удовлетворяющих заголовку отношения (при этом, опять-таки, должен быть какой-то способ указания того, что ЕТ вЂ” операнд операции пересечения). Заметьте, что термин "универсальное отношение" часто употребляется в литературе с другим значением [ ! 2. ! 9) ! ° Произведением и пересечением нулевого числа отношений будет ТАЕЪЕ РЕЕ. 6.13.
0 237 Глава б. Реляционная алгебра 6.14. 3 ИНЕКЕ С1ТХ = 'Ьопбоп' 6.15. ( БРЗ ИНЕКЕ З» = З» ( '31' ) ) ( 3$ ) 6.16. БРЗ ИНЕКЕ ОТХ > ()ТХ ( 300 ) АКО ОТХ < ОТХ ( 750 ) 6.17. Р ( СОЬОК, С1ТХ ) 6.18. ( Я МОХК Р ЛОХИ Ю ) ( Я$, Р», Л» 6.19. ( ( ( Б КЕКАМЕ С1ТХ АЯ ЯС1ТХ ) Т1МЕЯ ( Р КЕКАМЕ С1ТХ АБ РС1ТХ ) Т1МЕЯ ( Л КЕКАМЕ С1ТХ АБ ЮСХТХ ) ) ИНЕКЕ БСПХ ~ РСПХ ОК РС1ТХ и ЮСХТХ ОК ЛСХТХ и БСХТХ ) ( 3$, Р», З» ) 6.20. ( ( ( Я КЕКАМЕ С1ТХ АЯ ЯС1ТХ ) ТХМЕБ ( Р КЕКАМЕ СПХ АЯ РСХТХ ) Т1МЕБ ( Л КЕКАМЕ С1ТХ АЯ ЮСХТХ ) ) ИНЕКЕ ЯС1ТХ Ф РС1ТХ АКР РС1ТХ и ЛСХТХ АКР ЛСХТХ и БС1ТХ ) ( Я4, Р», Л» 6.21. Р БЕМХЗОХК ( ЯРЛ ЯЕМХЮОХК ( Я ИНЕКЕ С1ТХ = 'Ьопбоп' ] ) 6.22.
Для того чтобы напомнить о такой возможности, приводим пошаговое этой задачи. И1ТН ( Я ИНЕКЕ С1ТХ = 'Ьопбоп' ) АБ ТХ, ( Л ИНЕКЕ С1ТХ = 'Ьопс)оп' ) АЯ Т2, ( БРЛ ЗОХК ТХ ) АЯ ТЗ, ТЗ ( Р», Ю» ) АЯ Т4, ( Т» ЛОХИ Т2 ) АЯ Т5 Т5 ( Р» ) Вот как выглядит этот же запрос без использования ИХТН. ( ( ЯРЗ ЛОХИ ( Я ИНЕКЕ СХТХ = 'Ьопбоп' ) ) ( Р», Л4 МОХК ( г ИНЕКЕ СХТХ = Еопбоп' ) ) ( Р» ) Далее приводятся ответы к следуюшим упражнениям (как с предложением и без него).
6.23. ( ( Я КЕКАМЕ С1ТХ АБ БС1ТХ ) МОХК ЯРО ЛОХИ ( Л КЕКАМЕ С1ТХ АЯ ЛСХТХ ) ) ( ЯС1ТХ, ЮСХТХ ) 6.24. ( Л МОХК ЯРЮ МОХК Б ) ( Р» ) 6.25. ( ( ( Ю КЕКАМЕ С1ТХ АБ ЮСХТХ ) МОХК ЯРЮ ЛОХМ ( Б КЕКАМЕ СХТХ АЯ ЯС1ТХ ) ) ИНЕКЕ ЗСХТХ и БСХТХ ) ( Ю» ) 6.26. И1ТН ( ЯРО ( 34, Р4 ) КЕКАМЕ 3$ АЯ ХЯ4, Р» АБ ХР» ) АЯ ТХ, ( ЯРЮ ( 34, Р» ) КЕКАМЕ 34 АЯ ХЯ», Р» АЯ ХР» ) АЯ Т2, ( ТХ Т1МЕБ Т2 ) АЯ ТЗ, решение И1ТН так гзз Часть П. Реляционная модель ( ТЗ ИНЕКЕ ХЯ$ = 18$ АКО ХР$ < УР» ) АЯ Т4 Т4 ( ХР», ХР$ ) 6.27. ( ЯОММАКХХЕ ЯРЮ ( 8$, Л» Рек кеьйтхок ( тоРье ( Б» 8$ ( '81' ) АНН СООКТ йЯ К ) ( К ) Напоминаем, что фигурирующее в предложении РЕК выражение является вызовом оператора выбора (в действительности это отношение-литерал). 6.28.
( ЯОММАКХХЕ ЯРЛ ( Я», Р$, ОТХ ) РЕК КЕЬАТ10К ( ТОРЬЕ ( Я» 8$ ( ЯХ ) у Р$ Р» ( Р1 ) ) ) Аоо Янм ( Отх ) АЯ 0 ) ( 0 ) 6.29. ЯОММАК1ХЕ ЯРЛ РЕК ЯРЗ ( Р», О» ) АСН ЯОМ ( ОТХ ] АЯ () 6.30. И1ТН ( ЯОММАКХХЕ ЯРЮ РЕК ЯРЛ ( Р», Ю» Аоо АРО ( ОТХ ) АЯ () ) АЯ Т1, ( ТХ ИНЕКЕ 0 > ЦТХ ( 350 ] ) АБ Т2 Т2 ( Р» 6.31. ( Л ЛОХИ ( ЯРЛ ИНЕКЕ Я» = Я» ( 'ЯХ' ) ) ) ( ЛИАНЕ ) 6.32.
( Р МОХК ( ЯРЮ ИНЕКЕ Я» = Я» ( 'Я1' ) ) ] ( СОЬОК ) 6.33. ( ЯРЛ ЛОХИ ( Ю ИНЕКЕ СХТХ = 'Ьопдоп' ) ) ( Р» ) 6.34. ( ЯРЛ ЛОХИ ( ЯРЛ ИНЕКЕ Я» = Я» ( 'ЯХ' ) ) ( Р$ ) ) ( Л» 6.35. ( ( ( ЯРЮ ЛОХИ ( Р ИНЕКЕ СОЬОК = СОЬОК ( 'Кас)' ) ) ( Р» ) ) ( Б» ) ЗОХК ЯРЗ ) ( Р» ) ЗОХК ЯРЗ ) ( 6.36. И1ТН ( Я ( Б», ЯТАТОЯ ) КЕКАМЕ Я» АЯ ХЯ», ЯТАТОЯ АЯ ХЯТАТОЯ ) АБ Т1, ( Я ( 8$, БТАТОЯ ) КЕКАМЕ 8$ АЯ ХЯ», ятйтоБ АБ хятйтоя ) Ая тг, ( Т1 ТХМЕЯ Т2 ) АЯ ТЗ, ( ТЗ ИНЕКЕ ХЯ» = Б» ( '81' ] АКО ХЯТАТОЯ > ХЯТАТОЯ ) АЯ Т4 т4 ( 18» ) 6.37.
( ( ехтекн 3 АНН мхк ( 3, схтх ) Ая РХкят ) ИНЕКЕ С1ТХ = Р1КЯТ ) ( Л» ) Каким будет результат выполнения этого запроса в случае, когда базовая переменная-отношение Л пуста? 6.38. ИХТН ( ЯРЛ КЕКАМЕ Л» йЯ ХО» )' АЯ ТХ, ( Т1 ИНЕКЕ ХЗ» = Л» АКО Р» = Р» ( 'Р1' ) ) АЯ Т2, ( ЯРЛ ИНЕКЕ Р» = Р» ( 'РХ' ) ) АЯ ТЗ, ( ЕХТЕКО ТЗ Аоо АЧО ( Т2, ОТХ ) АЯ ОХ ) АЯ Т4, Т4 ( 3», ОХ ) АЯ Т5, ( ЯРХ ИНЕКЕ Л» = Л» ( '11' ) ) АЯ Т6, Глава б.
Реляционная алгебра гз9 ( ЕХТЕКО Тб й00 МАХ ( Тб, ОТУ ) АЯ 01 ) АЯ Т7, ( Т5 Т1МЕБ Т7 ( 01 ) ) АЯ ТБ! ( Т8 ИНЕКЕ ОХ > 01 ) АБ Т9 Т9 ( 1$ 6.39. И1ТН ( ЯРЮ ИНЕКЕ Р$ = Р$ ( 'Р1' ) ) АБ Т1, т1 ( 3$, 1$, Оту ) АЯ т2, ( Т2 КЕКАМЕ Ю$ АЯ ХЮ$, ОТУ йя ХО ) АЯ ТЗ, ( БОММАВХхе т1 Рек яи ( 3$ ) А00 АЧО ( ОТХ ) йя Ц Ая Т4, ( ТЗ Т1МЕЯ Т4 ) АЯ Т5, ( Т5 ИНЕКЕ ХЮ$ = 3$ АКО ХО > 0 ) АБ Тб Тб ( Я$ ) 6.40. ИХТН ( Я ИНЕКЕ С1ТУ = 'Ьоп«)оп' ) ( Я$ ) АБ Т1, ( Р ИНЕКЕ СОЬОК = СОЬОК ( 'Ке«)' ) ) АЯ Т2, ( Т1 МОХК ЯРЛ ЛОХИ Т2 ) йЯ ТЗ 7 ( Ю$ ) М1КОЯ ТЗ ( 7$ ) 6.41. 3 ( 8$ ) МХКОя ( яИ ИНЕКЕ 3$ я я$ ( 'я1' ) ) ( 1$ ) 6.42. ИХТН ( ( ЯРЛ КЕКАМЕ Р$ АЯ Х ) ИНЕКЕ Х = Р$ ) ( 3$ ) АЯ Т1, ( Л ИНЕКЕ СХТУ = 'Ьопооп' ) ( 1$ ) Ая Т2, ( Р инеке т1 > т2 ) йя тз ТЗ ( Р$ ) 6.43. Я ( 3$, Р$ ) 01910ЕВУ Л ( 1$ ) РЕК БРЛ ( 3$, Р$, 1$ 6.44.( Ю ИНЕКЕ ( ( ЯРЮ КЕКАМЕ Ю$ АЯ У ) ИНЕКЕ У = 1$ ) ( Р$ ) > ( ЯРЮ ИНЕКЕ Я$ = 3$ ( 'Я1' ) ) ( Р$ ) ) ( 1$ 6.45.
Я ( ОХТУ ) ОК1ОК Р ( СХТТ ) ОК1ОК З ( Стту ) 6.46.( ЯИ ЗОХК ( я ИНЕКЕ СХту = 'Ьопаоп' ) ) ( Р$ ) ОК1ОК ( ЯРЮ ЛОХИ ( Л ИНЕКЕ СХТХ = 'Ьоп«)оп' ) ) ( Р$ ) 6.47.( Я Т1МЕЯ Р ) ( 3$, Р$ ) М1КОЯ БР ( 3$, Р$ ) 6.48. Предоставляем два решения этой задачи. В первом решении, принадлежашем Хью Дарвену, используются только операторы из разделов 6.2 и 6.3. ИХТН ( ЯР КЕКАМЕ 3$ АЯ Бй ) ( Яй, Р$ ) Ая Т1, /* Т1 (Яй, Р$) : Яй поставляет деталь Р$ */ ( БР КЕКАМЕ 3$ АЯ ЯВ ) ( ЯВ, Р$ ) АБ Т2, /* Т2 (ЯВ, Р$) : ЯВ поставляет деталь Р$ «/ Т1 ( ЯА ) АЯ ТЗ, /' ТЗ (ЯА) : Яй поставляет некоторую деталь */ Т2 ( ЯВ ) йя Т4, /* Т4 (ЯВ) : ЯВ поставляет некоторую деталь */ 240 Часть П.
Реляционная л«адель ( Т1 Т1ИЕЯ Т4 ) АБ Т5, /* Т5 (ЯА,ЯВ,Р4» : Яй поставляет некоторую деталь, и ЯВ поставляет деталь Рб */ ( Т2 Т1МЕБ ТЗ ) АЯ Тб, /* Тб (ЯА,ЯВ,Р)) ю БВ поставляет некоторую деталь, и Бй поставляет деталь Р4 */ ( Т1 301К Т2 ) АЯ Т7, /* Т7 (БА,БВ,Р4) : Бй и БВ поставляют деталь Р4 */ ( ТЗ ТТИЕЯ Т4 ) АЯ Т8, /* Т8 (Яй,ЯВ) : ЯА поставляет некоторую деталь, и ЯВ поставляет некоторую деталь */ ЯР ( Р4 ) АЯ Т9, /* Т9 (Р4) : деталь Р4 поставляется некоторым поставщиком */ ( Т8 ТХМЕЯ Т9 ) АЯ Т10, /* Т10 (ЯА,ЯВ,РФ) ЯА поставляет некоторую деталь, ЯВ поставляет некоторую деталь, и деталь Р4 поставляется некоторым поставщиком */ ( Т10 МТКВЯ Т7 ) АБ Т11, /* Т11 (ЯА,ЯВ,Р4) ; деталь Р4 поставляется, но не поставщиками Яй и ЯВ */ ( Тб 1КТЕЕБЕСТ Т11 ) АБ Т12, /' Т12 (БА,ЯВ,Р$) : деталь Р4 поставляется поставщиком ЯА, но не ЯВ "/ ( Т5 1КТЕКБЕСТ Т11 ) АЯ Т13, /* Т13 (БА,БВ,Р4) : деталь Рб поставляется постанщиком ЯВ, но не БА */ Т12 ( БА, ЯВ ) АЯ Т14, /* Т14 (ЯА,ЯВ) : ЯА поставляет некоторую деталь, не поставляемую поставщиком ЯВ */ Т13 ( ЯА, ЯВ ) АЯ Т15, /* Т15 (ЯА,ЯВ) 1 ЯВ поставляет некоторую деталь, не поставляемую поставщиком Яй */ ( Т14 ВК10К Т15 ) АЯ Т16, /* Т16 (БА,ЯВ) : некоторая деталь поставляется поставщиком ЯА или ЯВ, но не обоими */ Глава б.
Реляционная алгебра ТТ ( БА, ЯВ ) АЯ Т17, /* Т17 (ЯА,ЯВ) : некоторая деталь поставляется как поставщиком ЯА, так и поставщиком ЯВ */ ( Т17 МХНВЯ Т16 ) АЯ Т18, /* Т18 (ЯА,БВ) : некоторая деталь поставляется как поставщиком БА, так и поставщиком ЯВ, ни одна деталь, поставляемая ЯА, не поставляется поставщиком ЯВ, и ни одна деталь, поставляемая ЯВ, не поставляется поставщиком ЯА — таким образом, ЯА и ЯВ поставляют в точности одни и те ше детали */ ( Т18 ИНЕКЕ ЯА < БВ ) АБ Т19 /* завершающий шаг */ Т19 Во втором решении, которое является более прямолинейным, используются реля- ционные сравнения, рассмотренные в разделе 6.9.
И1ТН ( Б КЕНАМЕ Б$ АЯ ЯА ) ( ЯА ) АБ КА , ( Я КЕНАМЕ 8$ АБ ЯВ ) ( ЯВ ) АБ КВ ( КА ТТМЕЯ КВ) ИНЕКЕ ( ЯР ИНЕКЕ Б() = ЯА ) ( Р$ ( ЯР ИНЕКЕ Б() = БВ ) ( Р$ ) АНВ ЯА < ЯВ 6.49. ЯРЯ ЯКОВР ( Б), 0ТТ ) АЯ Я0 6.50. Обозначим через ЯРО результат выполнения выражения, полученного в ответе к упр.
6.49. Тогда имеем следуюшее. ЯРО ННСКВВР Лб 242 Часть 11. Реляционная модель глава 7 Реляционное исчисление 7.1. Введение В главе 6 отмечалось, что часть реляционной модели, которая связана с операторами манипулирования данными, основывается на использовании реляционной алгебры. Однако с тем же основанием можно сказать, что она построена на базе реляционного исчисления. Другими словами, реляционная алгебра и реляционное исчисление представляют собой два альтернативных подхода.