Реляционная алгебра
Реляционная алгебра - теоретический язык запросов, наглядно описывающий выполняемые над отношениями действия.
Объединение
Результат объединения включает все кортежи первого отношения (А) и недостающие кортежи из второго отношения (В) А
В
Пример объединения
R1
П#
Имя
S1
Сергей
Статус
S4
Город_П
20
Николай
Москва
20
Москва
R2
П#
Имя
S1
Статус
S2
Сергей
Город_П
20
Иван
Москва
10
Киев
R1 UNION R2
П#
Имя
S1
Сергей
Статус
S2
Город_П
20
Иван
S4
Москва
Николай
10
Киев
20
Москва
Пересечение
- Результат пересечения включает
в себя только те кортежи
первого отношения (А),
которые есть во втором (В)
Результат пересечения
R1 INTERSECT R2
П#
Имя
S1
Статус
Сергей
Город_П
20
Москва
Вычитание
А
В результате вычитания
получается отношение
с тем же заголовком, что
у исходных отношений.
Тело включает кортежи,
принадлежащие отношению А
и не принадлежащие В.
В
Результат вычитания
R1 MINUS R2
П#
Имя
S4
Николай
Статус
Город_П
20
Москва
Произведение
При выполнении прямого произведения двух отношений производится отношение, кортежи которого являются конкатенацией (сцеплением) кортежей первого и второго операндов
Произведение
R1 TIMES R2
R1
R2
Выборка
Результатом выборки является отношение с тем же заголовком, что и исходное отношение (А);
тело содержит множество
кортежей исходного
отношения (А),
для которых проверка
условия дает результат
истина.
А
Пример выборки
Библиотека
Читатель
Группа
Чернов Е.
3П1
Год поступления
Чернов Е.
3П1
Название книги
2008
Петров К.
Базы данных
3П1
Семин М.
2008
Автор
Дата выдачи
Моделирование
Паутов И.
2П2
2008
Кузин А.П.
Базы данных
07.09.
4Б1
Банди Б.
Федин Ф.
2009
3П2
Паскаль
Семин М.
08.09.
2007
Кузин А.П.
2П2
15.09.
Аудит
2008
Мишин Б. В.
Базы данных
25.10.
2009
Зайцев И. К.
22.01.
Страх над пропастью
Кузин А.П.
10.10.
Орлов А.
28.10.
Результат выборки
Читатель
Чернов Е.
Группа
3П1
Петров К.
Год поступления
Федин Ф.
Название книги
2008
3П1
Базы данных
3П2
2008
Автор
Дата выдачи
2008
Базы данных
Кузин А.П.
07.09.
Базы данных
Кузин А.П.
15.09.
Кузин А.П.
10.10.
В результате выполнения этой операции мы получим «горизонтальное» подмножество исходного отношения.
Проекция
Результатом проекции является отношение с заголовком, содержащим атрибуты, на которые выполняется проекция; тело содержит множество кортежей исходного отношения (А), исключая дубликаты
Пример проекции
Ремонт квартир
Владелец
Адрес
Носов В.М.
Ленина 63
Носов В.М.
Вид ремонта
Фирма
Ленина 63
Замена труб
Зимина Л.И.
Наш дом
Мира 5
Дата
Установка ванны
Лосев А.К.
Седова 12
Настил линолеума
Зимина Л.И.
15.01.
Наш дом
Стоимость, руб.
Мира 5
Мастер
2100
Сергеев С.С.
Замена труб
18.01.
Лосев А.К.
Кирова 16
Установка дверей
Мастер
1700
01.02.
Седова 12
Наш дом
3200
Лосев А.К.
13.02.
Настил линолеума
Мастер
Установка дверей
28.01.
Седова 12
2300
2300
Наш дом
01.02.
Установка дверей
3200
05.02.
Мастер
2300
10.02.
2200
Результат проекции
Владелец
Адрес
Носов В.М.
Ленина 63
Зимина Л.И.
Мира 5
Лосев А.К.
Седова 12
Сергеев С.С.
Кирова 16
Результатом операции ПРОЕКЦИЯ будет «вертикальное» подмножество данного отношения, т.е. подмножество, получаемое исключением всех атрибутов, не указанных в списке атрибутов, и последующим исключением дублирующих кортежей.
Деление
У операции реляционного деления два операнда - бинарное и унарное отношения. Результирующее отношение состоит из одноатрибутных кортежей, включающих значения первого атрибута кортежей первого операнда таких, что множество значений второго атрибута (при фиксированном значении первого атрибута) совпадает со множеством значений второго операнда.
Деление
Пример операции деления
Ведомость
Фамилия студента
Предмет
Малеванная
Оценка
Базы данных
Малеванная
Менеджмент
4
Шумилова
Шумилова
Менеджмент
5
Базы данных
4
5
Предмет
Оценка
Базы данных
5
Менеджмент
4
Результат
Фамилия студента
Шумилова
Соединение (естественное)
Пример соединения
Код должности
Фамилия
1
исполнителя
Туривная
2
Ермоленко
3
Лебедева
4
Прохорова
3
Баскова
1
Семенчук
Код должности
Должность
1
инженер
2
программист
3
бухгалтер
4
экономист
Результат операции соединения
Фамилия исполнителя
Код должности
Туривная
Должность
1
Ермоленко
2
Инженер
Лебедева
Прохорова
3
Программист
4
Бухгалтер
Баскова
Экономист
3
Семенчук
1
Бухгалтер
Инженер
Задание №1 Даны исходные отношения
А
Код_П
Наим_П
С1
Смит
Статус
С4
Город
20
Кларк
Лондон
20
Лондон
В
Код_П
Наим_П
С1
Статус
С2
Смит
Город
20
Джонас
Лондон
10
Париж
Найти результаты выполнения операций реляционной алгебры
а) Объединение (A UNION B)
б) Пересечение (A INSERSECT B)
в) Вычитание (A MINUS B)
A UNION B
Код_П
С1
Наим_П
Статус
С4
Смит
Город
С2
20
Кларк
Лондон
20
Джонас
Лондон
10
Париж
A INSERSECT B
Код_П
Наим_П
С1
Статус
Смит
Город
20
Лондон
A MINUS B
Код_П
Наим_П
С4
Статус
Кларк
Город
20
Лондон
Задание №2 Даны исходные отношения
ПОСТАВЩИКИ
Код_П
Наим_П
С1
Статус
Смит
С2
С3
Город
20
Джонас
С4
Блэйк
10
Лондон
Париж
30
Кларк
С5
Париж
20
Адамс
Лондон
30
Афины
ДЕТАЛИ
Код_Д
П1
Наим_Д
П2
Шуруп
Цвет
П3
Вес
Красный
Болт
П4
Гайка
Город
12
Зелёный
П5
17
Синий
Лондон
Гайка
П6
Париж
17
Красный
Шайба
Рим
14
Синий
Винт
Лондон
12
Красный
Париж
19
Лондон
Найти результаты выполнения операций
Выборка всех поставщиков, поставляющих детали красного цвета
Проекция, исключающая атрибут ВЕС из отношения ДЕТАЛИ
Код_П
С1
Наим_П
Смит
Статус
С4
Город
20
Кларк
Лондон
20
Лондон
Код_Д
Наим_Д
П1
Цвет
П2
Шуруп
П3
Город
Красный
Болт
П4
Зелёный
Гайка
Лондон
П5
Гайка
Синий
Париж
Рим
Красный
П6
Шайба
Лондон
Синий
Винт
Париж
Красный
Лондон
Выбрать детали весом меньше 14 от поставщика Смит
Код_Д
П1
Наим_Д
Цвет
Шуруп
Красный
Вес
Город
12
Лондон
Соединить отношения Поставщики и Детали
Код_П
С1
Наим_П
Смит
Статус
С1
Смит
20
Город
С4
Лондон
Кларк
С4
Код_Д
20
С1
Наим_Д
П1
Кларк
Лондон
20
Лондон
Шуруп
Смит
Цвет
П4
С4
20
20
Кларк
Вес
Лондон
Красный
С2
П1
Гайка
Шуруп
12
Лондон
Джонас
С3
20
П4
Красный
Блэйк
Лондон
10
14
Красный
С2
П6
Гайка
12
Джонас
Винт
Париж
П6
Красный
С3
30
Блэйк
Париж
10
14
Винт
П2
Красный
19
Болт
Париж
П2
30
Красный
П5
Болт
Париж
19
Зелёный
17
Шайба
Зелёный
П5
Синий
17
Шайба
12
Синий
12
Задание №4 Даны исходные отношения
ВИННЫЙ ПОГРЕБ
Наименование
Коньяк
напитка
Изготовитель
Год
Арарат
Шампанское
Абрау-Дюрсо
Шардоне
Фирма-
1992
закладки
Изабелла
Зугдиди
поставщик
Объём поставок
1990
Белая лошадь
1992
70
Молдова
(бутылки)
Айсберг
Монастырская изба
100
Бибо
1999
Монастырская изба
Стара-Загора
30
Весна
Мурфатлар
Абрау-Дюрсо
1990
25
Шампанское
Стара-Загора
Осенний сад
1999
Кагор
1992
Осенний сад
Молдова
45
Водка
Молдова
50
1999
Весна
Виски
Осенний сад
1990
20
Кристалл
Кристалл
10
Дружба
2000
Белая лошадь
1998
15
40
Дружба
20
ФИРМЫ
Фирма-
поставщик
Город
Белая лошадь
Форма собственности
Айсберг
Москва
Оборотный капитал
Воркута
Бибо
ООО
(т.р. в год)
14
Воронеж
Весна
ОАО
12
ЗАО
Калуга
Осенний сад
Дружба
6
ООО
Москва
Воронеж
ОАО
4
10
ООО
8
Выполнить проекцию, исключающую атрибут
ОБОРОТНЫЙ КАПИТАЛ из отношения ФИРМЫ
Фирма-
Белая лошадь
поставщик
Город
Айсберг
Москва
Форма собственности
Бибо
ООО
Воркута
Весна
Воронеж
ОАО
Осенний сад
ЗАО
Калуга
ООО
Москва
Дружба
ОАО
Воронеж
ООО
Отобразить перечень всех НАПИТКОВ, поставляемых из МОСКВЫ
Наименование
Коньяк
Изготовитель
напитка
Арарат
Монастырская изба
Год
Стара-Загора
1992
закладки
Фирма-
Монастырская изба
Абрау-Дюрсо
Объём поставок
Белая лошадь
Шампанское
поставщик
1990
Молдова
1999
70
Осенний сад
(бутылки)
Водка
45
Осенний сад
1999
Кристалл
50
Осенний сад
2000
10
Белая лошадь
40
Выполнить проекцию на все ФИРМЫ-ПОСТАВЩИКИ из ВОРОНЕЖА
Фирма-
поставщик
Город
Бибо
Форма собственности
Дружба
Воронеж
Оборотный капитал
ЗАО
Воронеж
6
(т.р. в год)
ООО
8
10 т.р. Выполнить проекцию на все НАПИТКИ, изготовленные раньше 1992 года и наименование которых начинается с буквы «К» Отобразить все напитки, поставляемые фирмами с ФОРМОЙ СОБСТВЕННОСТИ «ОАО» " width="640"
САМОСТОЯТЕЛЬНО:
Отобразить все напитки изготовителя АБРАУ-ДЮРСО, поставляемые фирмами,
ОБОРОТНЫЙ КАПИТАЛ которых 10 т.р.
Выполнить проекцию на все НАПИТКИ, изготовленные раньше 1992 года и наименование которых начинается с буквы «К»
Отобразить все напитки, поставляемые фирмами с ФОРМОЙ СОБСТВЕННОСТИ «ОАО»