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

1 ... 44 45 46 [ 47 ] 48 49 50 ... 125


Пример 4.1. Рассмотрим лва отношения R t\ S, экземпляры отношения MovieSlar из раздела 3.9. Текущие экземпляры Л и 5 показаны на рис. 4.1. Объединение Ли 5:

пате

address

gender

birthdale

Came Fistier

123 Maple Si., Hollywood

9/9/99

Mark Hamill

456 Oak Rd., Brentwood

8/8/88

Harrison Ford

789 Palm Dr. Beverly Hills

7/7/77

В результате кортеж для Кэрри Фишер, входящий в оба отношения, появляется всего один раз.

Пересечение RrS:

пате

address

grender

birthdate

Canie Fisher

123 Maple St.. Hollywood

9/9/99

Здесь появляется только кортеж для Кэрри Фишер, поскольку только он входит в оба отношения. Разность R - S:

пате

address

Mark Hamill

456 Oak Rd., Brentwood

gender M

birthdale

Кортежи для Фишер и Хэмилла входят в Я, поэтому являются кандидатами для R - S. Но кортеж для Фишер входит и в S, поэтому его нет в R - S.

4.1.2 Проекция

Оператор проекции применяется к отношению Длля получения нового отношения, содержащего только некоторые столбцы R. Значение выражения а>...а.) это отношение, содержащее только столбцы А, .., А отношения R. Схема результирующего значения - это множество атрибутов {A.Aj,А }, которое обычно показывается 8 порядке перечисленных атрибутов.

title

year

length

jnCotor

studioName

producerCM

Star Wars

1977

true

12345

Mighty Ducks

1991

true

Disney

67890

Waynes World

1992

true

Paramount

99999

Pnt. 4.2. Отношение Movie

Пример 4.2. Рассмотрим отношение Movie со схемой, ириведенной в разделе 3.9. Экземпляр этого отношения показан на рис. 4.2. Его можно проецировать иа три первых атрибута с помощью выражения

i/*fe -,to ,/.(MovieJ



true

Заметим, что в нем только один кортеж, так как все три кортежа на рис. 4.2 имеют одно и то же значение своих компонентов для атрибута inCoIor. □

4-1.3 Отбор

Оператор отбора, примененный к отношению R, даст новое отношение с пол-множеством кортежей R. Кортежи нового отношения удоьпстворяют некоторому условию С, включающему в себя атрибугы Л. Операция отбора обозначается Of (Л). Схема результирующего отношения совпадает со схемой R, и атрибуты в ней обычно показаны в том же порядке, в каком онн ачодят в R.

С- выражение условного типа. Такие выражения применяются в обычных языках програм.мнровиния. Например, в языках С или Pascal условное выражение следует за ключевым словом if Еаинственное различие состоит в том. что операнды в С- это константы или атрибуты R. Оператор С применяется к каждому кортежу / отношения Л: при этом каждый атрибут А, входящий в условие С, заменяется компонентом кортежа t для атрибута А. Еслн после таких подстановок вместо каждого атрибута С это условие истинно, то кортеж i включается в результат ос(Л); в про-швном случае он в результат не входит.

Пример 4.3. Рассмотрим отношение Movie, показанное на рис. 4.2. Значением выражения o, ,j , юо (Movie) является отношение

year

length

inColor

StudioName

producerC#

Star Wars

1 1977

true

12345

Mighty Ducks

! 1991

laie

Disney

1 67890

Первый кортеж удовлетворяет условию lengih>\tXi. так как при подстановке вместо 1епф значения 124, найденного в компоненте первого кортежа для атрибута length, усло нем спанет выражением 124> 100. Оно истинно, поэтому первый корзж принимается Точно гак же можно объяснить, почему входит в результат второй кортеж нз рнс. 4.2.

Компоиен! length третьего кортежа - 9з. Поэтому после подстановки пазучает-ся ложное условие 95 > 100 и этот кортеж не включается в резулыат □

Пример 4.4, Допустим, что в отношении

Movie(title. year, length. inColor. studioName. producerC*)

В результате получается oTHouieHiie

Ше : year length

Star Wars ПэТТ : 124

Mighty Ducks 1991 , 104 Waynes World ,1992 j 95

В качестве другого примера можно взять проекцию на атрибут inCoor с помощью выражения ncowiovie). В результате получается отношение с единственным столбцом:

inColor



нужно выбрать множество кортежей, представляющих фильмы стдии Fox, которые длятся не менее 100 мин. Для того чтобы получить это более сложное условие, применим связку AND к двум подусловиям:

с/пщль iiiOAMDKi/riiteMCTo- (Movie) и отношение с единственным кортежем

title

] year

length

inColor

Star Wars i 1977 I 124

StudioName 1 producerC#

true

12345

4-1.4 Декартово произведение

Декартово произведение (или просто произведение) двух множеств Я и 5-это множество пар, причем первым элементом каждой пары является элемент множества /?, а вторым - элемент множества S. Произведение обозначается RkS. Если Л и 6- отношения, их произведение, по существу, остаезся таким же. Но поскольку членами Л и 5 являюзся кортежи, состоящие обычно из нескольких компонентов, в результате соединения кортежа из R с кортежем из S получается более длинный кортеж, содержащий по одному компоненту для каждого компонента кортежей, состаапяюших данную пару. При этом компоненты из Л предшествуют компонентам из S.

Реляционная схема для результирующего отношения - это объединение схем для R и S. Если же Л и 5 имеют какие-то общие атрибуты, необходимо ввести новое имя по крайней мере для одного атрибута из каждой пары идентичных атрибутов. Чтобы уточнить, откуда взят атрибут А, входящий в схемы R а S, мы пишем R.A для атрибута из R и S.A для атрибута из S.

Отношение R

Отношение 5

Произведение Ry S

Рис. 4.3. Део отношений и их декортово произведвнив



1 ... 44 45 46 [ 47 ] 48 49 50 ... 125

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