Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БД(4 курс).doc
Скачиваний:
20
Добавлен:
21.04.2019
Размер:
716.29 Кб
Скачать

Постоянные отношения. Переименование атрибутов

Определение. Пусть A1,…,Anразличные атрибуты, а ci является константой из dom(Ai) для 1 i n, тогдас1 : А1,…,сn : An - постоянный кортежс1,…,сnнад схемой А1А2Аn.

Постоянное отношение над схемой А1А2Аn представляется как множество кортежей. Пусть cij – константа из dom(Ai ) для 1in и 1 j k, тогда

{ c11: A1, c12: A2 c1n: An,

c21: A1, c22: A2 c2n: An,

ck1: A1, ck2: A2 ckn: An}

представляет отношение, которое обычно записывалось бы так:

( A1

A2



An )

c11

c12



c1n

c21

c22



c2n









ck1

ck2



ckn

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

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

Пример

О

использование(рейс дата номер самолета)

12

06.12.04

134-82

12

07.12.04

134-82

13

06.12.04

134-82

26

06.12.04

86-16

26

07.12.04

86-18

27

06.12.04

86-16

27

07.12.04

86-2

60

06.12.04

134-82

60

07.12.04

154-6

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

Требуется узнать все пары рейсов, которые используют один и тот же самолет в один и тот же день. Для этого хорошо было бы соединить отношение использование с его копией, игнорируя связи по столбцу рейс. Но для этого нужно, чтобы атрибут рейс в копии назывался по-другому, например, рейс2. Переименование атрибутов производится соответствующим оператором.

Конец примера

Определение. Пусть r – отношение со схемой R, AR, ВR – A, dom(A)=dom(B). Пусть R = (R – A)B. Тогда r с A, переименованным в В (обозначаетсяАВ(r)) есть отношение r(R ) = {t | tr, t (RA) = t(R – A) & t (B) = t (A)}.

Пример (продолжение)

О

s = {рейс, рейс2}(использование  {рейс рейс2}(использование)) =

= s (рейс рейс2)

12

13

13

12

60

12

12

60

13

60

60

13

12

12

13

13

60

60

26

27

27

26

26

26

27

27

тношение с искомыми парами рейсов:

Конец примера

Пусть r – отношение со схемой R,

A1,…, AkR;

B1,…, Bk R – (A1Ak); (1)

i: dom(Bi) = dom(Ai).

Обозначим одновременное переименование атрибутов A1,…, Ak в B1,…, Bk как A1,…, Ak B1,…, Bk(r). Благодаря условию (1) оно всегда может быть записано в виде последовательности переименований. Если это условие не выполняется, без введения дополнительных атрибутов такую замену выполнить нельзя. Очевидный пример – обмен A, B B, A .

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]