Скачиваний:
69
Добавлен:
15.06.2014
Размер:
4.11 Mб
Скачать

15. Реляционная алгебра. Специальные операции.

Выборка, проекция – унарное;

Соединение – бинарное;

Выборка (горизонтальн. подмножество)

Проекция (вертикал. подмножество).

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

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

В проекции структура полученного отношения другая (относительно выборки).

Соединение – бинарная операция – соединение двух отношений осуществляется по значению специфицированного атрибута (в одной и второй таблицах значение атрибута совпадает).

Слияние по значению ФИО дает новое отношение, содержащее все атрибуты 1-го и 2-го отношения, а строки нового отношения получаются конкретинацией строк 1-го и 2-го отношения, у которого значение специфицированного атрибута (ФИО) совпадают. В результате получается отношение с большим числом атрибутов.

ФИО

Нац.

Вера

Сидоров

Рус

Прав.

Иванов

Бел

Кат.

Удаление одинаковых атрибутов – естественное соединение – один из двух идентичных столбцов удаляется.

ФИО

Г.Р.

М.Р.

Иванов

1990

Минск

Сидоров

1991

Москва

Результат

ФИО

Г.Р.

М.Р.

Нац

Вера

Иванов

1990

Минск

Рус

Прав

Сидоров

1991

Москва

бел

Кат

16. Реляционная алгебра как язык запросов.

Запрос – операция над БД.

Запрос в реляционной системе – операция над отношениями, не только одна из 5 основных, а и их комбинации. Чаще всего – это комбинация (цепочка операции).

Кодо показал, что этих основных операций достаточно, чтобы извлечь любую информацию из БД.

Языки запросов:

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

Основным отличием проц. и непроцед. языка: в процед. языке указывается как получить результат, в непроц (декларат), что надо получить.

QBE – он допускает формулирование запросов в виде перечня атрибутов. Атрибуты должны совпадать с теми, что есть в БД.

Студенты Экзамен. ведомость

Фио

г\р

Ф-т

спец

Фио

семестр

предмет

оценка

Преподователи

Фио

предмет

Ф-т

спец

Запрос: дать сведения о студентах, получивших неуд в 9-том семестре и фамилию преподов, поставившую эту оценку.

Результат:

ФИО студ

ФИО препод

1.Осуществить слияние отношен. «экзамен. ведомость», «студент» по атрибуту «ФИО». Результат – отношение, в котором есть все атрибуты.

R1

Фио

группа

Ф-т

спец

сем

предм

оценка

2. Осуществить операцию выборка (из R1 по значению атрибута «сем=9», «оценка=неуд»).

3. Осуществить слияние R2 с отношением «преподаватели» по значению атрибутов «факультет», «специальность». В результате к отношению R2 будут прибавлены строки, где совпадают имя, факультет, но один из двух одинаковых будет удален, аналог. «спец» R3.

Переименуем атрибут «ФИО» в «студентах» в «ФИО студ.», «ФИО» в «препод.» в «ФИО препод.».

4. Осуществить проекцию отношений R3 на атрибут «Фио студ.» и «ФИО препод.».

Удовлетворить запрос – важная задача БД. Язык данных включает и операцию по введению базы данных: вставка, удаление, обновление.