158.40K
Category: databasedatabase

Реляционная алгебра

1.

2.

Введение
Поскольку каждая таблица в реляционной БД является отношением,
действия над таблицами базируются на операциях реляционной алгебры
В теории реляционной алгебры отношение рассматривается как
множество, строки таблицы называются кортежами, столбцы —
атрибутами
Над отношениями можно выполнять традиционные отношения теории
множеств:
• Ограничение отношения
• Проекция отношения
• Объединение отношений
• Пересечение отношений
• Разность отношений
• Произведение отношений
• Соединение отношений

3.

Введение
Реляционная алгебра — формальная система
отношениями в реляционной модели данных.
манипулирования
Операция выборки на языке SQL реализуется оператором Select
следующего вида:
Select все атрибуты
From имя отношения
Where условие выборки;

4.

Ограничение отношения
• Ограничение отношения (выборка) — создает новое отношение,
отбирая в него строки, которые удовлетворяют условию ограничения.
FIO
Иванов И.И.
Сидоров С.С.
Гиацинтова Г.Г.
Цветкова С.С.
Козлов К.К.
Петров П.П.
Лютикова Л.Л.
Петров П.П.
Year
1948
1953
1945
1960
1959
1960
1977
Job
Зав. Каф.
Проф.
Проф.
Доцент
Доцент
Ст. преп.
Ассистент
1960
Chair
22
22
22
23
23
24
24
Ст. преп.
FIO
Иванов И.И.
Сидоров С.С.
Гиацинтова Г.Г.
Year
1948
1953
1945
Job
Зав. Каф.
Проф.
Проф.
Chair = 22
24
(Chair = 24) AND
(Year < 1970)
SELECT * FROM Сотрудники WHERE = Year < 1970
Chair
22
22
22

5.

Проекция отношения
• Проекция отношения — создает новое отношение, отбирая в него
определенные столбцы отношения-операнда.
FIO
Иванов И.И.
Сидоров С.С.
Гиацинтова Г.Г.
Цветкова С.С.
Козлов К.К.
Петров П.П.
Лютикова Л.Л.
Year
1948
1953
1945
1960
1959
1960
1977
Job
Зав. Каф.
Проф.
Проф.
Доцент
Доцент
Ст. преп.
Ассистент
Chair
22
22
22
23
23
24
24
FIO
Иванов И.И.
Сидоров С.С.
Гиацинтова Г.Г.
Цветкова С.С.
Козлов К.К.
Петров П.П.
Лютикова Л.Л.
SELECT DISTINCT FIO, Job from Сотрудники
Job
Зав. Каф.
Проф.
Проф.
Доцент
Доцент
Ст. преп.
Ассистент

6.

Объединение отношений
• Объединение отношений — создает новое отношение, содержащее
все кортежи отношений операндов. Операнды должны иметь
одинаковые атрибуты.
FIO
Иванов И.И.
Сидоров С.С.
Гиацинтова Г.Г.
Цветкова С.С.
Year
1948
1953
1945
1960
Job
Зав. Каф.
Проф.
Проф.
Доцент
Chair
22
22
22
23
FIO
Козлов К.К.
Петров П.П.
Лютикова Л.Л.
Year
Job
Chair
1959 Доцент
23
1960 Ст. преп. 24
1977 Ассистент 24
FIO
Иванов И.И.
Сидоров С.С.
Гиацинтова Г.Г.
Цветкова С.С.
Козлов К.К.
Петров П.П.
Лютикова Л.Л.
SELECT FIO, Year, Job, Chair from Сотрудники1
UNION
SELECT FIO, Year, Job, Chair from Сотрудники2
Year
1948
1953
1945
1960
1959
1960
1977
Job
Зав. Каф.
Проф.
Проф.
Доцент
Доцент
Ст. преп.
Ассистент
Chair
22
22
22
23
23
24
24

7.

Пересечение отношений
• Пересечение отношений — создает новое отношение, содержащее
строки, общие для сравниваемых операндов. Операнды должны
иметь одинаковые атрибуты.
FIO
Иванов И.И.
Сидоров С.С.
Гиацинтова Г.Г.
Цветкова С.С.
Козлов К.К.
Year
1948
1953
1945
1960
1959
Job
Зав. Каф.
Проф.
Проф.
Доцент
Доцент
Chair
22
22
22
23
23
FIO
Цветкова С.С.
Козлов К.К.
Петров П.П.
Лютикова Л.Л.
Year
1960
1959
1960
1977
Job
Доцент
Доцент
Ст. преп.
Ассистент
Chair
23
23
24
24
FIO
Цветкова С.С.
Козлов К.К.
Year
Job
1960 Доцент
1959 Доцент
SELECT FIO, Year, Job, Chair from Сотрудники1
INTERSECT
SELECT FIO, Year, Job, Chair from Сотрудники2
Chair
23
23

