Операции реляционной алгебры

Краткие пояснения и примеры.

Стандартные теоретико-множественные операции:

1. Объединение – слияние всех кортежей и исключение повторяющихся.

Rрез = R1 È R2

Пример:

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

R1 (КД, КМ, НЛ, НР)

Д1 М1 02 10

Д2 М2 04 12

Д2 М3 04 13

Д3 М1 06 12

Д3 М2 08 15

Степень отношения – количество атрибутов = 4

Мощность отношения – количество кортежей = 5

R2 (КД¢, КМ¢, НЛ¢, НР¢)

Д1 М3 08 15

Д2 М2 04 12

Д3 М1 06 12

Степень отношения = 4

Мощность отношения = 3

Пояснения:

a) Необходимо выполнить слияние всех кортежей первого и второго отношений.

b) Для получения конечного результата нужно исключить совпадающие кортежи.

Результирующее отношение:

Rрез (КД, КМ, НЛ, НР)

Д1 М1 02 10

Д2 М2 04 12

Д3 М1 06 12

Д3 М2 08 15

Д1 М3 08 15

Степень отношения = 4

Мощность отношения = 5

2. Пересечение – выделение совпадающих кортежей.

Rрез = R1 Ç R2

Пример:

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

R1 (КД, ТВ, КМ, НР)

Д1 300 М1 15

Д2 350 М1 10

Д3 500 М2 12

Д3 400 М3 15

Д4 350 М3 11

Д5 300 М4 8

Степень отношения – количество атрибутов = 4

Мощность отношения – количество кортежей = 6

R2 (КД¢, ТВ¢, КМ¢, НР¢)

Д3 400 М3 15

Д4 350 М3 11

Д5 300 М4 8

Степень отношения = 4

Мощность отношения = 3

Пояснения: Необходимо выделить все совпадающие кортежи первого и второго отношений.

Результирующее отношение:

Rрез (КД¢, ТВ¢, КМ¢, НР¢)

Д3 400 М3 15

Д4 350 М3 11

Д5 300 М4 8

Степень отношения = 4

Мощность отношения = 3

3. Разность – выделение уникальных, для определенного отношения, и исключение совпадающих кортежей.

Rрез = R1 \ R2

Пример:

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

R1 (КД, КМ, МП, ИПр)

Д1 М 1296 27

Д2 М 1296 27

Д3 Ф 1344 28

Д3 Я 1392 29

Д4 А 1488 31

Д5 С 1584 33

Степень отношения – количество атрибутов = 4

Мощность отношения – количество кортежей = 6

R2 (КД¢, КМ¢, МП¢, ИПр¢)

Д1 М 1296 27

Д2 М 1296 27

Д3 Я 1392 29

Степень отношения = 4

Мощность отношения = 3

Пояснения:

a) Необходимо выделить уникальные кортежи первого отношения.

b) Для получения конечного результата нужно исключить совпадающие кортежи.

Результирующее отношение:

Rрез (КД, КМ, МП, ИПр)

Д3 Ф 1344 28

Д4 А 1488 31

Д5 С 1584 33

Степень отношения = 4

Мощность отношения = 3

4. Декартово произведение – конкатенация (приписывание) кортежей (строк) отношений, причем каждая строка конкатенирует с каждой.

Rрез = R1 ´ R2

Пример:

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

R1 (КД, КМ, НР)

Д1 М2 10

Д1 М3 11

Д2 М5 12

Д3 М8 14

Д4 М3 10

Д4 М2 15

Степень отношения – количество атрибутов = 3

Мощность отношения – количество кортежей = 6

R2 (НЛ, ИВ)

02 300

04 350

06 400

Степень отношения = 2

Мощность отношения = 3

Пояснения: Для получения конечного результата нужно к кортежам первого отношения приписать кортежи второго отношения, то есть, например, взять строку первого отношения и перемножить с кортежами второго отношения. И проделать это со всеми строками первого отношения.

Результирующее отношение:

Rрез (КД, КМ, НР, НЛ, ИВ)

Д1 М2 10 02 300

Д1 М2 10 04 350

Д1 М2 10 06 400

Д1 М3 11 02 300

Д1 М3 11 04 350

Д1 М3 11 06 400

Д2 М5 12 02 300

Д2 М5 12 04 350

Д2 М5 12 06 400

Д3 М8 14 02 300

Д3 М8 14 04 350

Д3 М8 14 06 400

Д4 М3 10 02 300

Д4 М3 10 04 350

Д4 М3 10 06 400

Д4 М2 15 02 300

Д4 М2 15 04 350

Д4 М2 15 06 400

Степень отношения = 5

Мощность отношения = 18

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

1. Проекция – выполнение среза отношения и исключение повторяющихся элементов.

Rрез (А) = R1[A]

Пример:

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

R1 (КД, КМ, НЛ, НР)

Д1 М1 02 8

Д2 М2 02 15

Д4 М4 02 15

Д5 М6 04 10

Д7 М6 06 8

Степень отношения – количество атрибутов = 4

Мощность отношения – количество кортежей = 5

Пояснения:

a) Необходимо выполнить Rрез (КМ) = R1[КМ], то есть выделение нужного столбца.

