Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
3. Реляционная алгебра.doc
Скачиваний:
25
Добавлен:
17.07.2019
Размер:
237.57 Кб
Скачать

3.2. Реляционные выражения. Преобразования реляционных выражений.

Результатом любой из рассмотренных в 3.1 операций над таблицами является таблица. Поэтому возможно построение реляционных выражений, в которых аргументом операции может быть не только явно указанная таблица, но и вложенное выражение. Для построения выражений важны приоритеты каждой операции.

Таблица Т1

Номер производителя

Производитель

Номер магазина

Адрес

1

Hewlett Packard

10

Ул. Некрасова, 21

2

Western Digital

10

Ул. Некрасова, 21

3

IBM

10

Ул. Некрасова, 21

1

Hewlett Packard

11

Ленинский пр., 45

2

Western Digital

11

Ленинский пр., 45

Таблица Т2

Номер магазина

Адрес

10

Ул. Некрасова, 21

11

Ленинский пр., 45

Результирующая таблица Т1 / Т2

Номер производителя

Производитель

1

Hewlett Packard

2

Western Digital

Рис. 3.10. Деление таблиц.

Для операций реляционной алгебры установлены следующие приоритеты:

Операция

Приоритет

Переименование поля

4

Проекция

3

Селекция

3

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

2

Соединение

2

Пересечение

2

Деление

2

Объединение

1

Разность

1

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

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

Два выражения реляционной алгебры считаются эквивалентными, если они описывают одну и ту же реляционную таблицу.

Существуют законы, которые в соответствии с этим определением позволяют выполнять эквивалентные преобразования выражений реляционной алгебры:

Законы коммутативности:

1. для декартовых произведений

Т1  Т2 = Т2  Т1

2. для соединений (У – условие соединения)

Т1У Т2 = Т2У Т1

Законы ассоциативности:

1. для декартовых произведений

(Т1 Т2 )  Т3 = Т1  (Т2  Т3)

2. для соединений (У1, У2 – условия соединений)

(Т1У1 Т2 )  У2 Т3 = Т1 У1 (Т2 У2 Т3)

Законы комбинаций:

1. Каскад селекций (У1, У2 – условия селекций, And – логическое И)

У1 (У2 (Т)) =  У1 And У2 (Т)

2. Каскад проекций, {Am} и {Bn} – наборы полей для проекций, {Am}  {Bn}

A1,A2,...,Am ( B1,B2,...,Bn(Т)) =  A1,A2,...,Am (Т)

Законы перестановок:

1. Селекция и проекция (У – условие селекции, {Am} – набор полей для проекции)

У ( A1,A2,...,Am (Т)) =  A1,A2,...,Am (У (Т))

2. Селекция и объединение (У – условие селекции)

У (Т1 U Т2)=У (Т1) U У (Т2)

3. Селекция и разность (У – условие селекции)

У (R1 – R2)=У (R1) – У (R2)

4. Проекция и декартово произведение {Am}, {Bk}, {Cn} – наборы полей для проекций, поля {Сn} принадлежат таблице Т1, поля {Bk} – таблице Т2, {Cn}  {Am}, {Bk}  {Am}

A1,A2,...,Am ( Т1  Т2 ) =  C1,C2,...,Cn(Т1) B1,B2,...,Bk(Т2)

5. Проекция и объединение, {Am} – набор полей из проекции

A1,A2,...,Am ( Т1 U Т2 ) =  A1,A2,...,Am (Т1) U A1,A2,...,Am (Т2)

6. Селекция и декартово произведение. Закон имеет несколько вариантов в зависимости от накладываемого условия селекции:

  • Если условие наложено только на поля таблицы Т1

У (Т1  Т2) = У (Т1)  Т2

  • Если условие можно представить в виде У = У1 And У2, причем У1 наложено только на поля таблицы Т1, а У2 – только на поля таблицы Т2

У (Т1  Т2) = У1(Т1) У2 (Т2)

  • Если условие можно представить в виде У = У1 And У2, причем У1 наложено только на поля таблицы Т1, а У2 – на поля обеих таблиц Т1 и Т2

У (Т1  Т2) = У2 (У1( Т1)  Т2)

Страница 9 из 9

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