8.

Разность отношений
• Разность отношений – создает новое отношение, содержащие строки
первого операнда или таблицы отсутствующее во втором
FIO
Иванов И.И.
Сидоров С.С.
Гиацинтова Г.Г.
Цветкова С.С.
Козлов К.К.
Year
1948
1953
1945
1960
1959
Job
Зав. Каф.
Проф.
Проф.
Доцент
Доцент
Chair
22
22
22
23
23
FIO
Цветкова С.С.
Козлов К.К.
Петров П.П.
Лютикова Л.Л.
Year
1960
1959
1960
1977
Job
Доцент
Доцент
Ст. преп.
Ассистент
Chair
23
23
24
24
FIO
Иванов И.И.
Сидоров С.С.
Гиацинтова Г.Г.
Year
Job
Chair
1948 Зав. Каф. 22
1953 Проф.
22
1945 Проф.
22
SELECT FIO, Year, Job, Chair from Сотрудники1
EXCEPT
SELECT FIO, Year, Job, Chair from Сотрудники2

9.

Произведение отношений
• Произведение отношений создание нового отношения, в котором имеются все атрибуты 1-го и 2го операндов, а строки получены по парным сцеплением строк их
отношений.
Job
Зав. каф.
Проф
Ст. преп.
Доцент
Ассистент
Chair
22
23
SELECT * from Job,Chair
Job
Зав. каф.
Зав. каф.
Проф
Проф
Ст. преп.
Ст. преп.
Доцент
Доцент
Ассистент
Ассистент
Chair
22
23
22
23
22
23
22
23
22
23

10.

Деление отношений
• Результатом операции деления () является набор кортежей (строк)
отношения R1, которые соответствуют комбинации всех кортежей
отношения R2. Для этого нужно, чтобы в отношении R2 была часть
атрибутов (можно и один), которые есть в отношении R1. В
результирующем отношении присутствуют только те атрибуты
отношения R1, которых нет в отношении R2.
FIO
Иванов И.И.
Сидоров С.С.
Гиацинтова Г.Г.
Цветкова С.С.
Козлов К.К.
Year
1948
1953
1945
1960
1959
Job
Зав. Каф.
Проф.
Проф.
Доцент
Доцент
Chair
22
22
22
23
23
FIO
Сидоров С.С.
Гиацинтова Г.Г.
Year
1953
1945
SELECT DISTINCT Job,Chair from Сотрудники1
WHERE
NOT EXIST (SELECT * from Сотрудники2 WHERE
NOT EXIST
Сотрудники2.FIO = Сотрудники1.FIO AND
Сотрудники2.Year = Сотрудники1.Year )
Job
Проф.
Chair
22

11.

Соединение отношений
• Соединение отношений — создает новое отношение, кортеж которого
является результатом сцепления кортежей операндов (исходных
отношений). Соединение имеет две разновидности: естественное
соединение и соединение по условию.
FIO
Иванов И.И.
Сидоров С.С.
Гиацинтова Г.Г.
Цветкова С.С.
Козлов К.К.
Петров П.П.
Лютикова Л.Л.
Year
1948
1953
1945
1960
1959
1960
1977
Job
Зав. Каф.
Проф.
Проф.
Доцент
Доцент
Ст. преп.
Ассистент
Chair
22
22
22
23
23
24
24
Job
Pay
Зав. Каф.
3000
Проф.
2500
Доцент
2000
Ст. преп.
1500
Ассистент 1200
FIO
Year
Job
Chair
Pay
Иванов И.И.
1948 Зав. Каф. 22
3000
Сидоров С.С.
1953 Проф.
22
2500
Гиацинтова Г.Г.
1945 Проф.
22
2500
Цветкова С.С.
1960 Доцент
23
2000
Козлов К.К.
1959 Доцент
23
2000
Петров П.П.
1960 Ст. преп. 24
1500
Лютикова Л.Л.
1977 Ассистент 24
1200
SELECT * from Сотрудники1, Сотрудники2 WHERE Job>=Job
English     Русский Rules