Результирующее отношение:

Rрез¢ (КМ)

М1

М2

М4

М6

М6

b) Для получения конечного результата нужно исключить совпадающие элементы.

Rрез¢ (КМ)

М1

М2

М4

М6

Степень отношения = 1

Мощность отношения = 4

2. Ограничение – выделение нужных кортежей отношения, которые удовлетворяют заданным условиям.

Rрез (А1, …, Аn) = R1[(A1q1²Константа²) & … & (АiqmAk)]

Пример:

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

R1 (КД, ТВ, КМ, НР)

Д1 400 М1 10

Д2 300 М3 14

Д2 350 М2 8

Д4 300 М1 9

Д5 350 М4 10

Д6 300 М4 15

Д7 300 М6 12

Степень отношения – количество атрибутов = 4

Мощность отношения – количество кортежей = 7

Пояснения:

Чтобы получить результирующее отношение необходимо выделить в отношении R1, кортежи удовлетворяющие следующим условия – ТВ = ²300² и НР ³ ²12², то есть

Rрез = R1[(ТВ = ²300²) & (НР ³ ²12²)]

Результирующее отношение:

Rрез (КД, ТВ, КМ, НР)

Д2 300 М3 14

Д6 300 М4 15

Д7 300 М6 12

Степень отношения – количество атрибутов = 4

Мощность отношения – количество кортежей = 3

3. Соединение – конкатенация по условию – конкатенация (соединение) выборок двух отношений, при условии, что булевское выражение, в каждый тем которого входят атрибуты обоих отношений – истинно.

Rрез (А1, …, Аn, В1, …, Bm) = R1[(булевское выражение)]R2

Пример:

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

R1 (КД, НЛ, КМ, НР)

Д1 02 М1 15

Д2 02 М1 10

Д3 02 М2 15

Д4 06 М4 8

Д4 04 М6 12

Д5 04 М3 11

Степень отношения – количество атрибутов = 4

Мощность отношения – количество кортежей = 6

R2 (НЛ¢, ИВ)

02 300

04 350

06 400

Степень отношения = 2

Мощность отношения = 3

Пояснения: Необходимо выполнить соединение строк, где булевское выражение – истинно, то есть Rрез (КД, НЛ, КМ, НР, НЛ¢, ИВ) = R1[(НЛ = НЛ¢)]R2

Результирующее отношение:

Rрез (КД, НЛ, КМ, НР, ИВ)

Д1 02 М1 15 300

Д2 02 М1 10 300

Д3 02 М2 15 300

Д4 04 М6 12 350

Д5 04 М3 11 350

Д4 06 М4 8 400

Степень отношения = 5

Мощность отношения = 6

4. Деление – операция, состоящая из операций: проекции, декартова произведения и разности отношений.

Рекомендация: для того, чтобы составить задание для самоконтроля студентов, необходимо предварительно подобрать такие исходные отношения, при которых в результате деления получается какое-нибудь решение. Вероятен такой подбор исходных отношений, в итоге деления которого, студенты не получат никакого решения.

Пример:

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

R1 (КД, НЛ)

Д1 06

Д2 02

Д3 02

Д3 06

Д4 12

Д1 08

Д7 04

Д2 12

Д1 12

Степень отношения = 2

Мощность отношения = 9

R2 (НЛ¢)

Степень отношения = 1

Мощность отношения = 3

4.1. Проекция на атрибут – КД:

R1пром (КД) = R1[КД]

a) выделение необходимого столбца

R1пром (КД)

Д1

Д2

Д3

Д3

Д4

Д1

Д7

Д2

Д1

b) исключение повторяющихся элементов

R1пром (КД)

Д1

Д2

Д3

Д4

Д7

Степень отношения = 1

Мощность отношения = 5

4.2. Декартово произведение двух отношений

R2пром = R1пром ´ R2

Пояснения: Для получения конечного результата нужно к кортежам первого отношения приписать кортежи второго отношения, то есть, например, взять строку второго отношения и перемножить с кортежами первого отношения. И проделать это со всеми строками второго отношения.

R2пром (КД, НЛ)

Д1 06

Д2 06

Д3 06

Д4 06

Д7 06

Д1 08

Д2 08

Д3 08

Д4 08

Д7 08

Д1 12

Д2 12

Д3 12

Д4 12

Д7 12

Степень отношения = 2

Мощность отношения = 15

4.3. Разность двух отношений

R3пром = R2пром \ R1

R3пром (КД, НЛ)

Д2 06

Д4 06

Д7 06

Д2 08

Д3 08

Д4 08

Д7 08

Д3 12

Д7 12

Степень отношения = 2

Мощность отношения = 9

4.4. Проекция на атрибут – КД:

R4пром (КД) = R3пром [КД]

a) выделение необходимого столбца

R4пром (КД)

Д2

Д4

Д7

Д2

Д3

Д4

Д7

Д3

Д7

b) исключение повторяющихся элементов

R1пром (КД)

Д2

Д3

Д4

Д7

Степень отношения = 1

Мощность отношения = 4

4.5. Разность двух отношений

Rрез = R1пром \ R4пром

Rрез (КД)

Д1

Степень отношения = 1

Мощность отношения = 1



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: