ТОП 10:

Операции обработки отношений.



Реляционная алгебра представляет собой набор операций таких как:

1.Традиционные операции над множествами:

1.1. Объединение;

1.2. Пересечение;

1.3. Вычитание;

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

2. Специальные реляционные операции:

2.1. Выборка;

2.2. Проекция;

2.3. Соединение;

2.4. Деление.

 

 

Доказано, что этот набор обладает реляционной полнотой.

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

1.1. Операция "объединение" предполагает, что в качестве данных заданы два односхемных отношения A и B. В результате этой операции формируется новое отношение, построенное по этой же самой схеме и содержащее все кортежи отношения A и B.

Пример 1.

A

Номер сбер. Банка Район Адрес
Выборгский Пушкинская, 130
Выборгский Пушкинская, 29

 

 

B

Номер сбер. Банка Район Адрес
Восточный Больничная, 29
Восточный Больничная, 37
Восточный Больничная, 17

 

C1=AÈB

Номер сбер. Банка Район Адрес
Выборгский Пушкинская, 130
Выборгский Пушкинская, 29
Восточный Больничная, 29
Восточный Больничная, 37
Восточный Больничная, 17

 

1.2. Операция "пересечение" предполагает, что исходные отношения являются односхемными. Результирующее отношение построено по той же схеме, и оно содержит только те кортежи, отношения A, которые есть в отношении B.

C2=AÇB

Пример 2.

A Сотрудники ЮРГТУ

Ф.И.О. Адрес Год рождения
Иванов И.В. Пушкинская, 19
Петров П.Е. Буденновская, 14
Сидоров С.И. Г.Петровой, 5

 

B Лечащиеся в 1-ой поликлинике

Ф.И.О. Адрес Год рождения
Кедров К.Е. Московская, 100
Иванов И.В. Пушкинская, 19

 

 

C2=AÇB

 

Ф.И.О. Адрес Год рождения
Иванов И.В. Пушкинская, 19

 

1.3. Операция "вычитание" – предполагает, что исходные отношения A и B относительные. Результирующее отношение C3 должно быть построено по той же схеме. В С3 включаются только те кортежи из А, которых нет в отношении B.

С3=А\В.

С3 должно включать сведения о сотрудниках ЮРГТУ не лечащихся в первой поликлинике.

 

 

С3=А\В

 

Ф.И.О. Адрес Год рождения
Петров П.Е. Буденновская, 14
Сидоров С.И. Г.Петровой, 5

 

1.4. Операция “декартово произведение” предполагает, что при реализации этой операции имеют место два отношения А и В, которые построены по разным схемам. В результирующее отношение С4 входят все кортежи отношений А и В, причем каждый кортеж отношения А сцепляется с каждым кортежем отношения В. При этом мощность результирующего отношения равна произведению мощностей исходных отношений. А арность результирующего отношения равно сумме арностей исходных отношений.

Если схема А-A(A1,A2,…Ak), a схема B-B(B1,B2,…Bm), то схема С4-С4(А1,А2,…Аk, B1,B2,…Bm)

 

A

Ф.И.О.
Терехов А.А.
Петров В.В.
Кедров С.С.

 

 

B

Наименование дисциплины Дата экзамена Оценка
Физика 5.01.99  
История 12.01.99  

 

 

С4

Ф.И.О. Наименование дисциплины Дата экзамена Оценка
Терехов А.А. Физика 5.01.99  
Терехов А.А. История 12.01.99  
Петров В.В. Физика 5.01.99  
Петров В.В. История 12.01.99  
Кедров С.С. Физика 5.01.99  
Кедров С.С. История 12.01.99  

 

2.1. Операция "выборка" (селекция, горизонтальное подмножество) – предполагается, что исходным отношением для данной операции является одно отношение, результирующее отношение строится по той же схеме, и содержит подмножество кортежей исходного отношения, удовлетворяющее заданному условию выборки.

Например: из С1 выбрать кортежи, содержащие номер сбербанка не более 4000.

С5 [№ сбербанка < 4000]

Номер сбер. Банка Район Адрес
Выборгский Пушкинская, 130
Восточный Больничная, 17

 

2.2. Операция "проекция" (вертикальное подмножество). В качестве исходного используется одно отношение, а результирующее отношение строится по схеме, включающей подмножество атрибутов исходного отношения.

Например: из С5 исключить район.

С6 [№ сбер.банка, адрес]

Номер сбер. Банка Адрес
Пушкинская, 130
Больничная, 17

 

2.3. Операция "соединение" (или естественное соединение) – предполагается, что исходными являются два отношения А (А1, …, Ак, …, Ан) и В (В1, …, Вк, …, Вм).

. В каждом отношении должен быть выделен атрибут, по которому будут соединяться отношения. Ак и Вк должны быть построены на одном и том же домене. Операция соединения аналогична на операции декартово произведение, отличие состоит в том, что в декартовом произведении предполагается сцепление каждого кортежа отношения А с каждым кортежем отношения В, а операция соединения предполагает, что сцепляются те кортежи отношения А и отношения В, для которых выполняется условие Акк. При этом схема результирующего отношения включает все атрибуты отношения А и В.

Исходные отношения:

А берем из С1 без «района», т.е. А=С1 А1=Ф.И.О. В1=Ф.И.О.

 

B (отношение сберкнижки)

 

Номер сбер. Банка Ф.И.О, Тип вклада Размер вклада
Иванов И.В. Обыкновенный 2500 р.
Петров П.Е. Срочный 500 р.
Кедров К.Е, Срочный 5100 р.

 

С7 (результат операции соединение)

Номер сбер. Банка Адрес Ф.И.О, Тип вклада Размер вклада
Пушкинская,130 Иванов И.В. Обыкновенный 2500 р.
Больничная, 29 Кедров К.Е, Срочный 5100 р.

 

2.3. Операция "деление"

На входе используются два отношения А и В, где А делимое, схема его А=(А1, А2,…Ак,…,Аn.), а делитель B со схемой В=(В1,В2,…,Вк). При этом должно соблюдаться условие k<n, а атрибуты В1,В2,…,Вк построены на тех же доменах что и атрибуты А1,А2,…,Ак, т.е. В=(В1,В2,…,Вк) ®(А1,А2,…,Ак).

Результирующее отношение С8 будет определено на атрибутах отноше­ния А, которых нет в отношении В. Кортежи из исходного отношения А, оп­ределенные только на атрибутах Ак...,Ап, включаются в результирующее отношение С8, только в том случае, если его декартово произведение т.е. С8 с отношением В содержится в отношении А.

А (делимое отношение «экзаменационная ведомость»)

 

Студент Дисциплина Оценка
Терехов Математика Отлично
Терехов Ин. Язык Хорошо
Фридман Математика Хорошо
Фридман Ин. Язык Хорошо
Широков Математика Удовлетворительно
Широков Ин. Язык Хорошо

 

В (делитель- отношение результата сдачи)

Дисциплина Оценка
Математика Отлично
Ин. Язык Хорошо

 

С8 (результирующее отношение)

Студент
Терехов

 

 

Пример операции деления.

А=А(Фамилия сотрудника, отдел)

В=В(Фамилия сотрудников)

 

А (делимое)

Фамилия Отдел
Петров
Сидоров
Титов
Дидров
Муров
Кедров

 

В (делитель)

Фамилия
Петров
Сидоров
Кедров

С8(Результирующее отношение)







Последнее изменение этой страницы: 2017-02-05; Нарушение авторского права страницы

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.235.29.190 (0.006 с.)